Skip to content

CharliesCodes/baum-welch-algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baum-Welch-Algorithmus zur Sequenzanalyse in der Bioinformatik

Hierbei handelt es sich um eine Python Implementierung des Baum Welch Algorithmus für Hidden Markov Modelle.
Eine gesuchte Sequenz-Abfolge wird in das Modell gegeben.

Via Baum-Welch Algorithmus werden so lange Forward- & Backward- Algorithmus durchgeführt, bis stabile Resultate entstehen.
Bei jeder Itteration werden mit Hilfe der neu entstandenen Alpha- und Beta-Matrizen die Emissions- und Transmissions Matrizen angepasst. Jede Baum-Welch Itteration erzeugt dabei fortlaufend nummerierte SVG-Datein, welche jeweils Alpha und Beta Matrix darstellen.

Eingabe

Anfangsverteilung/ Initial Probability Distribution π

Die Initialverteilung wurde durch ein zusätzliches Symbol (Komma) im Eingabealphabet hinzugefügt.

Eingabealphabet V

Die möglichen Beobachtungen Festgelegt wurden diese auf die Nukleinsäuren: Adenin, Thymins, Guanin und Cytosin

self.SYMBOLS = [",", "A", "T", "G", "C"]

Für die Untersuchung von RNA- oder Protein Sequenzen müssen diese entsprechend angepasst werden Das Komma dient der Init

Zustände/ States S

Das Modell nutzt 3 Zustände ( 0, 1, 2 )

Übergangsmatrix/ Transition A

Die A-Matrix zeigt die Übergangswahrscheinlichkeiten einzelner Zustände ineinander. Leserichtung: Von Index -> Nach Spalte

0 1 2
0 0 0.5 0.5
1 0 0.25 0.75
2 0.5 0.25 0.25

Beobachtungsmatrix/ Emission B

Die B-Matrix gibt an, wie wahrscheinlich es ist, die jeweils mögliche Beobachtung in den verschiedenen Zuständen zu erzeugen.
Die Komma-Spalte gibt die Anfangsverteilung an.

, A T G C
0 1 0 0 0 0
1 0 1/3 1/3 1/6 1/6
2 0 1/6 1/3 1/6 1/3

Results

Die jeweils hellblau dargestellten Zellen geben die errechnete Wahrscheinlichkeit der gesuchten Output-Sequenz an.

Forward

Result Forward

Startwerte

Startwerte Forward

Endwerte

Endwerte Forward

Backward

Result backward

Startwerte

Startwerte Backward

Endwerte

Endwerte Backward

About

Baum Welch Algorithm for Hidden Markov Models visualized with python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages