Modifications entre les versions 9 et 10
Version 9 à la date du 2013-10-15 21:53:48
Taille: 13212
Éditeur: LionelVaux
Commentaire:
Version 10 à la date du 2013-10-15 21:56:16
Taille: 13143
Éditeur: LionelVaux
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 196: Ligne 196:
||Acide aminé||||||Codons||
||Alanine ||Ala ||A ||GCT, GCC, GCA, GCG
||Arginine ||Arg ||R ||CGT, CGC, CGA, CGG, AGA, AGG
||Asparagine ||Asn ||N ||AAT, AAC.
||Acide aspartique||Asp ||D ||GAT, GAC.
||Cystéine ||Cys ||C ||TGT, TGC.
||Glutamine ||Gln ||Q ||CAA, CAG.
||Acide glutamique||Glu ||E ||GAA, GAG.
||Glycine ||Gly ||G ||GGT, GGC, GGA, GGG.
||Histidine ||His ||H ||CAT, CAC.
||Isoleucine ||Ile ||I ||ATT, ATC, ATA.
||Leucine ||Leu ||L ||TTA, TTG ; CTT, CTC, CTA, CTG.
||Lysine ||Lys ||K ||AAA, AAG.
||Méthionine ||Met ||M ||ATG.
||Phénylalanine ||Phe ||F ||TTT, TTC.
||Proline ||Pro ||P ||CCT, CCC, CCA, CCG.
||Sérine ||Ser ||S ||TCT, TCC, TCA, TCG, AGT, AGC.
||Thréonine ||Thr ||T ||ACT, ACC, ACA, ACG.
||Tryptophane ||Trp ||W ||TGG. (TGA)
||Tyrosine ||Tyr ||Y ||TAT, TAC.

||Valine ||Val ||V ||GTT, GTC, GTA, GTG.
||STOP  |||||| TAG, TAA, TGA
||||Acide aminé||Codons||
||Alanine ||Ala ||GCT, GCC, GCA, GCG||
||Arginine ||Arg ||CGT, CGC, CGA, CGG, AGA, AGG||
||Asparagine ||Asn ||AAT, AAC||
||Acide aspartique||Asp ||GAT, GAC||
||Cystéine ||Cys ||TGT, TGC||
||Glutamine ||Gln ||CAA, CAG||
||Acide glutamique||Glu ||GAA, GAG||
||Glycine ||Gly ||GGT, GGC, GGA, GGG||
||Histidine ||His ||CAT, CAC||
||Isoleucine ||Ile ||ATT, ATC, ATA||
||Leucine ||Leu ||TTA, TTG, CTT, CTC, CTA, CTG||
||
Lysine ||Lys ||AAA, AAG||
||Méthionine ||Met ||ATG||
||Phénylalanine ||Phe ||TTT, TTC||
||Proline ||Pro ||CCT, CCC, CCA, CCG||
||Sérine ||Ser ||TCT, TCC, TCA, TCG, AGT, AGC||
||Thréonine ||Thr ||ACT, ACC, ACA, ACG||
||Tryptophane ||Trp ||TGG||
||Tyrosine ||Tyr ||TAT, TAC||

||Valine ||Val ||GTT, GTC, GTA, GTG||
||
||STOP || TAG, TAA, TGA||

C’est la séance 2B0 de la formation 2013-2014.

Ce TP met en œuvre la recherche de sous-chaînes et l’utilisation d’heuristiques dans un contexte d’application à la génomique.

Il est inspiré par le document élaboré par Pierrick Bouttier au sein du groupe Algorithmique et Logique de l’IREM, lui même basé sur l’article À la recherche de régions codantes de François Rechenmann sur http://interstices.info, dont la lecture est par ailleurs chaudement recommandée.

Introduction

