32
Manipulation et Manipulation et traitement de traitement de données massives données massives Scripts et Scripts et Pertinence des données Pertinence des données Raymond Ripp

Manipulation et traitement de données massives

Embed Size (px)

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

Page 1: Manipulation et traitement de données massives

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

Page 2: Manipulation et traitement de données massives

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

Page 3: Manipulation et traitement de données massives

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

Page 4: Manipulation et traitement de données massives

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.

Page 5: Manipulation et traitement de données massives

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

Page 6: Manipulation et traitement de données massives

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

Page 7: Manipulation et traitement de données massives

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 …

Page 8: Manipulation et traitement de données massives

Comment lire un fichier ExcellComment lire un fichier Excell

Page 9: Manipulation et traitement de données massives

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

Page 10: Manipulation et traitement de données massives

Les formats standard en bioinfo Les formats standard en bioinfo

PublicPublic UniversitaireUniversitaire MondialMondial HistoriqueHistorique CompatibleCompatible EvolutionEvolution … … AvenirAvenir

Page 11: Manipulation et traitement de données massives

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

Page 12: Manipulation et traitement de données massives

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

Page 13: Manipulation et traitement de données massives

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"

Page 14: Manipulation et traitement de données massives

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,

Page 15: Manipulation et traitement de données massives

… … 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– ……

……

Page 16: Manipulation et traitement de données massives

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 …

Page 17: Manipulation et traitement de données massives
Page 18: Manipulation et traitement de données massives
Page 19: Manipulation et traitement de données massives
Page 20: Manipulation et traitement de données massives
Page 21: Manipulation et traitement de données massives

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

Page 22: Manipulation et traitement de données massives

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 ! »

Page 23: Manipulation et traitement de données massives

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

Page 24: Manipulation et traitement de données massives

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

GcgGcg

EmbossEmboss

GscopeGscope

Page 25: Manipulation et traitement de données massives

Un exemple de traitement en localUn exemple de traitement en local

Page 26: Manipulation et traitement de données massives

sinon …sinon …

Page 27: Manipulation et traitement de données massives

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

Page 28: Manipulation et traitement de données massives

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

Page 29: Manipulation et traitement de données massives

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

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

Page 30: Manipulation et traitement de données massives

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– … … 

Page 31: Manipulation et traitement de données massives

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

Page 32: Manipulation et traitement de données massives

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

Merci Merci