Manipulation et traitement de données massives Scripts et Pertinence des données Raymond Ripp
Traiter beaucoup de données protéines pour Homo sapiens protéines pour Homo sapiens Ce nest pas faisable manuellement Ce nest pas faisable manuellement –trop long, trop compliqué –risque derreurs (par ex. coupé-collé) Automatiser Automatiser –Trouver loutil idéal … –Utiliser les outils existants –Tout faire soi-même
Loutil interactif Malheureusement beaucoup doutils ne sont utilisables quà travers une interface graphique Malheureusement beaucoup doutils ne sont utilisables quà travers une interface graphique –par ex. Seqlab de GCG –sites web Pourquoi ? Pourquoi ? –convivial –actions prédéfinies –interrogation –… évite la fuite des données des sites web
Gérer soi-même les données Les trouver Les trouver Les rapatrier Les rapatrier –en bloc –à la volée Les traiter Les traiter Les stocker Les stocker Les rendre disponibles Les rendre disponibles … faire un site web. … faire un site web.
1/ Accéder aux données
Accéder aux données : Bases de données vs Données « à plat » Une base de données « bien faite » permet un accès direct aux données Une base de données « bien faite » permet un accès direct aux données – niveau de précision (par ex pour une protéine) Texte en vrac de la séquence et des infos concernant fonction, organisme, biblio, etc. Texte en vrac de la séquence et des infos concernant fonction, organisme, biblio, etc. SequenceAA, TaxId, InterPro SequenceAA, TaxId, InterPro –Relations avec dautres information Localisation génomique, expression Localisation génomique, expression –Facilité daccès Interactif, requête SQL Interactif, requête SQL
Les formats des données « à plat » (hors « base de données ») Les données sont dans des fichiers rangés dans une arborescence Les données sont dans des fichiers rangés dans une arborescence Généralement un format de fichier « binaire » est associé à une application Généralement un format de fichier « binaire » est associé à une application –Word.doc, Excell.xls, etc. –Images.jpg,.tif, Sons.mp3, Vidéos Sinon cest du Texte (Ascii) Sinon cest du Texte (Ascii) –lisible par lhumain et la machine –simple mais pas agréable pour loeil pas agréable pour loeil pas rapide ni précis pas rapide ni précis Web. html,.xml Web. html,.xml –Xml fédère tout le monde …
Comment lire un fichier Excell
Universel ? Peu de programme donne ainsi un moyen daccès « simple » aux données quils produisent … Peu de programme donne ainsi un moyen daccès « simple » aux données quils produisent … Le programme est obligatoire Le 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 est organisé –Essai erreur … Ouvert … Open Ouvert … Open –Si les spécifications existent le binaire est aussi lisible
Les formats standard en bioinfo Public Public Universitaire Universitaire Mondial Mondial Historique Historique Compatible Compatible Evolution Evolution … Avenir … Avenir
Format Fasta dune séquence >PGS110 AaEcR-A Aedes aegypti Ecdysone receptor isoforme-A MYRLNIVSTNPSGSVQQQQQAQGQQVISSVVRPQQQQPPPQLALVQTGGSGGTTTTIIGLTSLNALNATTITGLVAGAAGSSTSAIAAAGASNSGSGPSTATTKHILKAATTNNNISIVKIVDDIMLKAVKVEPLPMDTGGGGGGVSMIPSSATTSGGVTVTAIPASVAPMPPVAAGTNVSSNGSVTVYASGKRRLESNEEWISSPSPGSVPGSAPPLSPSPGSQSTTYTTTMSNGYSSPMSTGSYDPYSPNGKMGREDLSPSSSLNGYTDGSDAKKQKKGPTPRQQEELCLVCGDRESGYHYNALTCEGCKGFFRRSVTKNAVYCCKFGHACEMDMYMRRKCQECRLKKCLAVGMRPECVVPENQCAIKRKEKKAQKEKDKVQTNATVSTTNSTYRSEILPILMKCDPPPHQAIPLLPEKLLQENRLRNIPLLTANQMAVIYKLIWYQDGYEQPSEEDLKRIMIGSPNEEEDQHDVHFRHITEITILTVQLIVEFAKGLPAFTKIPQEDQITLLKACSSEVMMLRMARRYDAATDSILFANNRSYTRDSYRMAGMADTIEDLLHFCRQMFSLTVDNVEYALLTAIVIFSDRPGLEQAELVEHIQSYYIDTLRIYILNRHAGDPKCSVIFAKLLSILTELRTLGNQNSEMCFSLKLKNRKLPRFLEEIWDVQDIPPSMQAQMHSHGTQSSSSSSSSSSSSSNGSSNGNSSSNSNSSQHGPHPHPHGQQLTPNQQQHQQQHSQLQQVHANGSGSGGGSNNNSSSGGVVPGLGMLDQVLV
Format Embl dune séquence ID Q7UB09 PRELIMINARY; PRT; 391 AA. AC Q7UB09; DT 01-OCT-2003 (TrEMBLrel. 25, Created) DT DT 01-MAR-2004 (TrEMBLrel. 26, Last annotation update) DE Putative xylanase. GN YIEL OR S4034. OS Shigella flexneri. OC Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales; OC Enterobacteriaceae; Shigella. OX NCBI_TaxID=623; DR EMBL; AE016991; AAP ; -. DR GO; GO: ; P:carbohydrate metabolism; IEA. DR InterPro; IPR000379; Ser_estrs. DR Pfam; PF02922; Isoamylase_N; 1. KW Glycosidase; Hydrolase; Xylan degradation. SQ SEQUENCE 391 AA; MW; 0C6006A9977CFBC0 CRC64; MNIKIAALTL AIASGISAQW AIAADMPASP APTIPVKQYV TQVNADNSVT FRYFAPGAKN MNIKIAALTL AIASGISAQW AIAADMPASP APTIPVKQYV TQVNADNSVT FRYFAPGAKN VSVVVGVPVP DNIHPMTKDE AGVWSWRTPI LKGNLYEYFF NVDGVRSIDT GTAMTKPQRQ VSVVVGVPVP DNIHPMTKDE AGVWSWRTPI LKGNLYEYFF NVDGVRSIDT GTAMTKPQRQ TFSGVTTTTV PDEGVAARLN DPAAINQQLR NFTVVVGDKD VVTGKDIAGL KTELEQKKIK TFSGVTTTTV PDEGVAARLN DPAAINQQLR NFTVVVGDKD VVTGKDIAGL KTELEQKKIK FDYQEYPGLN HEMDVWRPAY AAFVQKFKIR H FDYQEYPGLN HEMDVWRPAY AAFVQKFKIR H
Format Genbank 1/2 LOCUS NC_ bp DNA PLN 13-AUG-2001 DEFINITION Arabidopsis thaliana chromosome 2, complete sequence. ACCESSION NC_ SOURCE thale cress. ORGANISM Arabidopsis thaliana ORGANISM Arabidopsis thaliana Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; FEATURES Location/Qualifiers source source /organism="Arabidopsis thaliana" /organism="Arabidopsis thaliana" /cultivar="Columbia" /cultivar="Columbia" /db_xref="taxon:3702" /db_xref="taxon:3702" /chromosome="2" /chromosome="2" gene complement( ) gene complement( ) /gene="At2g01040" /gene="At2g01040" /note="F23H14.1; pseudogene, disease resistance protein" /note="F23H14.1; pseudogene, disease resistance protein" /pseudo /pseudo mRNA complement( 68884) mRNA complement( 68884) gene complement( ) gene complement( ) /gene="At2g01050" /gene="At2g01050" /note="F23H14.2; predicted by genscan" /note="F23H14.2; predicted by genscan" CDS complement( ) CDS complement( ) /gene="At2g01050" /gene="At2g01050"
Format Genbank 2/2 mRNA complement(join(< , , , mRNA complement(join(< , , , , , , )) , , , )) /gene="At2g01060" /gene="At2g01060" gene complement( ) /gene="At2g01050" /gene="At2g01050" /note="F23H14.2; predicted by genscan" /note="F23H14.2; predicted by genscan" CDS complement( ) CDS complement( ) /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_ " /protein_id="NP_ " /db_xref="GI: " /db_xref="GI: " /translation="MLDVGEKGRPPGDPPDKLESWATKVKGSAGGGILKPEDVIDDEF /translation="MLDVGEKGRPPGDPPDKLESWATKVKGSAGGGILKPEDVIDDEF VRERVGLEFPDGEDEEPVITIGEEVLEAMNGLWKKCMIVKVLGSQIPISVLNRKLREL VRERVGLEFPDGEDEEPVITIGEEVLEAMNGLWKKCMIVKVLGSQIPISVLNRKLREL WKPSGVMTVMDLPRQFFMIRFELEEEYMAALTGGPWRVLGNYLLVQDWSSRFDPLRDD WKPSGVMTVMDLPRQFFMIRFELEEEYMAALTGGPWRVLGNYLLVQDWSSRFDPLRDD IVTTPVWVRLSNIPYNYYHRCLLMEIARGLGRPLKVDMNTINFDKGRFARVCIEVNLA IVTTPVWVRLSNIPYNYYHRCLLMEIARGLGRPLKVDMNTINFDKGRFARVCIEVNLA KPLKGTVLINGDRYFVAYEGLSKICSSCGIYGHLVHSCPRNVVVKVSAGAETVTDRAV KPLKGTVLINGDRYFVAYEGLSKICSSCGIYGHLVHSCPRNVVVKVSAGAETVTDRAV VPVGMEGDDGFTVVQRTARRPAAPVQKMVFAVGASGGRSKQRLRELPKNQGVDLANRF VPVGMEGDDGFTVVQRTARRPAAPVQKMVFAVGASGGRSKQRLRELPKNQGVDLANRF GGLDGNGDLPDLREVAITEGPNKENEYHGRNVGKVMGVPLVKEARGSTQMEKGKGGSK GGLDGNGDLPDLREVAITEGPNKENEYHGRNVGKVMGVPLVKEARGSTQMEKGKGGSK GGFKWKRNGGMKALEPIGPKQKHGAANKPARGLIFGPTKDANSVPVGEDLLSNGKRLR GGFKWKRNGGMKALEPIGPKQKHGAANKPARGLIFGPTKDANSVPVGEDLLSNGKRLR VEQRDVGRPGGVYSSAMGSHAHEASFDLDSSSTLSQRFQREDLMSEIAVVSHEGSEVG VEQRDVGRPGGVYSSAMGSHAHEASFDLDSSSTLSQRFQREDLMSEIAVVSHEGSEVG NSSEGMA« NSSEGMA« mRNA complement(join(< , , , mRNA complement(join(< , , , , , , )) , , , )) /gene="At2g01060" /gene="At2g01060" gene complement( ) gene complement( ) /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( , , , CDS complement(join( , , ,
… il ny a pas que des séquences Blast Blast Alignements Alignements GO GO Références bibliographiques Références bibliographiques –Data mining –…–…–…–… …
Où trouver les données ? Dans les banques de données Dans les banques de données –Ramener la banque en entier –Traiter les fichiers ainsi stockés sur le disque Chercher linfo pertinente … à la volée Chercher linfo pertinente … à la volée Faire une requête ciblée dans une banque de données Faire une requête ciblée dans une banque de données –SRS le permet …
2/ Traiter ces données
Quest quun script ? Cest un programme. Cest un programme. Qui enchaîne une suite de programmes Qui enchaîne une suite de programmes –(pris dans un boîte à outils) Écrit dans un langage Écrit dans un langage –sh, csh, tcsh, bash –Perl, Tcl, Python, –C, C++, VisualBasic, Fortran, Java « Mon langage est le meilleur ! »
Un script de metteur en scène Qui utilise des outils Qui utilise des outils –qui préexistent –qui doivent être écrits Ce script sera lui aussi un outil Ce script sera lui aussi un outil
Boîte à outils NCBI-toolbox Gcg Emboss Gscope
Un exemple de traitement en local
sinon …
Traitement à distance sur un site web … On simule par programme les actions répétitives de lutilisateur On simule par programme les actions répétitives de lutilisateur –Ce nest pas toujours possible ce nest pas fait pour ça ce nest pas fait pour ça il faut connaître lorganisation des données il faut connaître lorganisation des données –Le format des données est souvent difficile à exploiter Html, Xml, images Html, Xml, images –Problèmes de connexion et de gestion des décrochages –Attention aux mises à jour des sites
Les problèmes liés au « massif » Long en temps Long en temps –Plusieurs jours ou semaines –Lintervention humaine est souvent impossible Puissance de calcul et de stockage Puissance de calcul et de stockage Erreurs ou incohérences Erreurs ou incohérences –Plus de traitement plus derreurs –Causes externes Coupures de courant, disques pleins Coupures de courant, disques pleins Les banques changent Les banques changent Les programmes changent Les programmes changent Les questions changent Les questions changent
3/ « Publier » la valeur ajoutée Rendre vos résultat accessibles aux autres
Comment ? En interne, en externe En interne, en externe En vrac, en finesse En vrac, en finesse Par une base de données «utilisable » Par une base de données «utilisable » Créer un site Créer un site –rien que pour les yeux –… –…
Gscope Collecte les données Collecte les données Crée une base de données Crée une base de données Les visualise Les visualise Les rend accessibles Les rend accessibles –… à tous les niveaux en bloc en bloc au détail au détail lignes de programme Tcl/Tk lignes de programme Tcl/Tk
4/ À vos claviers ! Merci