Eine DNA-Sequenz ist ein Text aus vier Buchstaben
In der Bioinformatik wird eine DNA-Sequenz als Zeichenkette gespeichert, also als Text aus den Buchstaben A, C, G und T. Mit Python lässt sich so ein Text zählen, umbauen und vergleichen.
In diesem Modul arbeiten Sie nur mit erfundenen Beispielsequenzen. Es geht um Zeichenketten und Algorithmen, nicht um echte Organismen oder Befunde.
Am Ende dieser Lektion
Notiz
Ich kann eine DNA-Sequenz zählen und in ihren Gegenstrang umwandeln.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Base | ein Buchstabe der Sequenz: A, C, G oder T | |
| Sequenz | eine Reihe von Basen in fester Reihenfolge | ATGCGC |
| GC-Anteil | der Anteil der Basen, die G oder C sind | |
| Komplement | der Partner einer Base: A mit T, C mit G | |
| Gegenstrang | die rückwärts gelesene Sequenz aus lauter Partnern |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Sequenz lässt sich wie ein Text behandeln
Eine Sequenz besteht aus vier Basen: A, C, G und T. In Python ist sie ein Text in Anführungszeichen. Mit len zählen Sie ihre Länge, mit .count einen einzelnen Buchstaben.
Zwei Basen passen immer zusammen: A mit T und C mit G. Der Partner einer Base heißt Komplement.
Beispiel: Basen und ihre Partner
| Base | Partner | Zählt beim GC-Anteil? |
|---|---|---|
| A | T | Nein |
| T | A | Nein |
| C | G | Ja |
| G | C | Ja |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
G und C in einer Sequenz zählen
docker exec jupyter python3 -c "s='ATGCGC'; print(s.count('G') + s.count('C'), len(s))"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Der GC-Anteil ist ein Bruchteil der Länge
Der GC-Anteil sagt, welcher Teil der Basen G oder C ist. Sie zählen alle G und C und teilen durch die Länge der Sequenz.
Bei zehn Basen mit vier G oder C ist der GC-Anteil 4 von 10, das sind 0,4 oder 40 Prozent. Der Wert liegt immer zwischen 0 und 1.
GC-Anteil einer Probe berechnen
# Eine erfundene Probe aus zehn Basen.
probe = "ATGCGCATTA"
gc = 0
for base in probe:
if base == "G" or base == "C":
gc = gc + 1
print("G und C:", gc, "von", len(probe))
print("GC-Anteil:", gc / len(probe))
# Ändern Sie die Probe auf "GGGGCCCCAT" und führen Sie erneut aus.
Der Gegenstrang wird rückwärts gelesen
Die zweite Hälfte einer DNA hat die Partner-Basen, liest sich aber in die Gegenrichtung. Für den Gegenstrang (englisch reverse complement) drehen Sie die Sequenz um und ersetzen dann jede Base durch ihr Komplement.
Aus AACGT wird zuerst TGCAA und dann ACGTT. In Python dreht [::-1] einen Text um.
Den Gegenstrang Schritt für Schritt bilden
# Zuerst rückwärts lesen, dann jede Base durch ihren Partner ersetzen.
probe = "AACGTT"
partner = {"A": "T", "T": "A", "C": "G", "G": "C"}
rueckwaerts = probe[::-1]
ergebnis = ""
for base in rueckwaerts:
ergebnis = ergebnis + partner[base]
print(rueckwaerts)
print(ergebnis)
# Das Ergebnis ist hier gleich der Probe. Probieren Sie "ACCG" aus.
Den Gegenstrang in einer Zeile
docker exec jupyter python3 -c "s='AACGT'; print(s[::-1].translate(str.maketrans('ACGT', 'TGCA')))"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele ersetzen nur jede Base durch ihr Komplement und vergessen das Umdrehen. Dann stimmt die Richtung nicht. Zuerst umdrehen, dann ersetzen, oder umgekehrt: Beides zusammen ist der Gegenstrang, eines allein nicht.