On reprend ici les deux premiers paragraphes de l’article de François Rechenmann, ce qui nous évitera de mal les reformuler (on le fait juste après en fait).

  • Stricto sensu, le génome d'un organisme est l'ensemble de ses gènes ; autrement dit, l'information nécessaire à ses cellules pour synthétiser les protéines qui assurent des fonctions diverses : structure, transport, catalyse, etc. Par extension, le terme génome désigne également le support physique de cette information, la molécule d'ADN (Acide DésoxyriboNucléique), composant des chromosomes présents au sein de chacune des cellules de l'organisme. L'ADN est un enchaînement de nucléotides de quatre types différents distingués par leur base azotée : adénine, thymine, cytosine et guanine, et notés par les initiales A, T, C et G. Et c'est cet enchaînement qui code l'information génétique, au même titre qu'une suite de 0 et de 1 peut coder un son, une image ou une suite d'instructions.

    Au sein d'un gène, et plus précisément au sein de sa région codante (ou CDS pour CoDing Sequence), la suite des triplets de nucléotides, appelés codons, dicte la séquence en acides aminés de la protéine. La correspondance entre les 64 (4³) codons possibles et les 20 acides aminés constitue le code génétique, identique à peu de variantes près chez tous les organismes vivants.

En bref : le génome d’un organisme est une suite de nucléotides {A,T,C,G}, tandis que les gènes sont des suites de codons (triplets de nucléotides) consécutifs dans le génome.

Mais toutes les suites de triplets ne codent pas nécessairement des protéines : comment les identifier au sein du génome.

Début et fin des séquences codantes

Citons encore :

  • Les biologistes savent que le début d'une région codante dans un génome bactérien est marqué par un triplet ATG, appelé start, et sa fin par l'un des triplets TAA, TAG ou TGA, appelés stop.

Deux premiers problèmes se posent :

  • on ne sait pas par avance dans quel sens il faut lire le génome pour obtenir une séquence codante ;

  • les gènes ne sont pas nécessairement alignés sur des positions multiples de trois nucléotides.

Il y a donc trois phases possibles dans chaque direction, et six manières en tout de lire dans le génome.

De plus, rien n’empêche des codons start de se ballader au milieu d’une séquence codante : ils codent alors l’acide aminé correspondant. Donc si on peut deviner où s’arrêter (les codons stop ne sont jamais traduits en acides aminés), il n’est pas évident de savoir où on commence.

Pire : rien n’empêche des codons start ou stop de se ballader à l’extérieur des séquences codantes ! À partir de ces informations, on ne peut donc qu’essayer de deviner où se trouvent les séquences codantes potentielles, au risque d’obtenir quantité de faux positifs.

C’est la première étape de ce TP.

Étant donnée une chaîne de caractères (nucléotides) 'A', 'C', 'G' et 'T', on cherche à obtenir la liste des séquences codantes potentielles, données par le sens de lecture et les indices des codons start et stop. On vous demande de réaliser l’heuristique suivante :

  • inspecter toutes les sous-chaînes délimitées par deux codons stop en phase,

  • au sein de ces sous-chaînes chercher le premier codon start en phase,

  • ce qui se trouve entre ce codon start (inclus) et le codon stop qui le suit (non inclus) est une séquence codante potentielle,

  • ne retenir que les séquences codantes potentielles de plus de 300 nucléotides.

Note : On ne se préoccupera pas de la quantité de mémoire gaspillée en codant chaque nucléotide comme un caractère (c’est seulement quatre fois trop).

Afin de ne pas travailler dans le vide, on utilisera les résultat du séquençage de l’ADN d’un organisme particulièrement simple : Bacillus subtilis subsp. subtilis str. 168. Les données sont issues de la base European Nucleotide Archive (ENA) et se présente sous forme textuelle par lignes de 60 nucléotides.

Pour référence, voici la liste des nucléotides 285000 à 290999.

