Fiche de révision : Python et biologie des séquences

Plan du Cours

  1. Bases du langage Python
  2. Manipulation des séquences ADN
  3. Boucles et conditions
  4. Listes et dictionnaires biologiques
  5. Fonctions et retour de résultat
  6. Lecture et analyse des fichiers FASTA
  7. Motifs et hasard en Python
  8. Recettes de bioinformatique
  9. Notions biologiques fondamentales
  10. Pièges et stratégie de résolution

1. Bases du langage Python

★ À maîtriser

📌 En Python, = affecte une valeur à une variable tandis que == compare deux valeurs.

  • Les types Python utilisés dans la fiche sont:
    • int
    • float
    • str
    • bool
    • list
    • tuple
    • dict

Compléments

  • L’opérateur // réalise une division entière, tandis que % renvoie le reste de la division.

  • input() lit une donnée saisie par l’utilisateur et print() affiche un résultat à l’écran.

Astuce mémo

= affecte, == compare : l’un modifie, l’autre vérifie

2. Manipulation des séquences ADN

Notions clés & Définitions

  • Indexation : Permet d’accéder à une lettre d’une chaîne, dont la première position est l’indice 0 et la dernière peut être atteinte avec l’indice -1.
  • Slicing : Le slicing extrait une portion de chaîne avec une borne de début incluse et une borne de fin exclue, comme seq[1:4] qui sélectionne les positions 1, 2 et 3.

★ À maîtriser

  • Les méthodes de chaîne utilisées sont:
    • .upper()
    • .lower()
    • .count()
    • .replace()
    • .strip()
    • .join()

Compléments

  • L’expression seq[::-1] inverse l’ordre des caractères d’une séquence.

Astuce mémo

Une séquence comme une bande de lettres, que l’on découpe, inverse et recolle

3. Boucles et conditions

★ À maîtriser

  • Une boucle for parcourt successivement les éléments d’une séquence, éventuellement avec leurs indices grâce à range(len(DNA)).

  • Une boucle while répète son bloc tant que sa condition est vraie et doit modifier la variable de contrôle pour éviter une boucle infinie.

📌 Une structure if, elif, else teste successivement des conditions et exécute le bloc correspondant à la première condition vraie, ou le bloc else si aucune ne l’est.

Compléments

  • Les opérateurs logiques and, or, not et in représentent respectivement ET, OU, NON et l’appartenance.

Astuce mémo

Parcourir, tester, répéter : for/while puis if/elif/else

4. Listes et dictionnaires biologiques

Notions clés & Définitions

  • Dictionnaire de complémentarité : Associe A à T, T à A, C à G et G à C.

★ À maîtriser

📌 Une liste Python est modifiable, tandis qu’un tuple est non modifiable après sa création.

Compléments

  • Les opérations principales sur une liste sont:
    • append() pour ajouter
    • l’affectation par indice pour modifier
    • sort() pour trier
    • reverse() pour inverser
    • pop() pour retirer un élément

Astuce mémo

La liste stocke des éléments, le dictionnaire relie une clé à une valeur

5. Fonctions et retour de résultat

Notions clés & Définitions

  • Fonction : Bloc de code réutilisable défini avec def, qui peut recevoir des arguments et renvoyer un résultat avec return.

Points essentiels

📌 return renvoie une valeur réutilisable par le programme, tandis que print affiche une valeur et renvoie None.

  • 🔄 La fonction complémentaire:
    1. parcourt chaque base
    2. consulte le dictionnaire de complémentarité
    3. ajoute la base complémentaire
    4. renvoie la séquence obtenue

Astuce mémo

return transmet une valeur, print l’affiche seulement

6. Lecture et analyse des fichiers FASTA

Notions clés & Définitions

  • Format FASTA : Présente chaque séquence avec une ligne d’en-tête commençant par >, suivie d’une ou plusieurs lignes de séquence.

Points essentiels

  • 🔄 La lecture d’un fichier FASTA consiste à:

    1. l’ouvrir en mode lecture
    2. parcourir ses lignes
    3. appliquer .strip()
    4. le fermer
  • Le parsing FASTA stocke chaque nom d’en-tête comme clé d’un dictionnaire et concatène les lignes suivantes comme valeur de séquence.

