Das umgekehrte Komplement eines DNA-Strangs mit Python ermitteln
- Umgekehrtes Komplement eines DNA-Strangs
-
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der
for
-Schleife in Python -
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der
join()
-Methode in Python -
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der
get()
-Methode in Python - Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mithilfe des Listenverständnisses in Python
-
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der
translate()
-Methode in Python - Holen Sie sich das umgekehrte Komplement eines DNA-Strangs mit dem Biopython-Modul in Python
- Fazit
![Das umgekehrte Komplement eines DNA-Strangs mit Python ermitteln](/img/Python/feature-image---reverse-complement-a-dna-strand-using-python.webp)
Während wir an wissenschaftlichen Aufgaben in Python arbeiten, müssen wir bestimmte Aufgaben ausführen. Dieser Artikel beschreibt verschiedene Möglichkeiten, um mit Python das umgekehrte Komplement eines DNA-Strangs zu erhalten.
Umgekehrtes Komplement eines DNA-Strangs
Ein DNA-Strang wird hauptsächlich durch vier Arten von Basen dargestellt, nämlich Adenin (A), Thymin (T), Guanin (G) und Cytosin (C). Es kann auch andere Arten von Basen geben.
Jeder DNA-Strang wird durch eine Reihe von Buchstaben A, T, G und C dargestellt. Beispielsweise könnte ACGTAATTGGCC einer der DNA-Stränge sein.
Um das Komplement eines DNA-Strangs zu erhalten, ersetzen wir A durch T, C durch G, G durch C und T durch A im ursprünglichen Strang. Beispielsweise ist das Komplement von ACGTAATTGGCC TGCATTAACCGG.
Um das Komplement eines DNA-Strangs umzukehren, werden wir die Zeichen im Komplement des DNA-Strangs umkehren. Daher ist das umgekehrte Komplement GGCCAATTACGT.
Lassen Sie uns nun diskutieren, wie Sie mit Python das umgekehrte Komplement eines DNA-Strings erhalten können.
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der for
-Schleife in Python
Wir werden die folgenden Schritte befolgen, um das umgekehrte Komplement eines DNA-Strangs mit einer for
-Schleife in Python zu erhalten.
-
Wir werden zuerst einen leeren String namens
reversed_strand
definieren, um den Ausgabestring zu speichern. -
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktion
len()
. Die Funktionlen()
nimmt die Zeichenfolge des DNA-Strangs und gibt die Länge zurück. -
Danach durchlaufen wir die Zeichen des eingegebenen DNA-Strangs mit einer
for
-Schleife in umgekehrter Reihenfolge. -
Wenn wir während der Iteration auf das Zeichen A stoßen, hängen wir T an
reversed_strand
an. In ähnlicher Weise werden wir T, G und C anreversed_strand
anhängen, wenn wir in der Sequenz auf A, C und G stoßen. -
Wenn wir im eingegebenen DNA-Strang auf ein anderes Zeichen stoßen, hängen wir dasselbe Zeichen an den
reversed_strand
an. -
Nach Ausführung der
for
-Schleife erhalten wir den umgekehrten DNA-Strang in der Variablenreversed_strang
.
Dies können Sie im folgenden Beispiel beobachten.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der join()
-Methode in Python
Beim obigen Ansatz wird beim Erstellen von reversed_strand
eine neue Zeichenfolge für jedes Zeichen im eingegebenen DNA-Strang erstellt. Dies kann in Bezug auf Zeit und Speicher kostspielig sein, wenn die eingegebenen DNA-Stränge zu lang sind.
Um dies zu vermeiden, können wir eine Liste verwenden, um mit Python das umgekehrte Komplement eines DNA-Strangs zu erhalten.
Wir werden die folgenden Schritte verwenden, um einen DNA-Strang mit einer for
-Schleife, einer Liste und der join()
-Methode rückwärts zu komplementieren.
-
Zuerst erstellen wir eine leere Liste mit dem Namen
complement_chars
, um die Zeichen des umgekehrten Komplements des DNA-Strangs zu speichern. -
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktion
len()
. -
Danach durchlaufen wir die Zeichen des eingegebenen DNA-Strangs mit einer
for
-Schleife in umgekehrter Reihenfolge. -
Wenn wir in Iterationen auf das Zeichen A stoßen, hängen wir T an
complement_chars
an, indem wir die Methodeappend()
verwenden. Dieappend()
-Methode nimmt, wenn sie aufcomplement_chars
aufgerufen wird, ein Zeichen als Eingabeargument und hängt es ancomplement_chars
an. -
In ähnlicher Weise werden wir T, G und C an
complement_chars
anhängen, wenn wir in der Sequenz auf A, C und G stoßen. -
Wenn wir im eingegebenen DNA-Strang auf ein anderes Zeichen stoßen, hängen wir dasselbe Zeichen an die
complement_chars
an. -
Nach Ausführung der
for
-Schleife erhalten wir eine Liste von Zeichen des umgekehrten Komplements des eingegebenen DNA-Strangs incomplement_chars
. -
Danach verwenden wir die
join()
-Methode, um das umgekehrte Komplement des ursprünglichen DNA-Strangs zu erhalten. Diejoin()
-Methode nimmt, wenn sie auf eineminput_string
aufgerufen wird, ein iterierbares Objekt als Eingabeargument; nach der Ausführung gibt es einen neuen String zurück, der die Elemente des iterierbaren Objekts als Zeichen enthält, getrennt durchinput_string
. -
Um das umgekehrte Komplement des DNA-Strangs mit der Methode
join()
zu erhalten, rufen wir die Methodejoin()
für eine leere Zeichenfolge mitcomplement_chars
als Eingabeargument auf. Nach Ausführung derjoin()
-Methode erhalten wir das umgekehrte Komplement des eingegebenen DNA-Strangs.
Dies können Sie im folgenden Beispiel beobachten.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der get()
-Methode in Python
Anstatt den if-else
-Block in der for
-Schleife zu verwenden, können wir ein Wörterbuch und die get()
-Methode verwenden, um das umgekehrte Komplement eines DNA-Strangs mit Python zu erhalten. Für diese Aufgabe erstellen wir das folgende Wörterbuch.
reverse_dict = {"A": "T", "T": "A", "G": "C", "C": "G"}
Die Methode get()
ruft einen Wert ab, der einem Schlüssel in einem Wörterbuch zugeordnet ist. Wenn sie für ein Wörterbuch aufgerufen wird, nimmt die Methode get()
den Schlüssel als erstes Eingabeargument und einen optionalen Wert als zweites Eingabeargument.
Wenn der Schlüssel im Wörterbuch vorhanden ist, gibt er den ihm zugeordneten Wert zurück. Andernfalls gibt die Methode get()
den als zweites Argument übergebenen optionalen Wert zurück.
Wir werden die folgenden Schritte verwenden, um das Komplement eines DNA-Strangs mit der Methode get()
und reverse_dict
umzukehren.
-
Zuerst definieren wir einen leeren String namens
reversed_strand
, um den Ausgabestring zu speichern. -
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktion
len()
. -
Danach durchlaufen wir die Zeichen des eingegebenen DNA-Strangs in umgekehrter Reihenfolge mit einer
for
-Schleife. -
Während der Iteration rufen wir die Methode
get()
aufreverse_dict
mit dem aktuellen Zeichen als erstem und zweitem Argument auf. Wenn das aktuelle Zeichen inreverse_dict
vorhanden ist, gibt dieget()
-Methode das DNA-Strangkomplement zurück; Andernfalls gibt die Methodeget()
das aktuelle Zeichen zurück. -
Wir werden die Ausgabe der Methode
get()
anreversed_strand
anhängen. -
Nach Ausführung der
for
-Schleife erhalten wir den umgekehrten DNA-Strang in der Variablenreversed_strand
.
Dies können Sie im folgenden Beispiel beobachten.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Wie bereits erwähnt, ist der Ansatz, Zeichenfolgen in der for
-Schleife zu erstellen, kostspielig. Daher können wir eine Liste und die Methode join()
mit der Methode get()
verwenden, um das umgekehrte Komplement eines DNA-Strangs mit Python zu erhalten, wie im folgenden Beispiel gezeigt.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Hier haben wir zunächst eine Liste von Zeichen im umgekehrten Komplement erstellt, während wir den eingegebenen DNA-Strang iterieren. Danach haben wir die umgekehrte Ergänzung erstellt, indem wir die Zeichen mit der Methode join()
verbunden haben.
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mithilfe des Listenverständnisses in Python
Anstatt die for
-Schleife zu verwenden, können Sie auch Listenverständnis verwenden, um einen DNA-Strang mit Python rückwärts zu komplementieren.
Wir werden zuerst den eingegebenen DNA-Strang mithilfe der Indizierung umkehren, um einen DNA-Strang mithilfe des Listenverständnisses zu ergänzen. Danach verwenden wir Listenverständnis mit der Methode get()
und reverse_dict
, die im letzten Beispiel erstellt wurden, um eine Liste von Zeichen des umgekehrten Komplements zu erhalten.
Sobald wir die Liste der Zeichen erhalten haben, verwenden wir die join()
-Methode, um das umgekehrte Komplement des eingegebenen DNA-Strangs zu finden, wie im folgenden Beispiel gezeigt.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Erhalten Sie das umgekehrte Komplement eines DNA-Strangs mit der translate()
-Methode in Python
Wir können auch das umgekehrte Komplement eines DNA-Strangs mit der Methode translate()
finden. Dazu verwenden wir die folgenden Schritte.
-
Zuerst werden wir den eingegebenen DNA-Strang mithilfe der String-Indizierung umkehren. Danach erstellen wir mit der Funktion
maketrans()
eine Übersetzungstabelle. -
Die Funktion
maketrans()
nimmt zwei Strings als Eingabeargumente, und die Länge beider Strings sollte gleich sein. Nach der Ausführung gibt es eine Übersetzungstabelle zurück, in der jedes Zeichen in der ersten Zeichenfolge auf das Zeichen an derselben Position in der zweiten Zeichenfolge abgebildet wird. -
Beim Aufruf der Methode
maketrans()
auf dem Eingabe-DNA-Strang übergeben wir"ATGC"
als erstes Eingabeargument und"TACG"
als zweites Eingabeargument. Auf diese Weise wird jedes Zeichen im eingegebenen DNA-Strang seinem Komplement zugeordnet. -
Nachdem wir die Übersetzungstabelle erstellt haben, verwenden wir die Methode
translate()
, um das umgekehrte Komplement des DNA-Strangs zu erhalten. -
Die
translate()
-Methode nimmt eine Übersetzungstabelle als Eingabeargument, wenn sie für einen String aufgerufen wird. Nach der Ausführung gibt es eine neue Zeichenfolge zurück, indem es die Zeichen in der Zeichenfolge, für die es aufgerufen wird, gemäß der Übersetzungstabelle ersetzt; Wenn die Abbildung eines Zeichens nicht in der Übersetzungstabelle gefunden wird, kopiert es dasselbe Zeichen in die Ausgabezeichenfolge. -
Wir rufen die Methode
translate()
auf dem umgekehrten DNA-Strang mit der Übersetzungstabelle als Eingabeargument auf. -
Nach Ausführung der
translate()
-Methode erhalten wir das umgekehrte Komplement des eingegebenen DNA-Strangs.
Dies können Sie im folgenden Beispiel beobachten.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Holen Sie sich das umgekehrte Komplement eines DNA-Strangs mit dem Biopython-Modul in Python
Wir können auch das Biopython-Modul in Python verwenden, um einen DNA-Strang umgekehrt zu komplementieren. Mit der folgenden Anweisung können Sie das Biopython-Modul mit dem Paketinstallationsprogramm für Python PIP3 installieren.
pip3 install Bio
Das Biopython-Modul bietet die Methode reverse_complement()
, um einen DNA-Strang mit Python rückwärts zu komplementieren. Wenn sie für ein DNA-Sequenzobjekt aufgerufen wird, gibt die Methode reverse_complement()
das umgekehrte Komplement einer DNA-Sequenz zurück.
Wir werden die folgenden Schritte verwenden, um das umgekehrte Komplement eines DNA-Strangs mit der Methode reverse_complement()
in Python zu erhalten.
-
Zuerst erstellen wir aus dem DNA-Strang mit der Funktion
Seq()
eine DNA-Sequenz. Die FunktionSeq()
nimmt als Eingabe einen String, der den DNA-Strang darstellt, und gibt eine DNA-Sequenz zurück. -
Nachdem wir das DNA-Sequenzobjekt erhalten haben, rufen wir die Methode
reverse_complement()
für die Sequenz auf, um das umgekehrte Komplement des DNA-Strangs zu erhalten, wie im folgenden Beispiel gezeigt.
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)
Ausgabe:
The input DNA strand is: ACGTAATTGGCC
The reverse complement is: GGCCAATTACGT
Fazit
In diesem Artikel haben wir verschiedene Ansätze zur Umkehrkomplementierung eines DNA-Strangs mit Python besprochen. Aus all diesen Methoden können Sie den Ansatz mit der Methode translate()
wählen, wenn Sie keine externe Bibliothek verwenden dürfen; Andernfalls können Sie das Biopython-Modul verwenden, um einen DNA-Strang in Python umgekehrt zu komplementieren.
Wir hoffen, dass Ihnen das Lesen dieses Artikels gefallen hat. Bleiben Sie dran für weitere informative Artikel.
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.
GitHubVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert