Obtenir le complément inverse d'un brin d'ADN à l'aide de Python
- Complément inverse d’un brin d’ADN
-
Obtenir le complément inverse d’un brin d’ADN à l’aide de la boucle
for
en Python -
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode
join()
en Python -
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode
get()
en Python - Obtenir le complément inverse d’un brin d’ADN à l’aide de la compréhension de liste en Python
-
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode
translate()
en Python - Obtenir le complément inverse d’un brin d’ADN à l’aide du module Biopython en Python
- Conclusion
Tout en travaillant sur des tâches scientifiques en Python, nous devons effectuer certaines tâches. Cet article traite de différentes manières d’obtenir le complément inverse d’un brin d’ADN à l’aide de Python.
Complément inverse d’un brin d’ADN
Un brin d’ADN est principalement représenté par quatre types de bases, à savoir l’adénine (A), la thymine (T), la guanine (G) et la cytosine (C). Il peut également y avoir d’autres types de bases.
Chaque brin d’ADN est représenté par une série de lettres A, T, G et C. Par exemple, ACGTAATTGGCC peut être l’un des brins d’ADN.
Pour obtenir le complément d’un brin d’ADN, nous remplaçons A par T, C par G, G par C et T par A dans le brin d’origine. Par exemple, le complément de ACGTAATTGGCC est TGCATTAACCGG.
Pour inverser le complément d’un brin d’ADN, nous allons inverser les caractères du complément du brin d’ADN. Par conséquent, le complément inverse sera GGCCAATTACGT.
Voyons maintenant comment obtenir le complément inverse d’une chaîne d’ADN en utilisant Python.
Obtenir le complément inverse d’un brin d’ADN à l’aide de la boucle for
en Python
Nous suivrons les étapes suivantes pour obtenir le complément inverse d’un brin d’ADN en utilisant une boucle for
en Python.
-
Nous allons d’abord définir une chaîne vide nommée
reversed_strand
pour stocker la chaîne de sortie. -
Ensuite, nous trouverons la longueur du brin d’ADN d’entrée à l’aide de la fonction
len()
. La fonctionlen()
prend la chaîne du brin d’ADN et renvoie la longueur. -
Après cela, nous allons parcourir les caractères du brin d’ADN d’entrée en utilisant une boucle
for
dans l’ordre inverse. -
Lors de l’itération, si nous rencontrons le caractère A, nous ajouterons T à
reversed_strand
. De même, nous ajouterons T, G et C àreversed_strand
si nous rencontrons A, C et G dans la séquence. -
Si nous rencontrons un autre caractère dans le brin d’ADN d’entrée, nous ajouterons le même caractère au
reversed_strand
. -
Après avoir exécuté la boucle
for
, nous obtiendrons le brin d’ADN inversé dans la variablereversed_strand
.
Vous pouvez observer cela dans l’exemple suivant.
input_strand = "ACGTAATTGGCC"
reversed_strand = ""
length = len(input_strand)
for i in range(length):
character = input_strand[length - 1 - i]
if character == "A":
reversed_strand = reversed_strand + "T"
elif character == "T":
reversed_strand = reversed_strand + "A"
elif character == "G":
reversed_strand = reversed_strand + "C"
elif character == "C":
reversed_strand = reversed_strand + "G"
else:
reversed_strand = reversed_strand + character
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode join()
en Python
Dans l’approche ci-dessus, lors de la création de reversed_strand
, une nouvelle chaîne est créée pour chaque caractère dans le brin d’ADN d’entrée. Cela peut être coûteux en temps et en mémoire si les brins d’ADN d’entrée sont trop longs.
Pour éviter cela, nous pouvons utiliser une liste pour obtenir le complément inverse d’un brin d’ADN en utilisant Python.
Nous utiliserons les étapes suivantes pour inverser la complémentation d’un brin d’ADN en utilisant une boucle for
, une liste et la méthode join()
.
-
Tout d’abord, nous allons créer une liste vide nommée
complement_chars
pour stocker les caractères du complément inverse du brin d’ADN. -
Ensuite, nous trouverons la longueur du brin d’ADN d’entrée à l’aide de la fonction
len()
. -
Après cela, nous allons parcourir les caractères du brin d’ADN d’entrée en utilisant une boucle
for
dans l’ordre inverse. -
Dans les itérations, si nous rencontrons le caractère A, nous ajouterons T à
complement_chars
en utilisant la méthodeappend()
. La méthodeappend()
, lorsqu’elle est invoquée surcomplement_chars
, prend un caractère comme argument d’entrée et l’ajoute àcomplement_chars
. -
De même, nous ajouterons T, G et C à
complement_chars
si nous rencontrons A, C et G dans la séquence. -
Si nous rencontrons un autre caractère dans le brin d’ADN d’entrée, nous ajouterons le même caractère à
complement_chars
. -
Après avoir exécuté la boucle
for
, nous obtiendrons une liste de caractères du complément inverse du brin d’ADN d’entrée danscomplement_chars
. -
Après cela, nous utiliserons la méthode
join()
pour obtenir le complément inverse du brin d’ADN d’origine. La méthodejoin()
, lorsqu’elle est invoquée sur uneinput_string
, prend un objet itérable comme argument d’entrée ; après exécution, il retourne une nouvelle chaîne contenant les éléments de l’objet itérable comme ses caractères, séparés parinput_string
. -
Pour obtenir le complément inverse du brin d’ADN à l’aide de la méthode
join()
, nous invoquerons la méthodejoin()
sur une chaîne vide aveccomplement_chars
comme argument d’entrée. Après avoir exécuté la méthodejoin()
, nous obtiendrons le complément inverse du brin d’ADN d’entrée.
Vous pouvez observer cela dans l’exemple suivant.
input_strand = "ACGTAATTGGCC"
reversed_strand = ""
complement_chars = []
length = len(input_strand)
for i in range(length):
character = input_strand[length - 1 - i]
if character == "A":
complement_chars.append("T")
elif character == "T":
complement_chars.append("A")
elif character == "G":
complement_chars.append("C")
elif character == "C":
complement_chars.append("G")
else:
complement_chars.append(character)
reversed_strand = "".join(complement_chars)
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode get()
en Python
Au lieu d’utiliser le bloc if-else
dans la boucle for
, nous pouvons utiliser un dictionnaire et la méthode get()
pour obtenir le complément inverse d’un brin d’ADN en utilisant Python. Pour cette tâche, nous allons créer le dictionnaire suivant.
reverse_dict = {"A": "T", "T": "A", "G": "C", "C": "G"}
La méthode get()
récupère une valeur associée à une clé dans un dictionnaire. Lorsqu’elle est invoquée sur un dictionnaire, la méthode get()
prend la clé comme premier argument d’entrée et une valeur facultative comme deuxième argument d’entrée.
Si la clé est présente dans le dictionnaire, elle renvoie la valeur qui lui est associée. Sinon, la méthode get()
renvoie la valeur optionnelle passée en second argument.
Nous utiliserons les étapes suivantes pour inverser le complément d’un brin d’ADN en utilisant la méthode get()
et reverse_dict
.
-
Tout d’abord, nous allons définir une chaîne vide nommée
reversed_strand
pour stocker la chaîne de sortie. -
Ensuite, nous trouverons la longueur du brin d’ADN d’entrée à l’aide de la fonction
len()
. -
Après cela, nous parcourrons les caractères du brin d’ADN d’entrée dans l’ordre inverse en utilisant une boucle
for
. -
Lors de l’itération, nous invoquerons la méthode
get()
surreverse_dict
avec le caractère courant comme premier et deuxième argument. Si le caractère courant est présent dansreverse_dict
, la méthodeget()
renverra le complément de brin d’ADN ; sinon, la méthodeget()
renverra le caractère courant. -
Nous ajouterons la sortie de la méthode
get()
àreversed_strand
. -
Après avoir exécuté la boucle
for
, nous obtiendrons le brin d’ADN inversé dans la variablereversed_strand
.
Vous pouvez observer cela dans l’exemple suivant.
input_strand = "ACGTAATTGGCC"
reversed_strand = ""
reverse_dict = {"A": "T", "T": "A", "G": "C", "C": "G"}
length = len(input_strand)
for i in range(length):
character = input_strand[length - 1 - i]
reversed_strand = reversed_strand + reverse_dict.get(character, character)
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Comme indiqué précédemment, l’approche consistant à créer des chaînes dans la boucle for
est coûteuse. Par conséquent, nous pouvons utiliser une liste et la méthode join()
avec la méthode get()
pour obtenir le complément inverse d’un brin d’ADN à l’aide de Python, comme le montre l’exemple suivant.
input_strand = "ACGTAATTGGCC"
reversed_strand = ""
reverse_dict = {"A": "T", "T": "A", "G": "C", "C": "G"}
complement_chars = []
length = len(input_strand)
for i in range(length):
character = input_strand[length - 1 - i]
complement_chars.append(reverse_dict.get(character, character))
reversed_strand = "".join(complement_chars)
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Ici, nous avons d’abord créé une liste de caractères dans le complément inverse tout en itérant le brin d’ADN d’entrée. Après cela, nous avons créé le complément inverse en joignant les caractères à l’aide de la méthode join()
.
Obtenir le complément inverse d’un brin d’ADN à l’aide de la compréhension de liste en Python
Au lieu d’utiliser la boucle for
, vous pouvez également utiliser la compréhension de liste pour inverser la complémentation d’un brin d’ADN à l’aide de Python.
Nous allons d’abord inverser le brin d’ADN d’entrée en utilisant l’indexation pour compléter un brin d’ADN en utilisant la compréhension de liste. Après cela, nous utiliserons la compréhension de liste avec la méthode get()
et reverse_dict
créée dans le dernier exemple pour obtenir une liste de caractères du complément inverse.
Une fois que nous aurons obtenu la liste des caractères, nous utiliserons la méthode join()
pour trouver le complément inverse du brin d’ADN d’entrée, comme indiqué dans l’exemple suivant.
input_strand = "ACGTAATTGGCC"
reversed_strand = ""
reverse_dict = {"A": "T", "T": "A", "G": "C", "C": "G"}
temp = input_strand[::-1]
complement_chars = [reverse_dict.get(character) for character in temp]
reversed_strand = "".join(complement_chars)
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Obtenir le complément inverse d’un brin d’ADN à l’aide de la méthode translate()
en Python
On peut aussi trouver le complément inverse d’un brin d’ADN en utilisant la méthode translate()
. Pour cela, nous utiliserons les étapes suivantes.
-
Tout d’abord, nous inverserons le brin d’ADN d’entrée en utilisant l’indexation des chaînes. Après cela, nous allons créer une table de traduction en utilisant la fonction
maketrans()
. -
La fonction
maketrans()
prend deux chaînes comme arguments d’entrée, et la longueur des deux chaînes doit être la même. Après exécution, il renvoie une table de traduction dans laquelle chaque caractère de la première chaîne est mappé sur le caractère à la même position dans la deuxième chaîne. -
En invoquant la méthode
maketrans()
sur le brin d’ADN d’entrée, nous passerons"ATGC"
comme premier argument d’entrée et"TACG"
comme second argument d’entrée. De cette façon, chaque caractère du brin d’ADN d’entrée sera mis en correspondance avec son complément. -
Après avoir créé la table de traduction, nous utiliserons la méthode
translate()
pour obtenir le complément inverse du brin d’ADN. -
La méthode
translate()
, lorsqu’elle est invoquée sur une chaîne, prend une table de traduction comme argument d’entrée. Après exécution, il retourne une nouvelle chaîne en remplaçant les caractères de la chaîne sur laquelle il est invoqué selon la table de traduction ; si le mappage d’un caractère n’est pas trouvé dans la table de traduction, il copie le même caractère dans la chaîne de sortie. -
Nous invoquerons la méthode
translate()
sur le brin d’ADN inversé avec la table de traduction comme argument d’entrée. -
Après avoir exécuté la méthode
translate()
, nous obtiendrons le complément inverse du brin d’ADN d’entrée.
Vous pouvez observer cela dans l’exemple suivant.
input_strand = "ACGTAATTGGCC"
translation_table = input_strand.maketrans("ATCG", "TAGC")
temp = input_strand[::-1]
reversed_strand = temp.translate(translation_table)
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Obtenir le complément inverse d’un brin d’ADN à l’aide du module Biopython en Python
Nous pouvons également utiliser le module Biopython en Python pour inverser la complémentation d’un brin d’ADN. À l’aide de l’instruction suivante, vous pouvez installer le module Biopython à l’aide du programme d’installation du package pour Python PIP3.
pip3 install Bio
Le module Biopython fournit la méthode reverse_complement()
pour inverser la complémentation d’un brin d’ADN en utilisant Python. Lorsqu’elle est invoquée sur un objet séquence d’ADN, la méthode reverse_complement()
renvoie le complément inverse d’une séquence d’ADN.
Nous utiliserons les étapes suivantes pour obtenir le complément inverse d’un brin d’ADN en utilisant la méthode reverse_complement()
en Python.
-
Tout d’abord, nous créons une séquence d’ADN à partir du brin d’ADN en utilisant la fonction
Seq()
. La fonctionSeq()
prend une chaîne représentant le brin d’ADN en entrée et renvoie une séquence d’ADN. -
Après avoir obtenu l’objet séquence d’ADN, nous invoquerons la méthode
reverse_complement()
sur la séquence pour obtenir le complément inverse du brin d’ADN, comme le montre l’exemple suivant.
from Bio.Seq import Seq
input_strand = "ACGTAATTGGCC"
sequence = Seq(input_strand)
reversed_strand = sequence.reverse_complement()
print("The input DNA strand is:", input_strand)
print("The reverse complement is:", reversed_strand)
Production:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Conclusion
Dans cet article, nous avons discuté de diverses approches pour inverser la complémentation d’un brin d’ADN à l’aide de Python. Parmi toutes ces méthodes, vous pouvez choisir l’approche avec la méthode translate()
si vous n’êtes pas autorisé à utiliser une bibliothèque externe ; sinon, vous pouvez utiliser le module Biopython pour inverser la complémentation d’un brin d’ADN en Python.
Nous espérons que vous avez apprécié la lecture de cet article. Restez à l’écoute pour des articles plus informatifs.
Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.
GitHubArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python