1 / 65

Plan

Plan. Introduction Interroger les banques de séquences (60%) Construire sa banque de séquences (30%) Utilisation des API (10%) Pour aller plus loin. Introduction. Historique Un système de base de données et un outil d’interrogation Principe général d’ACNUC

kayo
Télécharger la présentation

Plan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plan • Introduction • Interroger les banques de séquences (60%) • Construire sa banque de séquences (30%) • Utilisation des API (10%) • Pour aller plus loin

  2. Introduction • Historique • Un système de base de données et un outil d’interrogation • Principe général d’ACNUC • Accès aux programmes et aux bases • Déroulement de l’atelier

  3. IntroductionHistorique ACNUC est un système de gestion de bases de données dédié à la gestion des séquences biologiques, en particulier génomiques. • Son développement a débuté en 1980. • Il sert à la fois d'outil d'interrogation et de couche basse pour le développement de logiciel. • Il reste le seul logiciel permettant l'interrogation, transparente pour l'utilisateur, des sous-séquences des séquences présentent dans les banques. • Des développements récents avec Stéphane Delmote permettent d’interroger les banques à distance via un serveur de sockets

  4. IntroductionPrincipe ACNUC est à la fois un système de base de données et un outil d’interrogation des données

  5. IntroductionPrincipe Le principal géneral d’ACNUC repose sur l’indexation des fichiers de séquences annotées (EMBL, GenBank, SwissProt ...) Les différents champs des annotations sont indexés dans des fichier d’index (NOMS, ESPECES, MOT-CLEFS, etc) qui sont mis en relation via des pointeurs.

  6. IntroductionAccès aux programmes et aux bases Les programmes, les bases de données et la documentation sont accessibles sur le site du PBIL: http://pbil.univ-lyon1.fr/

  7. IntroductionDéroulement de l’atelier Différents exercices et des exemples d’application sont proposés au cours de l’atelier. Cette présentation ainsi que les différents exemples de scripts sont téléchargeable à l’url: ftp://pbil.univ-lyon1.fr/pub/in2p3/formation_acnuc/ DOCUMENTATION GENERALE: http://pbil.univ-lyon1.fr/databases/acnuc/acnuc.html DOCUMENTATION LANGAGE DE REQUETE: http://pbil.univ-lyon1.fr/databases/acnuc/cfonctions.html#QUERYLANGUAGE

  8. Interroger les banques de séquences • Premiers pas avec ‘QueryWin’ • Le langage de requête • requêtes simple • séquences mères - séquences filles • requêtes complexes • Extraction des données • différents formats • extraire des zones particulières dans les séquences • Utilisation de ‘query’ • script simple • script complexe • Utilisation de ‘seqinR’ • interroger les banques à partir de R • scripts mixtes R/query

  9. Premiers pas avec QueryWin « QueryWin » fonctionne sur toutes les plateformes : Unix/Linux, Mac, Windows (Apparence légèrement différente selon la plateforme) Existe en 2 versions: « locale » interroge les bases locales - query_win « local » est installé sur toutes les machines du labo - « client » interroge les bases à distance (via des sockets) - à telecharger - Transparent pour l’utilisateur Téléchargeable sur le PBIL: http://pbil.univ-lyon1.fr/software/query_win.html Documentation accessible sur le PBIL: http://pbil.univ-lyon1.fr/software/doclogi/docacnuc/acnucwin/acnwian/aquerywin.html

  10. Premiers pas avec QueryWin • Lancer Query_Win - version Mac: cliquer sur l’application

  11. Premiers pas avec QueryWin • Lancer Query_Win - sur les clusters ( version locale) • lancer query_win sur EMBL: >query_win embl

  12. Premiers pas avec QueryWin boutons de commande • Lancer Query_Win - sur les clusters ( version locale) • lancer query_win sur EMBL: >query_win embl fenêtre de commande langage de requête-

  13. Premiers pas avec QueryWin • Deux manières (non exclusives) de faire une requête: • en utilisant les boutons et les menus • en utilisant le langage de requête dans la fenêtre de commande Exercice 1 :sélectionner les séquence de souris dans EMBL • méthode 1: Cliquer sur les boutons select puis species et taper « mus » dans la fenêtre qui s’ouvre. Ensuite choisir l’option « build query » Observer la fenêtre de commande. Exécuter Recommencer en choisissant l’option « make list »

  14. Premiers pas avec QueryWin Exercice 1 suite • méthode 2: taper « sp=mus » dans la fenêtre de commande REMARQUE IMPORTANTE: Les requêtes effectuées avec la méthode 1 sont automatiquement affichées sous forme de langage de requête dans la fenêtre de commande et/ou la fenêtre qui affiche les listes. C’est un excellent moyen d’apprendre le langage de requête ACNUC A partir de maintenant, dans les exercices, essayez d’abord de répondre à la question en utilisant les boutons et observez l’équivalent en langage de requête. Peu à peu, vous pouvez essayer d’utiliser systématiquement le langage de requête Autre chose:Il existe un mode « HELP » dans Query_Win

  15. Le langage de requêterequêtes simples • Toutes les opérations sont possibles avec query_win (en cliquant ou en utilisant le langage) • Quelques exemples élémentaires: • récupérer une séquence à partir de son nom • récupérer une séquence à partir de son numéro d’accession • récupérer les séquences d‘une espèce/d’un taxon • récupérer les séquences associées à un mot clef Autres exemples moins simples : • quelle est l’espèce associée à cette séquence ? • quels sont les mot clefs associés à cette séquence ?

  16. Le langage de requêterequêtes simples • Les espèces sont tirées dans champs décrivant la taxonomie • Les mots clefs sont tirés de différents champs décrivant la séquences: le gène, la fonction, la similarité, le produit; EC number, etc.

  17. Le langage de requêterequêtes simples Le langage de requête ACNUC est décrit ici: http://pbil.univ-lyon1.fr/databases/acnuc/cfonctions.html#QUERYLANGUAGE Exercice 2 : Interroger SwissProt Recupérer les séquences de chat (Felis cattus) en utilisant les boutons Recupérer les séquences de chat avec le langage de requête Comparer les résultats Exercice 2bis : Interroger SwissProt Recupérer les séquences de chat avec le numero taxonomique (TaxonID) du genre  felis (tid=9682)

  18. Le langage de requêterequêtes simples Le langage de requête ACNUC est décrit ici: http://pbil.univ-lyon1.fr/databases/acnuc/cfonctions.html#QUERYLANGUAGE Exercice 3 : Interroger SwissProt Récupérer les séquences associées au mot clef « adenylate cyclase » en utilisant les boutons Récupérer les séquences associées au mot clef « adenylate cyclase » avec le langage de requête Regarder les différents champs des annotations. Ou se trouve adenylate cyclase? Faire la même chose dans GenBank

  19. Le langage de requêterequêtes simples Le langage de requête ACNUC est décrit ici: http://pbil.univ-lyon1.fr/databases/acnuc/cfonctions.html#QUERYLANGUAGE Exercice 4 : Interroger GenBank Récupérer les séquences associées au gène BTG1 Regarder les différents champs des annotations. Ou se trouve l’information sur le gène? Faire la même chose dans SwissProt Indice le nom du gène est un mot-clef

  20. Le langage de requêterequêtes simples Utilisation de la « wild card » : @ Si on cherche tous les mots clefs commençant par « toto », rechercher toto@ . Exercice 5 : Interroger SwissProt Récupérer les séquences associées aux mots clefs commençant par BTG Remarque La « wild card » @ peut s’utiliser aussi pour les espèces et les nom de séquences

  21. ID ESCOL3_3; SV 2; circular; genomic DNA; GRV; PRO; 5498450 BP. XX AC BA000007_GR; XX blah blah blah XX CC This Genome Reviews entry was created from entry BA000007.2 in the CC EMBL/Genbank/DDBJ databases on 03 March 2009. XX FH Key Location/Qualifiers FH FT source 1..5498450 FT /organism="GR Escherichia coli" FT /strain="Sakai = O157:H7 = RIMD 0509952 = EHEC" FT /mol_type="genomic DNA" FT /chromosome="Chromosome" FT /db_xref="taxon:386585" FT .5F1 5'ncr 1..189 FT /cds_name="ESCOL3_3.PE1 " FT .PE1 CDS 190..273 FT /codon_start=1 FT /gene_name="thrL" FT /locus_tag="ECs0001" FT /protein_id="BAB33424.1" FT /transl_table=11 FT /translation="MKRISTTITTTITTTITITITTGNGAG" FT .3F1 3'ncr 274..353 FT /cds_name="ESCOL3_3.PE1 " FT misc_structure 215..328 FT /gene_name="Thr_leader" FT /db_xref="Rfam:RF00506" FT .5F2 5'ncr 274..353 FT /cds_name="ESCOL3_3.PE2 " FT .PE2 CDS 354..2816 FT /codon_start=1 FT /gene_name="thrA" FT /locus_tag="ECs0002" FT /product="Aspartokinase I, homoserine dehydrogenase I " FT /function="NADP or NADPH binding" FT /function="amino acid binding" FT biosynthetic process" FT /protein_id="BAB33425.1" FT /db_xref="GO:0004072" FT /db_xref="UniProtKB/TrEMBL:Q8XA84" FT /transl_table=11 etc etc Le langage de requêteséquences mères & séquences filles Une des grandes forces d’ACNUC est la définition et l’utilisation de séquences mères et de séquences filles. 5’ 3’ CDS 2 3 1 5’ncr 1 3 2 3’ncr 3 2 1

  22. Le langage de requêteséquences mères & séquences filles ACNUC définit des séquences mères et des séquences filles. Une séquence mère contient plusieurs séquences filles Typiquement, un chromosome et ses CDS sont respectivement une séquence mère qui contient plusieurs séquences filles Une séquence fille peut être de plusieurs types Exercice 6 : Interroger HOGENOMDNA (génomes complets) Récupérer les séquences de Escherichia coli o157:h7 str. sakai Question: quelles sont ces séquences ? Récupérer les séquences filles du chromosome ESCOL3_3 Question: quelles sont ces types séquences ? Récupérer les CDS du chromosome ESCOL3_3 Revenir à la séquence mère ESCOL3_3: repérer les CDS dans les annotations

  23. Le langage de requêteséquences mères & séquences filles Lorsque l’on recherche les séquences d’une espèce, on récupère des séquences mère uniquement (par défaut). Toutes ses séquences filles seront associées à la même espèce. C’est différent pour les mot clefs. Un mot clef peut être associé à la séquence mère, ou simplement à une des séquences filles. Exercice 7 : Interroger SwissProt Récupérer les séquences associées au gène BTG1 Faire la même chose dans GenBank Quelle sont ces séquences? Indice le nom du gène est un mot-clef

  24. Le langage de requêterequêtes complexes • Combinaison de critères: • Opérations « et » AND, « ou » OR, « non » NOT, « et pas » AND NOT • Utilisation de parenthèses • On peut aussi croiser des listes de résultats: • On utilise le nom des listes: list1, list2, list3 etc. Exercice 8 : Interroger SwissProt Récupérer les séquences de mammifères Récupérer les séquences associées aux mot clef BTG1 Croiser ces deux listes : list1 AND list2 Récupérer les séquences de mammifères associées au mot clefs BTG1 en une seule requête Récupérer les séquences de mammifères associées aux mot clefs BTG1,BTG2, BTG3 et BTG4 en une seule requête. Combien de séquences obtenues? Indice attention à OR et AND

  25. Le langage de requêterequêtes complexes Autres critères: année de la publi associée à la séquence ex: y<1986 auteur de la publi associée à la séquence ( pas d’initiale) au=marley idem journal molécule m=mRNA organelle o=MITOCHONDRION type t=CDS hôte h=homo sapiens statut (pas pour GenBank) st=EST

  26. Le langage de requêterequêtes complexes Il est possible de modifier une liste de séquences en fonction de la date d’entrée ou de la longueur des séquences. Exercice 10:: Interroger SwissProt Récupérer les séquences de souris (mus) Sélectionner les séquences de plus de 300 aa Sélectionner les séquences qui sont entrées depuis l’an 2000

  27. Le langage de requêterequêtes complexes Il est possible de récupérer les espèces ou les mot clefs associés à un ensemble de séquences associés Exercice 11: Interroger SwissProt Quelles sont les espèces chez lesquelles le gène BTG1 est décrit dans les annotations ?(ce qui n’implique pas que les autres especes de présentent pas ce gène) Solution :récuperer les séquences associées au gène, puis les espèces associées a ces séquences) Indice projecting species ps Exercice 11bis Faire la même chose en une seule ligne de commande Exercice 12 Récupérer le nom de toute les souches de E. coli présentes dans EMBL et les sauver dans un fichier Exercice 12bis Récupérer la liste des eukaryotes présents dans HOGENOMDNA. Récupérer la liste des champignons.

  28. Le langage de requêtenaviguer dans la taxonomie et les mots clefs La taxonomie comme les mots clefs ont une structure hiérarchique. Il est possible de naviguer avec le bouton browse de Query_win Un mot clef peut posséder un « parent ». Par exemple les EC-numbers sont des mot-clefs, tous descendants du mot clef EC_Number Ceci est utile pour faire le tri dans les mots clefs. Un mot clef ancêtre est sélectionné dans Query_Win en cochant le bouton « by name », puis en entrant le mot désiré et en cliquant sur « exec » puis « done » (avec le programe en ligne de commande query un mot clef « ancêtre» est sélectionné avec la commande nk=ancetre. Un taxon « ancêtre » est sélectionné avec la commande ns=ancetre) Vocabulaire descending keywords: kd list descending species: sd list nk=,ns=

  29. Le langage de requêtenaviguer dans la taxonomie et les mots clefs Exercice 13 : Dans SWISSPROT Récupérer tous les mots clefs associés à l’homme Que constate-t-on ? Il y en a trop. On voudrait récupérer uniquement les EC numbers Récupérer tous les mots clefs descendant de « EC_NUMBERS » Combien y en a t il ? Exercice 13 bis: Récupérer tous les mots clefs descendant de « EC_NUMBERS » associés à l’homme. Combien y en a t il ? Les sauver dans un fichier. Vocabulaire pk list kd list (nk=)

  30. Le langage de requêterequêtes complexes Vocabulaire fk file un lmist ps list Utilisation de fichiers Vous pouvez utiliser des fichier contenant: des listes de nom de séquences des listes de numéros d’accession des listes de mot clef des listes d’espèces Exercice 14 : Dans Uniprot récupérer les EC numbers associés a l’homme à partir du fichier crée dans l’exercice 13bis. Quelles sont les séquences de souris associées à ces mots clefs.

  31. Le langage de requêtescan des annotations Il est possible de parser les annotations à la recherche d’un mot ou d’une phrase. On peut choisir quel champs de l’annotation doit être parsé. Il est intéressant d’utiliser le scan seulement si le mot recherché n’a pas été structuré sous la forme d’un mot clefs, espèce, ou autre. En outre la liste ne doit pas être trop longue.

  32. Extraction des donnéesdifférents formats Exercice 15 : Dans HOGENOMDNA Sélectionner les séquences de la levure (saccharomyces) Extraire les séquences des chromosomes (séquences mère) au format FASTA Extraire les séquences des CDS traduits en protéine au format FASTA

  33. Extraction des donnéesextraire des zones particulières dans les séquences Exercice 16 : Dans HOGENOMDNA Sélectionner les séquences de la levure (saccharomyces) Extraire les séquences des CDS au format FASTA Extraire les séquences des CDS au format EMBL Extraire les parties 5’non codante au format FASTA Extraire les 1000 premiers résidus de chaque chromosome au format FASTA Extraire les 500 résidus qui précédent le CDS au format FASTA

  34. Utilisation de query • query est la version en ligne de commande de query_win • L’intérêt de query et l’utilisation de scripts. • Ceci facilite l’automatisation du traitement, particulièrement utile dans les cas suivants: • longue suite de requête fastidieuse à ré-écrire à chaque fois, moins d’erreur, gain de temps • utilisation de workflows • un script générique pour différente utilisation • utilisation sur les clusters, utilisation sur des fermes de calcul.

  35. Utilisation de query lancement Comme pour query_win il existe une version locale ( installée elle aussi sur les machines pbil, pbil-dev, et les workers pbil-debX) et une version client (pour interroger les banques à distance) disponible pour les plateformes Linux/Unix, MacOS, Windows. Version locale: interroger embl >query embl Version client: interroger embl >raa_query puis choisir la banque, ou directement >raa_query pbil.univ-lyon1.fr:5558/embl

  36. Utilisation de query instructions • query utilise le même langage de requête que query_win. • Cependant il existe d’autres instructions, en particulier pour la gestion des listes. • N’hésitez pas à consulter l’aide en ligne en tapant HELP. Exercice 17 Interroger HOGENOMDNA (génomes complets) Récupérer les séquences de Escherichia coli o157:h7 str. sakai Récupérer les séquences filles du chromosome ESCOL3_3 Récupérer les CDS du chromosome ESCOL3_3

  37. Utilisation de query instructions Solution exercice 17 Interroger HOGENOMDNA (génomes complets) Récupérer les séquences de Escherichia coli o157:h7 str. sakai Récupérer les séquences filles du chromosome ESCOL3_3 Récupérer les CDS du chromosome ESCOL3_3 Sauver les CDS query hogenomdna sel sp=Escherichia coli O157:h7 str. sakai mod list1 5 sel n=ESCOL3_3 et t=cds save list3 list_cds stop sélectionne une liste ( par défaut list1) critere de sélection modifie une liste liste à modifer type de modification sélectionne une nouvelle liste ( par défaut list3, car la liste 2 a dejas ete generée. Ou ?) critere de sélection sauve la liste liste à sauver fichier sortie de query

  38. Utilisation de query instructions Exemple précédent

  39. Utilisation de query utilisation de scripts • Une fois que l’on a défini la suite d’instruction à exécuter dans query, il est plus efficace d’utiliser un script si on désire recommencer le traitement, le modifier ou le rendre générique • Un script se présente sous cette forme • query banque << EOF • instructions • instructions • instructions • instructions • EOF

  40. Utilisation de query utilisation de scripts Exécuter l’exemple précédent sous la forme d’un script . En plus on extrait les CDS au format FASTA source exemple_script_1.csh ou csh exemple_script_1.csh Exercice 18 terminal no sélectionne un mode qui ne nécessite pas d’intervention manuelle lors de l’affichage d’un grand nombre de séquences

  41. Utilisation de query utilisation de scripts source exemple_script_2.csh ou csh exemple_script_2.csh Exercice 19 sel/l=plant Ce script sélectionne les familles de gènes homologues (familles HOGENOM) communes aux plantes et aux cyanobactéries mais que l’on ne retrouve pas chez les animaux. Les CDS d’Arabidopsis de ces familles sont sauvés et extraits au format FASTA donner un nom à la liste facilite l’écriture et la compréhension du script

  42. Utilisation de query utilisation de scripts Utilisation d’un script générique qui prend des arguments en entrée csh exemple_script_3_bis.csh viridiplantae cyanobacteria metazoa

  43. Utilisation de seqinR Il est possible d’interroger les banques ACNUC à partir du logiciel R. Pour cela, utiliser le package seqinR Exercice 17ter A travers R: Interroger HOGENOMDNA (génomes complets) Récupérer les CDS de Escherichia coli o157:h7 str. sakai Tracer l’histograme des longeurs des CDS

  44. Utilisation de seqinR Solution Exercice 17 install.pacakges(« seqinr ») library(« seqinr ») choosebank(« hogenomdna ») query("cds","sp=Escherichia coli o157:h7 str. sakai et t=cds") lengths<-lapply( cds$req,getLength) hist(unlist(lengths))

  45. Construire sa propre banque de séquences • Pourquoi créer sa propre banque ACNUC ? • Construire une banque de séquences à partir d’un jeu de séquences annotées • Construire une base ACNUC au format SwissProt • Construire une base ACNUC au format EMBL • Spécifier des mots clefs spécifiques • Enrichir les annotations pour permettre des requêtes d’intérêt • Créer une banque de séquences à partir d’un jeu de séquences non annotées ( format fasta) • Génération de données au format SwissProt

  46. Construire sa propre banque de séquences Pourquoi créer sa propre banque ACNUC ? • Stocker et avoir accès à ses séquences d’intérêt • sélection d’un jeu de séquences dans une banque généraliste • séquençage • Pouvoir faire des requêtes complexes • Possibilité de créer ses propres mot clefs hiérarchisés • Automatisation des requêtes • Partage et diffusion

  47. Construire sa propre banque de séquences Pourquoi créer sa propre banque ACNUC ? Comment choisir d’interroger une banque acnuc locale: les index sont dans le répertoire /ma_banque/index les fichiers plats sont dans le répertoire /ma_banque/flat_files Définir les variables d’environnement acnuc et gcgacnuc setenv mabase « /ma_banque/index /ma_banque/flat_files » query mabase

  48. Construire sa propre banque de séquences Construire une banque de séquences à partir d’un jeu de séquences annotées Exercice 20 construire une banque au format SwissProt script build_uniprot.csh initf : crée les index acnucgener: indexe les séquences Documentation: http://pbil.univ-lyon1.fr/databases/acnuc/acnuc_gestion.html

  49. Construire sa propre banque de séquences Construire une banque de séquences à partir d’un jeu de séquences annotées Exercice 21 construire une banque au format EMBL script build_embl.csh initf : crée les index acnucgener: indexe les séquences Documentation: http://pbil.univ-lyon1.fr/databases/acnuc/acnuc_gestion.html

  50. Construire sa propre banque de séquences Construire une banque de séquences à partir d’un jeu de séquences annotées On peut indexer plusieurs fichiers plats en lançant acnucgener sur chacun d’eux. C’est même indispensable de diviser les séquence en plusieurs fichiers plats si celles ci sont très nombreuses. • Par exemple EMBL = 305 divisions Il est possible de supprimer des séquences, de supprimer des mot-clefs,taxons, etc. obsolètes.

More Related