Manipulation et traitement de données massives

Preview:

DESCRIPTION

Manipulation et traitement de données massives. Scripts et Pertinence des données. Raymond Ripp. Traiter beaucoup de données. 30000 protéines pour Homo sapiens Ce n’est pas faisable manuellement trop long, trop compliqué risque d’erreurs (par ex. coupé-collé) Automatiser - PowerPoint PPT Presentation

Citation preview

Manipulation et traitement Manipulation et traitement de données massivesde données massives

Scripts et Scripts et

Pertinence des donnéesPertinence des données

Raymond Ripp

Traiter beaucoup de donnéesTraiter beaucoup de données

30000 protéines pour 30000 protéines pour Homo sapiensHomo sapiens Ce n’est pas faisable manuellementCe n’est pas faisable manuellement

– trop long, trop compliquétrop long, trop compliqué– risque d’erreurs (par ex. risque d’erreurs (par ex. coupé-collé)coupé-collé)

AutomatiserAutomatiser– Trouver l’outil idéal …Trouver l’outil idéal …– Utiliser les outils existantsUtiliser les outils existants– Tout faire soi-mêmeTout faire soi-même

L’outil interactif L’outil interactif

Malheureusement beaucoup d’outils Malheureusement beaucoup d’outils nene sont utilisables sont utilisables ququ’à travers une interface ’à travers une interface graphiquegraphique– par ex. Seqlab de GCG par ex. Seqlab de GCG – sites websites web

Pourquoi ?Pourquoi ?– convivialconvivial– actions prédéfiniesactions prédéfinies– interrogationinterrogation– … … évite la fuite des données des sites webévite la fuite des données des sites web

Gérer soi-même les donnéesGérer soi-même les données

Les trouverLes trouver Les rapatrierLes rapatrier

– en blocen bloc– à la voléeà la volée

Les traiterLes traiter Les stockerLes stocker Les rendre disponiblesLes rendre disponibles … … faire un site web.faire un site web.

1/ Accéder aux données1/ Accéder aux données

Accéder aux données :Accéder aux données :Bases de données Bases de données vs vs Données « à plat »Données « à plat »

Une base de données « bien faite » permet Une base de données « bien faite » permet un accès direct aux données un accès direct aux données – niveau de précision (par ex pour une protéine)niveau de précision (par ex pour une protéine)

Texte en vrac de la séquence et des infos concernant Texte en vrac de la séquence et des infos concernant fonction, organisme, biblio, etc.fonction, organisme, biblio, etc.

SequenceAA , TaxId, InterProSequenceAA , TaxId, InterPro

– Relations avec d’autres informationRelations avec d’autres information Localisation génomique, expressionLocalisation génomique, expression

– Facilité d’accèsFacilité d’accès Interactif, requête SQLInteractif, requête SQL

Les formats des données « à plat »Les formats des données « à plat »

(hors « base de données »)(hors « base de données ») Les données sont dans des Les données sont dans des fichiersfichiers rangés dans rangés dans

une une arborescencearborescence Généralement un Généralement un format de fichierformat de fichier « binaire » « binaire »

est associé à une applicationest associé à une application– WordWord .doc,.doc, ExcellExcell .xls.xls, etc., etc.– Images Images .jpg.jpg, , .tif.tif, Sons , Sons .mp3.mp3, Vidéos , Vidéos

Sinon c’est du Sinon c’est du TexteTexte (Ascii) (Ascii)– lisible par l’humain et la machinelisible par l’humain et la machine– simple maissimple mais

pas agréable pour l’oeilpas agréable pour l’oeil pas rapide ni précis pas rapide ni précis

Web .Web .htmlhtml, , .xml.xml– Xml fédère tout le monde …Xml fédère tout le monde …

Comment lire un fichier ExcellComment lire un fichier Excell

Universel ?Universel ?

Peu de programme donne ainsi un moyen Peu de programme donne ainsi un moyen d’accès « simple » aux données qu’ils d’accès « simple » aux données qu’ils produisent …produisent …

Le programme est obligatoireLe programme est obligatoire Pourquoi ne pas lire le binaire ?Pourquoi ne pas lire le binaire ?

– Très difficile quand on ne sait pas comment il Très difficile quand on ne sait pas comment il est organiséest organisé