Astuce mémo

Ouvrir, lire, nettoyer, stocker, fermer

7. Motifs et hasard en Python

Notions clés & Définitions

  • Expression régulière : Permet de rechercher des motifs dans un texte ou une séquence avec le module re.

★ À maîtriser

  • Dans les expressions régulières, [GC] signifie G ou C, [^ATGC] signifie tout caractère sauf A, T, G ou C, T{5,} signifie au moins cinq T consécutifs et $ indique la fin de la chaîne.

Compléments

  • Le module random fournit:
    • randint()
    • choice()
    • shuffle()
    • sample()
    • random()

Astuce mémo

re cherche un motif déterminé, random produit une sélection aléatoire

8. Recettes de bioinformatique

★ À maîtriser

📐 Formule — Le pourcentage de GC se calcule par GC=nombre de G+nombre de Clongueur de la seˊquence×100\mathrm{GC} = \frac{\mathrm{nombre\ de\ G} + \mathrm{nombre\ de\ C}}{\mathrm{longueur\ de\ la\ séquence}} \times 100.

  • La transcription ADN vers ARN se réalise dans la fiche en remplaçant chaque T par U avec DNA.replace('T', 'U').

  • Pour extraire les exons indiqués, la fiche concatène DNA[:64] pour les positions 0 à 63 et DNA[91:] pour la portion commençant à la position 91.

  • Pour générer une séquence aléatoire de 100 bases à 60 % de GC, la fiche crée un pool composé de 20 A, 20 T, 30 G et 30 C, le mélange, puis prend ses 100 premières bases.

Compléments

  • La fonction mutate(protein, rate) calcule le nombre de mutations avec round(longueur × rate / 100), choisit des positions sans doublons avec random.sample() et remplace les acides aminés choisis par des éléments aléatoires de la chaîne des 20 acides aminés.

Astuce mémo

Compter, complémenter, transcrire, extraire, générer, muter, comparer

9. Notions biologiques fondamentales

★ À maîtriser

📌 La complémentarité de l’ADN associe A à T et C à G, tandis que l’antiparallélisme oriente les deux brins en sens opposés, de 5'→3' et de 3'→5'.

📌 Un exon est une région codante, tandis qu’un intron est une région non codante.

  • Un poly-T est une suite d’au moins cinq T consécutifs.

Compléments

  • Les acides aminés hydrophobes listés dans la fiche sont A, I, L, M, F, V, P et G.

Astuce mémo

Complémentarité A↔T/C↔G, transcription T→U, exon codant/intron non codant

10. Pièges et stratégie de résolution

★ À maîtriser

📌 Un remplacement séquentiel de A par T puis de T par A peut transformer toute la séquence en A, tandis qu’un dictionnaire ou une boucle lettre par lettre réalise correctement une complémentation simultanée.

📌 Un indice Python commence à 0, tandis que la position 1 correspond au deuxième caractère d’une séquence.

  • 🔄 Pour résoudre un exercice, il faut:
    1. identifier l’entrée
    2. déterminer l’opération
    3. choisir l’outil correspondant

Compléments

📌 Dans un slicing, [1:3] exclut la position 3, tandis que [1:4] inclut les positions 1, 2 et 3.

Astuce mémo

Entrée, opération, outil : identifier ces trois éléments avant de coder

Tableaux de synthèse

Structures de données Python

StructureModifiableUsage dans la fiche
listOuiStocker et modifier une collection
tupleNonStocker une collection fixe
dictOuiAssocier une clé à une valeur, notamment les bases complémentaires

Teste tes connaissances

Teste tes connaissances sur Python et biologie des séquences avec 27 questions à choix multiples et corrections détaillées.

1. Quelle instruction compare la valeur de `x` à 10 sans modifier cette variable ?

2. Quelle valeur produit l’expression 1717 \\% 5 en Python ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Python et biologie des séquences avec 60 flashcards interactives.

Quelle est la différence entre = et == en Python ?

= affecte une valeur, == compare deux valeurs.

Quels types Python sont utilisés dans cette fiche ?

int, float, str, bool, list, tuple et dict.

Que fait l'opérateur // en Python ?

Il réalise une division entière.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches