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
 
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 namensreversed_stranddefinieren, um den Ausgabestring zu speichern.
- 
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktionlen(). 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 einerfor-Schleife in umgekehrter Reihenfolge.
- 
Wenn wir während der Iteration auf das Zeichen A stoßen, hängen wir T anreversed_strandan. In ähnlicher Weise werden wir T, G und C anreversed_strandanhä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 denreversed_strandan.
- 
Nach Ausführung derfor-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 Namencomplement_chars, um die Zeichen des umgekehrten Komplements des DNA-Strangs zu speichern.
- 
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktionlen().
- 
Danach durchlaufen wir die Zeichen des eingegebenen DNA-Strangs mit einerfor-Schleife in umgekehrter Reihenfolge.
- 
Wenn wir in Iterationen auf das Zeichen A stoßen, hängen wir T ancomplement_charsan, indem wir die Methodeappend()verwenden. Dieappend()-Methode nimmt, wenn sie aufcomplement_charsaufgerufen wird, ein Zeichen als Eingabeargument und hängt es ancomplement_charsan.
- 
In ähnlicher Weise werden wir T, G und C ancomplement_charsanhä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 diecomplement_charsan.
- 
Nach Ausführung derfor-Schleife erhalten wir eine Liste von Zeichen des umgekehrten Komplements des eingegebenen DNA-Strangs incomplement_chars.
- 
Danach verwenden wir diejoin()-Methode, um das umgekehrte Komplement des ursprünglichen DNA-Strangs zu erhalten. Diejoin()-Methode nimmt, wenn sie auf eineminput_stringaufgerufen 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 Methodejoin()zu erhalten, rufen wir die Methodejoin()für eine leere Zeichenfolge mitcomplement_charsals 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 namensreversed_strand, um den Ausgabestring zu speichern.
- 
Dann finden wir die Länge des eingegebenen DNA-Strangs mit der Funktionlen().
- 
Danach durchlaufen wir die Zeichen des eingegebenen DNA-Strangs in umgekehrter Reihenfolge mit einerfor-Schleife.
- 
Während der Iteration rufen wir die Methodeget()aufreverse_dictmit dem aktuellen Zeichen als erstem und zweitem Argument auf. Wenn das aktuelle Zeichen inreverse_dictvorhanden ist, gibt dieget()-Methode das DNA-Strangkomplement zurück; Andernfalls gibt die Methodeget()das aktuelle Zeichen zurück.
- 
Wir werden die Ausgabe der Methodeget()anreversed_strandanhängen.
- 
Nach Ausführung derfor-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 Funktionmaketrans()eine Übersetzungstabelle.
- 
Die Funktionmaketrans()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 Methodemaketrans()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 Methodetranslate(), um das umgekehrte Komplement des DNA-Strangs zu erhalten.
- 
Dietranslate()-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 Methodetranslate()auf dem umgekehrten DNA-Strang mit der Übersetzungstabelle als Eingabeargument auf.
- 
Nach Ausführung dertranslate()-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 FunktionSeq()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 Methodereverse_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 überprüft, ob eine Zeichenkette auf eine 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