– Essai erreur … Essai erreur … Ouvert … OpenOuvert … Open

– Si les spécifications existent le binaire est aussi Si les spécifications existent le binaire est aussi lisiblelisible

Les formats standard en bioinfo Les formats standard en bioinfo

PublicPublic UniversitaireUniversitaire MondialMondial HistoriqueHistorique CompatibleCompatible EvolutionEvolution … … AvenirAvenir

Format Fasta d’une séquenceFormat Fasta d’une séquence

>PGS110 AaEcR-A Aedes aegypti Ecdysone receptor isoforme-A>PGS110 AaEcR-A Aedes aegypti Ecdysone receptor isoforme-AMYRLNIVSTNPSGSVQQQQQAQGQQVISSVVRPQQQQPPPQLALVQTGGSMYRLNIVSTNPSGSVQQQQQAQGQQVISSVVRPQQQQPPPQLALVQTGGSGGTTTTIIGLTSLNALNATTITGLVAGAAGSSTSAIAAAGASNSGSGPSTGGTTTTIIGLTSLNALNATTITGLVAGAAGSSTSAIAAAGASNSGSGPSTATTKHILKAATTNNNISIVKIVDDIMLKAVKVEPLPMDTGGGGGGVSMIPATTKHILKAATTNNNISIVKIVDDIMLKAVKVEPLPMDTGGGGGGVSMIPSSATTSGGVTVTAIPASVAPMPPVAAGTNVSSNGSVTVYASGKRRLESNESSATTSGGVTVTAIPASVAPMPPVAAGTNVSSNGSVTVYASGKRRLESNEEWISSPSPGSVPGSAPPLSPSPGSQSTTYTTTMSNGYSSPMSTGSYDPYSEWISSPSPGSVPGSAPPLSPSPGSQSTTYTTTMSNGYSSPMSTGSYDPYSPNGKMGREDLSPSSSLNGYTDGSDAKKQKKGPTPRQQEELCLVCGDRESGPNGKMGREDLSPSSSLNGYTDGSDAKKQKKGPTPRQQEELCLVCGDRESGYHYNALTCEGCKGFFRRSVTKNAVYCCKFGHACEMDMYMRRKCQECRLKKYHYNALTCEGCKGFFRRSVTKNAVYCCKFGHACEMDMYMRRKCQECRLKKCLAVGMRPECVVPENQCAIKRKEKKAQKEKDKVQTNATVSTTNSTYRSEICLAVGMRPECVVPENQCAIKRKEKKAQKEKDKVQTNATVSTTNSTYRSEILPILMKCDPPPHQAIPLLPEKLLQENRLRNIPLLTANQMAVIYKLIWYQDLPILMKCDPPPHQAIPLLPEKLLQENRLRNIPLLTANQMAVIYKLIWYQDGYEQPSEEDLKRIMIGSPNEEEDQHDVHFRHITEITILTVQLIVEFAKGLGYEQPSEEDLKRIMIGSPNEEEDQHDVHFRHITEITILTVQLIVEFAKGLPAFTKIPQEDQITLLKACSSEVMMLRMARRYDAATDSILFANNRSYTRDSPAFTKIPQEDQITLLKACSSEVMMLRMARRYDAATDSILFANNRSYTRDSYRMAGMADTIEDLLHFCRQMFSLTVDNVEYALLTAIVIFSDRPGLEQAELYRMAGMADTIEDLLHFCRQMFSLTVDNVEYALLTAIVIFSDRPGLEQAELVEHIQSYYIDTLRIYILNRHAGDPKCSVIFAKLLSILTELRTLGNQNSEMVEHIQSYYIDTLRIYILNRHAGDPKCSVIFAKLLSILTELRTLGNQNSEMCFSLKLKNRKLPRFLEEIWDVQDIPPSMQAQMHSHGTQSSSSSSSSSSSSCFSLKLKNRKLPRFLEEIWDVQDIPPSMQAQMHSHGTQSSSSSSSSSSSSSNGSSNGNSSSNSNSSQHGPHPHPHGQQLTPNQQQHQQQHSQLQQVHANGSNGSSNGNSSSNSNSSQHGPHPHPHGQQLTPNQQQHQQQHSQLQQVHANGSGSGGGSNNNSSSGGVVPGLGMLDQVLVSGSGGGSNNNSSSGGVVPGLGMLDQVLV