TTTAACGACTATCGCGGATATGTCCGCTGTACAGTGACGCCTCACCAAGTGGAAAGCCGA
TTATCGGGTGATGCCATTTGTGACCGAGCCGGGCGCAGCCATTTCCACGCGGGCTTCATT
CGTTTACCAGAAAGACCAAACCGGGTTGAGAAAGGTATCATCCACAACAATCCAAGGCGG
GGTGAAGCAATCCGATGAGGTCGAAGAGGATCGTTTCTTTTCGCACAACAAAGCCCACGA
AAAACAAATGATTAAGAAGCGTGCAAAAATCACGAATTAAGGAGTGGAAATTATGTTTTC
AAACATTGGAATACCGGGCTTGATTCTCATCTTCGTCATCGCCCTCATTATTTTTGGCCC
TTCCAAGCTGCCGGAAATCGGGCGTGCCGCCGGACGGACACTGCTGGAATTTAAAAGCGC
CACAAAATCACTTGTGTCTGGTGATGAAAAAGAAGAGAAATCAGCTGAGCTGACAGCGGT
AAAGCAGGACAAAAACGCGGGCTGAATGCTGATGAGGCAGACACCGGGTCTGCCTCTTTT
TTTATGAAAGGGAGGGCTTTTTTGAATGGATAAAAAAGAAACCCATCTGATCGGGCATTT
AGAAGAGCTTCGCCGCCGGATTATCGTCACCCTTGCGGCATTTTTTCTATTTCTCATCAC
GGCTTTTTTGTTCGTACAGGACATTTATGACTGGCTGATCAGGGATTTGGATGGAAAGCT
GGCTGTGCTAGGACCGAGTGAAATCCTCTGGGTGTATATGATGCTTTCCGGCATTTGTGC
CATTGCGGCTTCTATCCCTGTTGCCGCGTACCAGCTGTGGCGTTTCGTTGCACCGGCGCT
GACTAAAACGGAGCGCAAGGTGACGCTCATGTACATCATGTACATACCAGGTTTATTTGC
GTTGTTTTTGGCGGGCATCTCCTTCGGATACTTTGTCTTGTTTCCGATCGTGCTCAGCTT
TTTGACTCATTTATCCTCCGGCCACTTTGAAACGATGTTTACGGCTGACCGCTACTTTAG
GTTTATGGTGAATTTGAGCCTGCCGTTCGGCTTCTTGTTTGAGATGCCCTTGGTGGTGAT
GTTTTTAACAAGGCTGGGCATCTTAAATCCTTACAGACTGGCCAAAGCGAGAAAGCTTTC
CTATTTTCTGCTGATTGTCGTGTCCATATTGATTACACCGCCTGATTTTATTTCTGATTT
TCTCGTGATGATCCCGCTTCTTGTCCTGTTTGAAGTGAGTGTCACCCTATCGGCGTTTGT
CTACAAAAAGAGGATGAGGGAAGAAACAGCGGCGGCCGCTTAGTGCAGCGTACCACCCGG
TGACTTCACATCCTCATCATATTGTGCGGCCGTAACAGCGGCGATTCTCAATGCCCGGAC
AATCGTGTCCAGGCTGAGGCTCGGCGCTGTTTTGTCGATTGTTTGCTGCGGAATGTAAGG
AATATGAATAAAACCGCCGCGAATGTGTGGGGATGTCCGGCTAATGTGATCCATTAACCC
GTAGAACAAATAGTTGCATACAAAGGTCCCCGCTGTGTAGGAAACCGCAGCTGGAATGCC
GTGTTCCTTCATCTTAGCAGTCATTCGTTTCACGGGAAGCCTTGTCCAGTAAGCGGCGGG
CCCATCTGGAGAAATCTCTTCATCAATCGGCTGATGTCCTTCGTTATCGGGGATTCGCGC
ATCTGCAAGGTTGATTGCCACTCGTTCCGGTGTAATCTGCATCCGTCCTCCTGCTTGGCC
GACACAAATTACGATATCTGGCTGATGTTTTTGAATGGCTTGGCGCAGAGTGTCCAGAGC
GGATCTAAAGACGGTTGGAATTTGTTCCGCTGTAATAATGGCTTCTTCTGTCTCGAAGCC
ATTAAGCCGTTTCGCCGCTTCCCATGATGGATTGACGGTTTCTTTGTCAAAAGGGTCAAA
GCCTGTGATCAGCACTTTTTTTCTCATTCTCCCATCTCCTTTTTCTTTTATTCTATTGTT
TATTTATGGGTTTTTCATCAAAATAATGTAAAGGAGTGAATCATAATGGAGCATTTGCCG
GAGCAGTATCGCCAGTTATTCCCAACCTTGCAGACGCATACGATGCTTGCCAGCTGTTCT
CAGAGCGCATTGGCAGAGCCTGTATCAAGGGCGATCCAGGATTATTATGATAGCCTGCTG
TATAAAGGGACGAACTGGAAAGAAGCGATTGAAAAAACAGAGTTTGCGAGAAACGAGTTT
GCAAAGCTGATCGGGGCTGAACCGGATGAAGTGGCGATTGTGCCGTCAGTTTCTGATGCA
CTGGTTTCTGTAGCATCGTCCTTAACTGCATTTGGAAAGAAGCACGTTGTATATACAGAT
ATGGATTTTCCGGCGGTGCCTCATGTTTGGCAGGCACACTCCGATTATACCGTATCCGTC
ATTCCATCAATAGACGGCGTGCTGCCGCTTGAACAATATGAAACGCATATTTCGGATGAA
ACAGTACTGACGTGTGTTCCTCACGTTCATTATCGTGACGGCTATGTTCAGGATATAAAA
GCGATTGCCGAGATTTCTCAGAGAAAGGGCTCTTTATTGTTTGTAGATGCTTATCAATCA
GCCGGGCATATTCCCATTGATGTGAAGGAATGGGGCGTAGATATGCTGGCAGCAGGCACC
CGGAAGTATTTGCTCGGCATACCGGGTGTGGCGTTTCTTTATGTGAGAAAGGAGCTGGCT
GACGCACTGAAGCCGAAAGCATCAGCTTGGTTCGGAAGAGAGAGCGGATTTGATGGGGCT
TATGCAAAAGTCGCGCGCCGTTTTCAAACGGGCACCCCAGCTTTTATCAGCGTATACGCA
GCTGCAGCGGCTTTATCGCTGCTGAATCATATTGGGGTTTCTCATATCAGGGATCATGTG
AAAACGATCTGTGCCGATGCAGTTCAATATGCCGCTGAAAAAGGCCTGCAGCTGGCGGCG
GCACAAGGTGGGATTCAGCCGGGCATGGTTGCGATCCGGGATGAGCGGGCATCGGAAACG
GCGGGGTTGCTGAAGAAGAAAAAAGTGATTTGCGCGCCGCGGGAAAATGTTATCCGTCTC
GCTCCCCATTTTTATAATACGAAGGAGGAAATGCGGCACGCGATTGATGAAATCGCGGCG
AAAACGATCCACAAGTAAACATGAAAAAGCCCCTGAACACTAGTCAGGGGCTTTTCATAT
TAATGATCTACTTTAACGCGTTTCATAAAGAAAGCGCCAATTAAACCGATAATGGCAACA
ATCATTGCAAACACAAATGCGTGCTGTACGCCTGCTGTCAAAGCTTGCGGGATGACTGCC
GGATCGGCAGGGTTTTTAACTGTACTCATATAATCATGCTGGCCTGCAGCCATAATGCTG
ACCGCAACCGCTGTTCCGATAGCGCCGGCCATTTGCTGCAGCGTGTTCATAATGGCGGTG
CCGTCTGGATAAAATTCACGCGGCAGTTGGTTTAAACCGTTTGTCTGTGCAGGCATCATG
ATCATAGAAATCCCGATCATCAAGCAGGTGTGCAGGATGATAATCAGCACAGCTGTTGAA
GTGGTCGTGACATTTGAGAAGAACCATAGTACAACGGTGACAATCACAAATCCCGGAATG
ACAAGCCATTTCGGCCCGTATTTATCGAACAAGCGGCCTGTAACAGGGGACATAAATCCA
TTTAAAATACCGCCCGGCAAGAGAACAAGACCAGATGCAAATGCAGTGAGGACTAAGCCG
CCTTGCAGATACATCGGCAGAAGCAGCATAGATGACAGAATGACCATCATACAAATGAAC
ACCATGATCACACCCAAAATAAACATCGGGTATTTGAACGCACGGAGGTTCATCATAGGC
TGCTTCATTGTCAGCTGGCGGATTGAAAATAAGATAAGGCCGACAACGCCGACAATCAGC
GACACGATAACAGTCGGGCTGGACCATCCCCCGGAGCCTTCACCCGCGTTGCTGAATCCG
AATACAATGCCGCCGAAGCCAATCGTCGACAGGATGATAGACAATACATCGATTTTCGGC
TTTGTCGTTTCAGATACATTTTGCATATATGCGATACCGAAAACAAGCGCCAGCACAAGG
AATGGAAGAGAGATCCAGAAAATCCAGTGCCAGTTGAGATGCTCCAGAACCAATCCTGAG
AAAGTTGGGCCGATGGCGGGCGCGAACATAATGACAAGCCCGATCGTTCCCATTGCGGCA
CCCCGTTTATGAGGCGGGAAAATCACCAAGATTGTGTTAAACATCAGCGGCAGTAAAAGA
CCGGTTCCAAGTGCCTGAACGATCCTTGCCGCTAATAAAAACGAGAAGCTCGGCGCAAGC
GCCGCAATGAATGTACCTAAAATTGAAAAGATAAGTGACACGGTAAAAAGCTGTCTTGTT
GTGAACCACTGCAACAGCAGTCCTGAAACAGGAACAAGGATACCGAGTACAAGCAGGTAG
CCCGTCGTTAACCATTGGACGGTTGCCGCTGTAATGTTCAATTCCTTCATAAGGTCGGTT
AACGCAATATTCAGCGCTGTTTCACTGAACATGCCGATAAAACCGGCCAACAGCAAGGAA
ATCATAATCGGCATCACTTTGTATTGCTGAGATGCTTTAGCTGTTGTTTCCAAAATCATT
TCCCCTCTCTATCAACTGCATGTAGTATGTCGTTTTTTTTATCTCTTCAGCAGGTCAGGA
ATGCAGCTGGAGATATGAAGGAGCGGCGTACTGTTTTTTGCCGTCAAAGATAAAAGGATG
CCGCCTTCAATCATCGCGTTAACCACAGTGCTGGCTTCTTTTGCACGGCTCTCGCTGCAG
CCAGTCTGCCGCAGTTTTTCCTCATACACAGAGGCCCATTCTTTGTAGGCTTCATGACAG
GCTTCGCGCAACGGTTCGCTTTTCAATGACGTCTCAGCCGCTAGCAAGCCCACAGGCAAG
CCTTCAATGTCTTCCGTACATGAAAACTGGCAGGAGAGCTCCTTCAAAAAGGCTTGAATG
CCTTCCGCTGGATCGGTGCAGGCTTCCATGCAGTCCGCGATTTTCTGACGGATATACTCC
TTCATCTCATTCACGGCTTCGATCGCAAGCTGTTCTTTACCCCCGGGAAAGTGGTAGTAA
AGAGAGCCTTTAGGCGCGCCGCTTTCCTTTATAATCTGGTTCAGCCCCGTGCCGTAATAC
CCTTGCAGCTGAAAAAGCCGGGTAGCTGCCGAAAGGATTTTCTCACGGGAATCTCCATAA
CTCATAACATTCCCACCTTACTGAATTGCAATCAAAAATATAGTGACTGGTCTATTATCT
TGATTCAATCATCAATTGTCAAGAAAAATTCATTGTATGAAAAGACAAAAAAAGAAGGAT
ATGACAACAAAAAATACTGAGAGAAAAGCTGACTGATCTTTTGACTGAATAGATAAAATG
TACAATGATTAATCATCATATGGATGTAAGGAGAGAAATAGATGAAAAAACAACGAATGC
TCGTACTTTTTACCGCACTATTGTTTGTTTTTACCGGATGTTCACATTCTCCTGAAACAA
AAGAATCCCCGAAAGAAAAAGCTCAGACACAAAAAGTCTCTTCGGCTTCTGCCTCTGAAA
AAAAGGATCTGCCAAACATTAGAATTTTAGCGACAGGAGGCACGATAGCTGGTGCCGATC
AATCGAAAACCTCAACAACTGAATATAAAGCAGGTGTTGTCGGCGTTGAATCACTGATCG
AGGCAGTTCCAGAAATGAAGGACATTGCAAACGTCAGCGGCGAGCAGATTGTTAACGTCG
GCAGCACAAATATTGATAATAAAATATTGCTGAAGCTGGCGAAACGCATCAACCACTTGC
TCGCTTCAGATGATGTAGACGGAATCGTCGTGACTCATGGAACAGATACATTGGAGGAAA
CCGCTTATTTTTTGAATCTTACCGTGAAAAGTGATAAACCGGTTGTTATTGTCGGTTCGA
TGAGACCTTCCACAGCCATCAGCGCTGATGGGCCTTCTAACCTGTACAATGCAGTGAAAG

