Outils pour utilisateurs

Outils du site


nsi:tds:adn

Ceci est une ancienne révision du document !



Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Lecture de fichier ADN

Un brin d'ADN est une succession de bases nucléiques symbolisées par A, T, G, C pour adénine, thymine, guanine, cytosine. Une fonction de l'ADN est de coder les protéines que la cellule sera chargée de synthétiser. Pour se faire, un brin d'ADN complémentaire est créé :

A ⇒ U (uracile), T ⇒ A, G ⇒ C, C ⇒ G

puis chaque triplet – codon – de bases code une acide aminé.

Par exemple, UAU code pour Y : tyrosine

On vous fournit un fichier codons.csv précisant toutes les associations codon ⇒ acide aminé. Voici les premières lignes du fichier.

codonSymboleAcide aminé
UUUFPhenylalanine
UUCFPhenylalanine
UUALLeucine
UUGLLeucine
CUULLeucine

Complétez le fichier adn.py ci-dessous :

# adn.py

import csv
file = open('codons.csv', 'r', encoding='utf8')
reader = csv.DictReader(file, delimiter=';')
codons = []
for row in reader:
    codons.append(dict(row))
file.close()

def longueur_valide(brin_adn:str) -> bool:
    """
    brin_adn: chaîne de caractères représentant un brin d'adn
    Renvoie True si le brin_adn contient un nombre de lettres multiple de 3
    """

# tests :
assert longueur_valide('') == True
assert longueur_valide('AGTCCCACT') == True
assert longueur_valide('AGTCCCAC') == False
    
def contenu_valide(brinADN:str) -> bool:
    """
    brin_adn: chaîne de caractères représentant un brin d'adn
    Renvoie True si le brin_adn ne contient que les lettres ATGC
    """

# tests :
assert contenu_valide('') == True
assert contenu_valide('AGTCCCACT') == True
assert contenu_valide('AGTCCXCAC') == False

def brin_complementaire(brin_adn:str) -> str:
    """
    brin_adn: chaîne de caractères représentant un brin d'adn
    précondition : brin_adn ne contient que les lettres ATGC
    Renvoie la chaîne correspondant au brin complémentaire.
    exemple:
      >>> brin_complementaire('AATCACGGG')
      'UUAGUGCCC'
    """

# tests
assert brin_complementaire('') = ''
assert brin_complementaire('AATCACGGG') = 'UUAGUGCCC'

def recherche_symbole(codon:str) -> str:
    """
    codon: triplet complémentaire.
    Renvoie le symbole de l'acide aminée correspondante
    exemple :
      >>> recherche_symbole('UUA')
      'L'
    précondition: codon existe
    utilise le tableau codons comme variable globale
    """

# test
assert recherche_symbole('UUA') == 'L'
    
def adn_to_acides(brin_adn:str) -> str:
    """
    brin_adn: chaîne de caractères représentant un brin d'adn
    Renvoie la chaîne correspondant à la suite d'acides aminés.
    exemple:
      >>> adn_to_acides('AATCACGGG')
      'LVP'
    """
    
# tests
assert adn_to_acides('') == ''
assert adn_to_acides('AATCACGGG') == 'LVP
nsi/tds/adn.1646678780.txt.gz · Dernière modification : de goupillwiki