Format Embl d’une séquenceFormat Embl d’une séquence

ID Q7UB09 PRELIMINARY; PRT; 391 AA.ID Q7UB09 PRELIMINARY; PRT; 391 AA.AC Q7UB09;AC Q7UB09;DT 01-OCT-2003 (TrEMBLrel. 25, Created)DT 01-OCT-2003 (TrEMBLrel. 25, Created)DT DT 01-MAR-2004 (TrEMBLrel. 26, Last annotation update)DT DT 01-MAR-2004 (TrEMBLrel. 26, Last annotation update)DE Putative xylanase.DE Putative xylanase.GN YIEL OR S4034.GN YIEL OR S4034.OS Shigella flexneri.OS Shigella flexneri.OC Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;OC Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;OC Enterobacteriaceae; Shigella.OC Enterobacteriaceae; Shigella.OX NCBI_TaxID=623;OX NCBI_TaxID=623;DR EMBL; AE016991; AAP19014.1; -.DR EMBL; AE016991; AAP19014.1; -.DR GO; GO:0005975; P:carbohydrate metabolism; IEA.DR GO; GO:0005975; P:carbohydrate metabolism; IEA.DR InterPro; IPR000379; Ser_estrs.DR InterPro; IPR000379; Ser_estrs.DR Pfam; PF02922; Isoamylase_N; 1.DR Pfam; PF02922; Isoamylase_N; 1.KW Glycosidase; Hydrolase; Xylan degradation.KW Glycosidase; Hydrolase; Xylan degradation.SQ SEQUENCE 391 AA; 43049 MW; 0C6006A9977CFBC0 CRC64;SQ SEQUENCE 391 AA; 43049 MW; 0C6006A9977CFBC0 CRC64; MNIKIAALTL AIASGISAQW AIAADMPASP APTIPVKQYV TQVNADNSVT FRYFAPGAKNMNIKIAALTL AIASGISAQW AIAADMPASP APTIPVKQYV TQVNADNSVT FRYFAPGAKN VSVVVGVPVP DNIHPMTKDE AGVWSWRTPI LKGNLYEYFF NVDGVRSIDT GTAMTKPQRQVSVVVGVPVP DNIHPMTKDE AGVWSWRTPI LKGNLYEYFF NVDGVRSIDT GTAMTKPQRQ TFSGVTTTTV PDEGVAARLN DPAAINQQLR NFTVVVGDKD VVTGKDIAGL KTELEQKKIKTFSGVTTTTV PDEGVAARLN DPAAINQQLR NFTVVVGDKD VVTGKDIAGL KTELEQKKIK FDYQEYPGLN HEMDVWRPAY AAFVQKFKIR HFDYQEYPGLN HEMDVWRPAY AAFVQKFKIR H

Format Genbank Format Genbank 1/21/2

LOCUS NC_003071 19643621 bp DNA PLN 13-AUG-2001LOCUS NC_003071 19643621 bp DNA PLN 13-AUG-2001DEFINITION Arabidopsis thaliana chromosome 2, complete sequence.DEFINITION Arabidopsis thaliana chromosome 2, complete sequence.ACCESSION NC_003071ACCESSION NC_003071SOURCE thale cress.SOURCE thale cress. ORGANISM Arabidopsis thalianaORGANISM Arabidopsis thaliana Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta;Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta;FEATURES Location/QualifiersFEATURES Location/Qualifiers source 1..19643621source 1..19643621 /organism="Arabidopsis thaliana"/organism="Arabidopsis thaliana" /cultivar="Columbia"/cultivar="Columbia" /db_xref="taxon:3702"/db_xref="taxon:3702" /chromosome="2"/chromosome="2" gene complement(64436..66139)gene complement(64436..66139) /gene="At2g01040"/gene="At2g01040" /note="F23H14.1; pseudogene, disease resistance protein"/note="F23H14.1; pseudogene, disease resistance protein" /pseudo/pseudo mRNA complement(<67337..>68884)mRNA complement(<67337..>68884) gene complement(67337..68884)gene complement(67337..68884) /gene="At2g01050"/gene="At2g01050" /note="F23H14.2; predicted by genscan"/note="F23H14.2; predicted by genscan" CDS complement(67337..68884)CDS complement(67337..68884) /gene="At2g01050"/gene="At2g01050"