De la grande littérature n’est-ce pas ?

Cette liste peut-être téléchargée dans le fichier bsubtilis.285000-290999.txt. Le génome complet (environ quatre millions de nucléotides) est aussi disponible en version compressée.

Une tâche auxiliaire pour exploiter ces données sera d’écrire une petite fonction qui prend en argument le nom d’un fichier au format ci-dessus, et retourne le contenu de ce fichier sous la forme d’une chaîne de nucléotides 'A', 'C', 'G' ou 'T'.

Testez votre algorithme de détection sur ces données conséquentes.

Décodage

On a vu que chaque codon (sauf les trois codons stop) code un acide aminé. Mais cette correspondance n’est pas injective : il n’y a qu’une vingtaine d’acides aminés.

La table suivante est reprise de Wikipédia et un peu modifiée par souci de simplification.

Acide aminé

Codons

Alanine

Ala

GCT, GCC, GCA, GCG

Arginine

Arg

CGT, CGC, CGA, CGG, AGA, AGG

Asparagine

Asn

AAT, AAC

Acide aspartique

Asp

GAT, GAC

Cystéine

Cys

TGT, TGC

Glutamine

Gln

CAA, CAG

Acide glutamique

Glu

GAA, GAG

Glycine

Gly

GGT, GGC, GGA, GGG

Histidine

His

CAT, CAC

Isoleucine

Ile

ATT, ATC, ATA

Leucine

Leu

TTA, TTG, CTT, CTC, CTA, CTG

Lysine

Lys

AAA, AAG

Méthionine

Met

ATG

Phénylalanine

Phe

TTT, TTC

Proline

Pro

CCT, CCC, CCA, CCG

Sérine

Ser

TCT, TCC, TCA, TCG, AGT, AGC

Thréonine

Thr

ACT, ACC, ACA, ACG

Tryptophane

Trp

TGG

Tyrosine

Tyr

TAT, TAC

Valine

Val

GTT, GTC, GTA, GTG

STOP

TAG, TAA, TGA

WikISN: Recherche de séquences codantes dans un génome (dernière édition le 2016-01-21 09:54:19 par LionelVaux)