DNA-Analyzer

Idee

Der DNA-Analyzer ist ein kleines Tool zur Analyse von DNA-Sequenzen. D.h. mit dem Tool ist es möglich die Häufigkeit von Basis-Sequenzen zu analysieren. Die Idee zu dem Tool kam mir bei der Lektüre des Buches "Methoden der Bioinformatik - Eine Einführung" von Marc-Thorsten Hütt und Manuel Dehnert. In dem Buch wird die DNA-Sequenz aus den Roman "Jurassic Park" untersucht und nachgewiesen, daß es sich um keine reale DNA-Sequenz handeln kann. Die Idee hinter dem Nachweis ist der CG-Gehalt in einer DNA-Sequenz, der niedriger ist, als der Gehalt anderer Basenpaare. Beispielsweise sieht die Verteilung der Basenpaare des ersten menschlichen Chromosoms folgendermaßen aus:

Human Chr. 1

Dabei wurden die Basen A, C, G, T zu einer Sequenz der Länge zwei zusammengefaßt. Also: AA, AC, AG, AT, CA, CC, CG, CT, GA, GC, GG, GT, TA, TC, TG, TT. Man sieht, daß der CG-Gehalt deutlich niedriger ist, als der Gehalt der anderen Sequenzen.

Nimmt man jetzt zum Vergleich die Nullhypothese hinzu, dann erkennt man die Abweichungen, zum erwarteten Ergebnis noch deutlicher.

Human Chr. 1 vs. Nullhypothese

Man sieht jetzt ganz deutlich, daß die blauen Balken, die mit der Nullhypothese berechnete Wahrscheinlichkeit für die Basenpaare war, und die grünen Balken die Tatsächliche Verteilung ist.

Jurassic Park

Untersucht man jetzt die Sequenz aus den "Jurassic Park"-Buch erhält man ein völlig anderes Bild. Die untersuchte Sequenz sieht folgendermaßen aus:

>JurassicPark DinoDNA from the book Jurassic Park gcgttgctgg cgtttttcca taggctccgc ccccctgacg agcatcacaa aaatcgacgc ggtggcgaaa cccgacagga ctataaagat accaggcgtt tccccctgga agctccctcg tgttccgacc ctgccgctta ccggatacct gtccgccttt ctcccttcgg gaagcgtggc tgctcacgct gtaggtatct cagttcggtg taggtcgttc gctccaagct gggctgtgtg ccgttcagcc cgaccgctgc gccttatccg gtaactatcg tcttgagtcc aacccggtaa agtaggacag gtgccggcag cgctctgggt cattttcggc gaggaccgct ttcgctggag atcggcctgt cgcttgcggt attcggaatc ttgcacgccc tcgctcaagc cttcgtcact ccaaacgttt cggcgagaag caggccatta tcgccggcat ggcggccgac gcgctgggct ggcgttcgcg acgcgaggct ggatggcctt ccccattatg attcttctcg cttccggcgg cccgcgttgc aggccatgct gtccaggcag gtagatgacg accatcaggg acagcttcaa cggctcttac cagcctaact tcgatcactg gaccgctgat cgtcacggcg atttatgccg caagtcagag gtggcgaaac ccgacaagga ctataaagat accaggcgtt tcccctggaa gcgctctcct gttccgaccc tgccgcttac cggatacctg tccgcctttc tcccttcggg ctttctcatt gctcacgctg taggtatctc agttcggtgt aggtcgttcg ctccaagctg acgaaccccc cgttcagccc gaccgctgcg ccttatccgg taactatcgt cttgagtcca acacgactta acgggttggc atggattgta ggcgccgccc tataccttgt ctgcctcccc gcggtgcatg gagccgggcc acctcgacct gaatggaagc cggcggcacc tcgctaacgg ccaagaattg gagccaatca attcttgcgg agaactgtga atgcgcaaac caacccttgg ccatcgcgtc cgccatctcc agcagccgca cgcggcgcat ctcgggcagc gttgggtcct gcgcatgatc gtgctagcct gtcgttgagg acccggctag gctggcgggg ttgccttact atgaatcacc gatacgcgag cgaacgtgaa gcgactgctg ctgcaaaacg tctgcgacct atgaatggtc ttcggtttcc gtgtttcgta aagtctggaa acgcggaagt cagcgccctg

Faßt man die Basenpaare, wie beim menschlichen Chromosom, zusammen, dann erhält man folgende Verteilung:

Jurassic Park vs. Nullhypothese

Man sieht sofort, daß der CG-Gehalt (grüner Balken) viel zu hoch ist. Er liegt sogar über dem der Nullhypothese (blauer Balken). Das Lustige daran ist, daß Michael Crichton, auf Grund dieser Analyse für den zweiten Teil "The Lost World" den Wissenschaftler Dr. Mark Boguski eingeladen hat, der für ihn eine DNA-Sequenz erzeugte, die den oben gezeigten Makel nicht hat. Dr. Mark Boguski war auch derjenige, der den Fehler in der DNA gefunden hat und dazu ein Paper veröffentlicht hat. (Boguski, M.S. A Molecular Biologist Visits Jurassic Park. (1992) BioTechniques 12(5):668-669).

The Lost World

Das Ergebnis dieser Zusammenarbeit war folgende DNA-Sequenz:

>LostWorld DinoDNA from the book The Lost World gaattccgga agcgagcaag agataagtcc tggcatcaga tacagttgga gataaggacg gacgtgtggc agctcccgca gaggattcac tggaagtgca ttacctatcc catgggagcc atggagttcg tggcgctggg ggggccggat gcgggctccc ccactccgtt ccctgatgaa gccggagcct tcctggggct gggggggggc gagaggacgg aggcgggggg gctgctggcc tcctaccccc cctcaggccg cgtgtccctg gtgccgtggg cagacacggg tactttgggg accccccagt gggtgccgcc cgccacccaa atggagcccc cccactacct ggagctgctg caaccccccc ggggcagccc cccccatccc tcctccgggc ccctactgcc actcagcagc gggcccccac cctgcgaggc ccgtgagtgc gtcatggcca ggaagaactg cggagcgacg gcaacgccgc tgtggcgccg ggacggcacc gggcattacc tgtgcaactg ggcctcagcc tgcgggctct accaccgcct caacggccag aaccgcccgc tcatccgccc caaaaagcgc ctgcgggtga gtaagcgcgc aggcacagtg tgcagccacg agcgtgaaaa ctgccagaca tccaccacca ctctgtggcg tcgcagcccc atgggggacc ccgtctgcaa caacattcac gcctgcggcc tctactacaa actgcaccaa gtgaaccgcc ccctcacgat gcgcaaagac ggaatccaaa cccgaaaccg caaagtttcc tccaagggta aaaagcggcg ccccccgggg gggggaaacc cctccgccac cgcgggaggg ggcgctccta tggggggagg gggggacccc tctatgcccc ccccgccgcc ccccccggcc gccgcccccc ctcaaagcga cgctctgtac gctctcggcc ccgtggtcct ttcgggccat tttctgccct ttggaaactc cggagggttt tttggggggg gggcgggggg ttacacggcc cccccggggc tgagcccgca gatttaaata ataactctga cgtgggcaag tgggccttgc tgagaagaca gtgtaacata ataatttgca cctcggcaat tgcagagggt cgatctccac tttggacaca acagggctac tcggtaggac cagataagca ctttgctccc tggactgaaa aagaaaggat ttatctgttt gcttcttgct gacaaatccc tgtgaaaggt aaaagtcgga cacagcaatc gattatttct cgcctgtgtg aaattactgt gaatattgta aatatatata tatatatata tatatctgta tagaacagcc tcggaggcgg catggaccca gcgtagatca tgctggattt gtactgccgg aattc

Wenn man sich jetzt das Ergebnis der Analyse ansieht, fällt auf daß dieses mal der CG-Gehalt (grüner Balken) deutlich unter dem Wert der Nullhypothese (blauer Balken) liegt.

The Lost World vs. Nullhypothese

Programm

Das Programm analysiert die Häufigkeit von DNA-Sequenzen und vergleicht sie mit der Nullhypothese. D.h. es wird berechnet, welche Verteilung anhand des Vorkommens der einzelnen Basen A,C,G,T für die Sequenzen zu erwarten gewesen wären. Die Ergebnisse werden in eine Text-Datei geschrieben, die mit Tools wie Excel oder Mathematica eingelesen und als Balkendiagramm dargestellt werden können.

Das Programm wird folgendermaßen benutzt:

./DNAAnalyzer.exe DNADATEI SEQUENCELENGTH

Wobei

DNADATEI der Name der DNA-Datei ist. Normalerweise im Fasta-Format. Und SEQUENCELENGTH die Länge der Basen-Sequenz. Also z.B. 2.

Für den Aufruf:

./DNAAnalyzer.exe Human_chr1_sequence.fa 2 erhält man als Ausgabe eine Text-Datei die folgendermaßen aussieht:

----------------------------------- Number of Bases A=64875254 ^= 29.1145 C=46493995 ^= 20.8654 G=46483769 ^= 20.8608 T=64974829 ^= 29.1592 ----------------------------------- AA 0.0847655 0.0950835 AC 0.0607487 0.0502142 AG 0.0607353 0.0712649 AT 0.0848956 0.0745729 CA 0.0607487 0.072721 CC 0.0435366 0.0544472 CG 0.0435271 0.0101329 CT 0.0608419 0.0713708 GA 0.0607353 0.059727 GC 0.0435271 0.0441625 GG 0.0435175 0.0543915 GT 0.0608286 0.0503362 TA 0.0848956 0.0636233 TC 0.0608419 0.0598128 TG 0.0608286 0.0728104 TT 0.0850259 0.0953289

Der obere Teil der Ausgabe enthält die Anzahl und die Wahrscheinlichkeit der einzelnen Basen. Im unteren Teil findet man in der ersten Spalte die Sequenz. In der zweiten Spalte die mit der Nullhypothese berechnete Wahrscheinlichkeit und in der dritten Spalte die tatsächliche Verteilung für die Sequenz.

Die Ausgabe ist so formatiert, daß sie mittels Copy&Paste direkt in Excel übernommen werden kann, um dort ein Balkendiagramm daraus zu erstellen.

Einschränkungen

Es ist maximal möglich Sequenzen der Länge 4 zu untersuchen und das Programm ist auf das Alphabet {A,C,G,T} beschränkt.

Download

Das Programm wurde mit dem GCC unter Cygwin übersetzt und benötigt deshalb die Cygwin-Dll, für die Ausführung. Diese Dll ist Bestandteil des ZIP-Pakets.

Download: DNA-Analyzer