Format Genbank Format Genbank 2/22/2

mRNA complement(join(<72279..72950,73073..73142,73240..73297,mRNA complement(join(<72279..72950,73073..73142,73240..73297, 73383..73425,73509..73585,73785..73907,74190..74340))73383..73425,73509..73585,73785..73907,74190..74340)) /gene="At2g01060"/gene="At2g01060"

gene complement(67337..68884)gene complement(67337..68884) /gene="At2g01050"/gene="At2g01050" /note="F23H14.2; predicted by genscan"/note="F23H14.2; predicted by genscan" CDS complement(67337..68884)CDS complement(67337..68884) /gene="At2g01050"/gene="At2g01050" /codon_start=1/codon_start=1 /product="hypothetical protein"/product="hypothetical protein" /db_xref="GeneID:At2g01050"/db_xref="GeneID:At2g01050" /protein_id="NP_178215.1"/protein_id="NP_178215.1" /db_xref="GI:15226168"/db_xref="GI:15226168" /translation="MLDVGEKGRPPGDPPDKLESWATKVKGSAGGGILKPEDVIDDEF/translation="MLDVGEKGRPPGDPPDKLESWATKVKGSAGGGILKPEDVIDDEF VRERVGLEFPDGEDEEPVITIGEEVLEAMNGLWKKCMIVKVLGSQIPISVLNRKLRELVRERVGLEFPDGEDEEPVITIGEEVLEAMNGLWKKCMIVKVLGSQIPISVLNRKLREL WKPSGVMTVMDLPRQFFMIRFELEEEYMAALTGGPWRVLGNYLLVQDWSSRFDPLRDDWKPSGVMTVMDLPRQFFMIRFELEEEYMAALTGGPWRVLGNYLLVQDWSSRFDPLRDD IVTTPVWVRLSNIPYNYYHRCLLMEIARGLGRPLKVDMNTINFDKGRFARVCIEVNLAIVTTPVWVRLSNIPYNYYHRCLLMEIARGLGRPLKVDMNTINFDKGRFARVCIEVNLA KPLKGTVLINGDRYFVAYEGLSKICSSCGIYGHLVHSCPRNVVVKVSAGAETVTDRAVKPLKGTVLINGDRYFVAYEGLSKICSSCGIYGHLVHSCPRNVVVKVSAGAETVTDRAV VPVGMEGDDGFTVVQRTARRPAAPVQKMVFAVGASGGRSKQRLRELPKNQGVDLANRFVPVGMEGDDGFTVVQRTARRPAAPVQKMVFAVGASGGRSKQRLRELPKNQGVDLANRF GGLDGNGDLPDLREVAITEGPNKENEYHGRNVGKVMGVPLVKEARGSTQMEKGKGGSKGGLDGNGDLPDLREVAITEGPNKENEYHGRNVGKVMGVPLVKEARGSTQMEKGKGGSK GGFKWKRNGGMKALEPIGPKQKHGAANKPARGLIFGPTKDANSVPVGEDLLSNGKRLRGGFKWKRNGGMKALEPIGPKQKHGAANKPARGLIFGPTKDANSVPVGEDLLSNGKRLR VEQRDVGRPGGVYSSAMGSHAHEASFDLDSSSTLSQRFQREDLMSEIAVVSHEGSEVGVEQRDVGRPGGVYSSAMGSHAHEASFDLDSSSTLSQRFQREDLMSEIAVVSHEGSEVG NSSEGMA« NSSEGMA« mRNA complement(join(<72279..72950,73073..73142,73240..73297,mRNA complement(join(<72279..72950,73073..73142,73240..73297, 73383..73425,73509..73585,73785..73907,74190..74340))73383..73425,73509..73585,73785..73907,74190..74340)) /gene="At2g01060"/gene="At2g01060" gene complement(72279..74340)gene complement(72279..74340) /gene="At2g01060"/gene="At2g01060" /note="F23H14.3; similar to transfactor GB:BAA75684 from/note="F23H14.3; similar to transfactor GB:BAA75684 from (Nicotiana tabacum)"(Nicotiana tabacum)" CDS complement(join(72456..72950,73073..73142,73240..73297,CDS complement(join(72456..72950,73073..73142,73240..73297,

… … il n’y a pas que des séquencesil n’y a pas que des séquences

BlastBlast AlignementsAlignements GOGO

Références bibliographiquesRéférences bibliographiques– Data miningData mining– ……

……

Où trouver les données ?Où trouver les données ?

Dans les banques de donnéesDans les banques de données– Ramener la banque en entierRamener la banque en entier– Traiter les fichiers ainsi stockés sur le Traiter les fichiers ainsi stockés sur le

disquedisque Chercher l’info pertinente … à la Chercher l’info pertinente … à la

volée volée Faire une requête ciblée dans une Faire une requête ciblée dans une

banque de donnéesbanque de données– SRS le permet …SRS le permet …

2/ Traiter ces données2/ Traiter ces données

Qu’est qu’un script ?Qu’est qu’un script ?

C’est un programme.C’est un programme.

Qui enchaîne une suite de programmesQui enchaîne une suite de programmes– (pris dans un boîte à outils)(pris dans un boîte à outils)

Écrit dans un langage Écrit dans un langage – sh, csh, tcsh, bashsh, csh, tcsh, bash– Perl, Tcl, Python, Perl, Tcl, Python, – C, C++, VisualBasic, Fortran, JavaC, C++, VisualBasic, Fortran, Java

« Mon langage est le meilleur ! »« Mon langage est le meilleur ! »

Un Un scriptscript de de metteur en scènemetteur en scène

Qui utilise des outilsQui utilise des outils– qui préexistentqui préexistent– qui doivent être écritsqui doivent être écrits

Ce script sera lui aussi un outilCe script sera lui aussi un outil

Boîte à outilsBoîte à outilsNCBI-toolboxNCBI-toolbox

GcgGcg

EmbossEmboss

GscopeGscope

Un exemple de traitement en localUn exemple de traitement en local

sinon …sinon …

Traitement à distance sur un site web …Traitement à distance sur un site web …

On simule par programme les actions On simule par programme les actions répétitives de l’utilisateurrépétitives de l’utilisateur– Ce n’est pas toujours possibleCe n’est pas toujours possible

ce n’est pas fait pour çace n’est pas fait pour ça il faut connaître l’organisation des donnéesil faut connaître l’organisation des données

– Le format des données est souvent difficile à Le format des données est souvent difficile à exploiterexploiter

Html, Xml, imagesHtml, Xml, images

– Problèmes de connexion et de gestion des Problèmes de connexion et de gestion des décrochagesdécrochages

– Attention aux mises à jour des sitesAttention aux mises à jour des sites

Les problèmes liés au « massif »Les problèmes liés au « massif »

Long en tempsLong en temps– Plusieurs jours ou semainesPlusieurs jours ou semaines– L’intervention humaine est souvent impossibleL’intervention humaine est souvent impossible

Puissance de calcul et de stockagePuissance de calcul et de stockage Erreurs ou incohérencesErreurs ou incohérences

– Plus de traitement plus d’erreursPlus de traitement plus d’erreurs– Causes externesCauses externes

Coupures de courant, disques pleinsCoupures de courant, disques pleins Les banques changentLes banques changent Les programmes changentLes programmes changent Les questions changentLes questions changent

3/ « Publier » la valeur 3/ « Publier » la valeur ajoutéeajoutée

Rendre vos résultat Rendre vos résultat accessibles aux autresaccessibles aux autres

Comment ?Comment ?

En interne, en externeEn interne, en externe En vrac, en finesseEn vrac, en finesse Par une base de données «utilisable »Par une base de données «utilisable »

Créer un siteCréer un site– rien que pour les yeuxrien que pour les yeux– … … 

GscopeGscope

Collecte les donnéesCollecte les données Crée une base de donnéesCrée une base de données Les visualiseLes visualise Les rend accessibles Les rend accessibles

– … … à tous les niveauxà tous les niveauxen blocen blocau détailau détail

150 000 lignes de programme Tcl/Tk150 000 lignes de programme Tcl/Tk

4/ À vos claviers ! 4/ À vos claviers !

Merci Merci

Recommended