manipulation et traitement de données massives scripts et pertinence des données raymond ripp
Post on 03-Apr-2015
110 Views
Preview:
TRANSCRIPT
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
top related