Outils pour utilisateurs

Outils du site


nsi:tds:adn

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:tds:adn [2022/03/07 09:43] goupillwikinsi:tds:adn [2025/03/19 14:22] (Version actuelle) – oubli d'un ' à la dernière ligne du script yadam
Ligne 21: Ligne 21:
 file = open('codons.csv', 'r', encoding='utf8') file = open('codons.csv', 'r', encoding='utf8')
 reader = csv.DictReader(file, delimiter=';') reader = csv.DictReader(file, delimiter=';')
-codons = []+CODONS= []
 for row in reader: for row in reader:
-    codons.append(dict(row))+    CODONS.append(dict(row))
 file.close() file.close()
  
-def testBrin(brinADN:str) -> bool:+def longueur_valide(brin_adn:str) -> bool:
     """     """
-    Reçoit en entrée un brin d'ADN sous forme d'une chaîne. +    brin_adn: chaîne de caractères représentant un brin d'adn 
-    Renvoie True si le brin est valide: +    Renvoie True si le brin_adn contient un nombre de lettres multiple de 3
-       nombre de lettres multiple de 3 +
-       - composé des lettres ATGC+
     """     """
  
-def brinComplementaire(brinADN:str) -> str:+# tests : 
 +assert longueur_valide('') == True 
 +assert longueur_valide('AGTCCCACT') == True 
 +assert longueur_valide('AGTCCCAC') == False 
 +     
 +def contenu_valide(brinADN:str) -> bool:
     """     """
-    Reçoit en entrée un brin d'ADN sous forme d'une chaîne.+    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.     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
 +    """
 +
 +# test
 +assert recherche_symbole('UUA') == 'L'
          
-def toAcides(brinADN:str) -> str:+def adn_to_acides(brin_adn:str) -> str:
     """     """
-    Reçoit en entrée un brin d'ADN sous forme d'une chaîne.+    brin_adn: chaîne de caractères représentant un brin d'adn
     Renvoie la chaîne correspondant à la suite d'acides aminés.     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'
 </code> </code>
 +
 +<WRAP tip>
 +J'ai choisi d'écrire ''CODONS'' en majuscules pour souligner son statut particulier : ''CODONS'' une fois défini ne change pas et est utilisé en variable globale.
 +
 +On évite d'utiliser des variables globales, mais ici c'est justifié : Le contenu de ''CODONS'' est fixé une fois pour toutes, il n'est pas susceptible de changer en cours de programme, on n'envisage pas d'utiliser les fonctions avec des contenus ''CODONS'' différents.
 +</WRAP>
nsi/tds/adn.1646642622.txt.gz · Dernière modification : de goupillwiki