Skip to content

michalsek/bioinfoproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projekt Bioinformatyka - Klasyfikator pseudowęzłów

Napisz program, który dla zadanej na wejściu struktury drugorzędowej (zapis w formacie dot-brackets) zidentyfikuje pseudowęzły oraz określi ich klasyfikację wg podziału stosowanego przez Pseudoviewer2: H, HH, HHH, HLin, HLout, LL.

Wymagania
Uruchomienie

Program jako parametr przyjmuje ścieżkę do pliku zawierającego w osobnych liniach struktury w notacji dot-bracket (niesparowane nukleotydy zapisywane za pomocą '.'). Na standardowe wyjście wypisywany są wszystkie podstruktury znalezione w strukturze oraz ich klasyfikacja (H, HH, HHH, HL_in, HL_out, LL, niesklasyfikowany). W przypadku niepodania parametru program używa jako wejścia pliku test.in

python run.py [input.file]
Testowanie

Skrypt testowy jako parametr przyjmuje ścieżkę do pliku pickle, zawierającego trzy tablice: dane wejściowe (struktury dot bracket), oraz dwie tablice zawierające poprawną klasyfikację pseudowęzłów. W przypadku niepodania parametru używany jest plik test.pickle zawierający 304 struktury pochodzące z bazy PseudoBase++, sklasyfikowane na podstawie informacji zawartych w artykule PSEUDOVIEWER2: Visualization of RNA pseudoknots of any type.

  python test.py [inputFile.pickle]
Rozwiązanie

Zaimplementowane rozwiązanie polega na redukcji struktury do prostszego zapisu, który następnie jest klasyfikowany za pomocą mapy. Kroki algorytmu:

  1. usunięcie znaków, od których typ pseudowęzła nie zależy (niesparowane nukleotydy, przerwy)
  2. zredukowanie kolejno występujących tych samych symboli do pojedynczego wystąpienia np. ((((((( -> (
  3. Znalezienie oraz zastąpienie pojedynczym symbolem zamkniętych podstruktur np. ([)()()()] -> ([)SSS] -> ([)S]
  4. redukcja podstruktur znajdujących się poza pseudowęzłem np. ([)]S -> ([)]
  5. Klasyfikacja za pomocą mapy szablonów

About

Projekt Bioinformatyka

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages