HAL Id: hal-01095475 https://hal.inria.fr/hal-01095475 Submitted on 15 Dec 2014
HAL Id: hal-01095475 https://hal.inria.fr/hal-01095475 Submitted on 15 Dec 2014 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Distributed under a Creative Commons Attribution - NonCommercial - NoDerivatives 4.0 International License La bioinformatique avec Biopython Olivier Dameron, Gregory Farrant To cite this version: Olivier Dameron, Gregory Farrant. La bioinformatique avec Biopython. GNU/Linux Magazine France, Diamond Editions, 2014, pp.13. <hal-01095475> La bioinformatique avec Biopython (GNU/Linux magazine Hors série 73 : p84-97. 2014) Olivier Dameron et Gregory Farrant Olivier est maître de conférences à l'université de Rennes 1, membre de l'équipe Dyliss à l'IRISA et co-responsable du master Bioinformatique et génomique de Rennes. Gregory est doctorant à la Station Biologique de Roscoff, au sein de l’équipe Prokaryotes Phototrophes Marins, UMR7144, CNRS UPMC. Tous les deux contribuent au blog http://bioinfo-fr.net Pour faire face aux défis de la biologie, la bioinformatique propose des modules qui permettent de rendre accessibles des fonctions basiques et avancées d’analyse de données. Les données traitées sont en général des séquences d'ADN qu’il s’agira d’identifier, d’aligner et d'analyser grâce à la littérature scientifique. Les formats les plus utilisés en bioanalyse, comme les formats fasta et genbank demeurent par certains aspects difficiles à manipuler. Nous vous proposons un didacticiel qui introduira les fonctions de Biopython, un module Python dédié à la manipulation de données biologiques dans le cadre de l’analyse complète d’une séquence d’ADN. Un besoin, un outil : Biopython « Biology has become an information science ». L'apparition et l'évolution des technologies de séquençage ont accompagné de nouveaux besoins de traitement et d'analyse de données qui sont massives, complexes, interdépendantes et distribuées. Notre histoire commence comme beaucoup par un mystère… une séquence ADN de quelques centaines de paires de bases qu’il va falloir traduire, identifier, replacer dans son contexte et analyser en cherchant la littérature scientifique associée. Le séquenceur a produit la séquence suivante : >>> mysterious_sequence TCAGACCGTTCATACAGAATTGGCGATCGTTCGGCGTATCGCCGAAATCACCGCCGTAAGCCGACCAGGGGTTGCCGTTA TCATCATATTTAATCAGCGACTGATCCACGCAGTCCCAGACGAAGCCGCCCTGTAAACGGGGATACTGACGAAACGCCTG CCAGTATTTAGCGAAACCGCCAAGACTGTTACCCATCGCGTGGGCGTATTCGCAAAGGATCAGCGGGCGCGTCTCTCCAG GTAGCGATAGCCAATTTTTGATGGACCATTTCGGCACAGCCGGTAAGGGCTGGTCTTCTTCCACGCGCGCGTACATCGGG CAAATAATTTCGGTGGCCGTGGTGTCGGCTCCGCCGCCTTCATACTGCACCGGGCGGGAAGGATCGACAGATTTGATCCA GCGATACAGCGCGTCGTGATTAGCGCCGTGGCCTGATTCATTCCCCAGCG Biopython [1] est un ensemble d’outils écrits en python pour la biologie computationnelle et la bioinformatique. Il existe des initiatives similaires pour la plupart des langages classiques1 : BioPerl, BioJava, BioRuby,etc. Les principales fonctionnalités portent sur les manipulations de séquences, la récupération et la manipulation de données depuis des sources classiques comme ExPASy pour les données de génomique ou de protéomique, ou PubMed pour les articles scientifiques. La principale force de Biopython sont ses ‘parsers’, des modules capables de lire et manipuler les formats standards de données biologiques les plus répandus. La possibilité d’accéder automatiquement aux bases de données en ligne et d’en utiliser les outils permet d’intégrer facilement des traitements dans des workflows d’analyse automatisés. En outre, la documentation en ligne est particulièrement riche. La plupart des fonctions sont détaillées dans le Livre de Recettes Biopython [2] et les forums avoisinants. 1. Comment l'ADN est transformé en protéines 1.1 De l'ADN à l'ARN L’ADN est généralement constitué de deux brins enroulés en double hélice. Chaque brin est composé d’une 1 Oui, Biopython s'écrit avec un « p » minuscule, contrairement aux autres (BioPerl, BioJava, etc.) succession de nucléotides composés chacun d’un sucre à cinq atomes de carbone sur lequel sont fixés un phosphate et une des quatre bases azotées : l’adenine (A), la thymine (T), la cytosine (C), ou la guanine (G). Le phosphate de chaque nucléotide est relié au sucre du nucléotide suivant, ce qui défini l’orientation de la lecture de chaque brin, de l’extrémité notée 5’ vers l’extrémité notée 3’. Chaque nucléotide d’un brin trouve son nucléotide correspondant dans l’autre brin : l’adénine s’associant à la thymine et la cytosine à la guanine. Ainsi, les deux brins d’ADN sont dits complémentaires. Les brins sont disposés tête-bêche, c’est à dire que l’extrémité 5’ d’un brin est en face de l’extrémité 3’ de l’autre brin. La figure 1 présente les deux brins complémentaires d'un fragment d'ADN. La taille du génome en nucléotides présente une grande variabilité dans la nature, allant de quelques milliers à quelques centaines de milliards de nucléotides en fonction des organismes. Il est difficile de relier la taille du génome au niveau de complexité de l’organisme, mais les organismes procaryotes (par exemple les bactéries) ont tendance à avoir des génomes plus réduits avec un rapport des régions codantes et intergéniques plus élevé que chez les organismes eucaryotes (par exemple les mammifères). Figure 1 : Fragments de deux brins complémentaires d’ADN. La lecture de chaque brin se fait de l’extrémité 5’ vers l’extrémité 3’ (adapté de : http://commons.wikimedia.org/wiki/File:DNA_strands.gif). Chaque brin d’ADN peut-être séparé en deux composantes : une fraction codante correspondant aux gènes et dont la séquence détermine une séquence d’acides aminés formant une protéine, et une fraction non codante ou intergénique, dont la fonction est variable voir inconnue. En fonction des espèces, la taille des génomes varie de quelques centaines à quelques dizaines de milliers de gènes, là encore sans lien marqué avec la complexité des organismes. Pour qu’un gène soit traduit en protéine, le gène et son environnement proche doivent d’abord être transcrits en ARN. Il s'agit globalement de la simple copie d'un brin d'ADN dans lequel les thymines (T) sont remplacées par des uraciles (U), et le sucre des nucléotides porte un groupement -OH en plus. L’ARN, dit alors « messager » est ensuite pris en charge par des structures complexes appelées les ribosomes qui vont lire la séquence des nucléotides et produire la protéine correspondante. 1.2 De l'ARN aux protéines Chaque protéine est donc composée d’une succession d’acides aminés d’une taille variant de quelques dizaines à quelques dizaines de milliers de bases. Il n’existe que 22 types d’acides aminés entrant dans la composition des protéines. Une suite de trois nucléotides, que l’on appelle un codon, suffit donc à coder chaque acide aminé : il y a 43=64 combinaisons possibles par codon alors qu’une suite de deux nucléotides n’en offre que 42=16. Puisqu’il y a 64 codons pour 22 acides aminés, il y a une certaine redondance et plusieurs codons peuvent conduire au même acide aminé. Il y a également deux types de codons particuliers : start et stop, qui indiquent respectivement le début et la fin de la région à traduire. Le codon start correspond le plus souvent chez les procaryotes à la methionine (ATG). La lecture de l’un des codons stop (par exemple TAA) provoque la séparation des sous-unités du ribosome et met fin à la traduction. Le tableau suivant décrit le code génétique et peut être récupéré via Biopython. >>> from Bio.Data import CodonTable >>> # correspondance entre les 64 codons et les 22 acides aminés, désignés ... # par une lettre (par exemple « M » désigne la méthionine) ; ... # « (s) » désigne un codon start.. ... >>> print(CodonTable.unambiguous_dna_by_id[1]) | .T. | .C. | .A. | .G. | –---+---------+---------+---------+---------+---- T.. | TTT F | TCT S | TAT Y | TGT C | ..T T.. | TTC F | TCC S | TAC Y | TGC C | ..C T.. | TTA L | TCA S | TAA Stop| TGA Stop| ..A T.. | TTG L(s)| TCG S | TAG Stop| TGG W | ..G –---+---------+---------+---------+---------+---- C.. | CTT L | CCT P | CAT H | CGT R | ..T C.. | CTC L | CCC P | CAC H | CGC R | ..C C.. | CTA L | CCA P | CAA Q | CGA R | ..A C.. | CTG L(s)| CCG P | CAG Q | CGG R | ..G –---+---------+---------+---------+---------+---- A.. | ATT I | ACT T | AAT N | AGT S | ..T A.. | ATC I | ACC T | AAC N | AGC S | ..C A.. | ATA I | ACA T | AAA K | AGA R | ..A A.. | ATG M(s)| ACG T | AAG K | AGG R | ..G –---+---------+---------+---------+---------+---- G.. | GTT V | GCT A | GAT D | GGT G | ..T G.. | GTC V | GCC A | GAC D | GGC G | ..C G.. | GTA V | GCA A | GAA E | GGA G | ..A G.. | GTG V | GCG A | GAG E | GGG G | ..G –---+---------+---------+---------+---------+---- 1.3 Les six cadres de lecture À partir d’une séquence brute d’ADN, identifier les gènes demande de repérer les fractions codantes, c’est-à- dire les portions d’ADN comprises entre un codon start et un codon stop. Cela soulève deux difficultés: d’une part on ne sait pas sur quel brin se fera la traduction en protéine, et d’autre part on ne sait pas par quel nucléotide commence le premier codon. À partir d’une séquence d’ADN, on a donc uploads/Litterature/ biopython-dameron-farrant-avec-figures.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/rJuwYCaQcAGhrv8XRdaZeVBv1rVwmrfQh7jIc6NqR61D3Fuyy4bwvWXqYG8wmROyp0aIQ6Olh9MKXIn3JzNosu2s.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/WZdXL2JKWh7sRNoslmOBbEWtXyOQLK3w63B6qiZm0K5OwpO0XEcsjHgWoHIvVhK8HwNVNqpqgnkqE8K0oBbyFWpO.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/iTJaHGIo2ssC1tllIvd7b2vgO8kIHEJpT90vrC7hsOVWlG9omP3J94g34e9w2lvX0O2cInAM2sSukT0eJSjWFUTu.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/QfYOobBSSqIUVcqx43vvD7lSN5QmV2ZBbixMNAPfP18bGS1HMyOJs2NXru46hW4qDRBX7hd1BIePXL2yMHsZEAxj.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/4jBqjkAGYKWZ1dU2d3ozfa24P84Rqn3gRHRvbFcybvKMQdV5BkZMzkwfm7TlKBvJyO3jdJSPlrEyG69NuDfNYtMN.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/gE1ItLm64Z0RJUMk4wKPNYF7K24FVeKVH0nqM7PO3sPtG9Tq1xkMmTHas3GPFPXT47cJxQ1PdF3leUp8yiWuueSB.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/qMkuNVJqw2mNfmbGth2hsd3h4hnRa074OtLk6KXUhF857V6OIwPqrur22SrZssIJBOSVwOdfeenatpBsu3L0dZ4k.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ZK06cCkvcUoBBNkInAeIUnAGN9vlfxVeWdYB0mPCDriEIc2bukfkQUvpCfliTcxqcpHWlEcElLr9PHTZgKXGdWpz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/gn8tHwT4RDOZ99maXpp1veEzKXlr2hb1FE5Ofun7OiiPaHwjhFtx8KMpBMe72nOnoVj2GDiAu0nxryhWIFRP4ul6.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9BvgTPRkTTMHJEoBc9Wt279QClVhFXMIlc5xSJD4SnlSSqTWdMGkWrvdODXqHY0LbaEf2ELbu4ppOtHAQx0ZMXbP.png)
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 08, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.5502MB