1-BIN-301, 2-AIN-501 Methods in Bioinformatics, 2023/24

Introduction · Rules · Tasks and dates · Materials · Moodle
Quizzes can be found in Moodle.
Homework assignments and journal club papers can be found in Tasks and dates.
Exam rules, example questions and syllabus
Groups for journal club have each their own group in Moodle.


CB03: Rozdiel medzi revíziami

Z MBI
Prejsť na: navigácia, hľadanie
(Vytvorená stránka „==Zarovnávanie sekvencií, opakovanie== * Uvažujme skórovanie zhoda +3, nezhoda -1, medzera -2 * Reťazce TAACGG a CACACT Globálne zarovnanie * Rekurencia: A[i,j] =...“)
(Žiaden rozdiel)

Verzia zo dňa a času 21:13, 7. október 2020

Zarovnávanie sekvencií, opakovanie

  • Uvažujme skórovanie zhoda +3, nezhoda -1, medzera -2
  • Reťazce TAACGG a CACACT

Globálne zarovnanie

  • Rekurencia: A[i,j] = max {A[i-1,j]-2, A[i,j-1]-2, A[i-1,j-1]+s(x_i, y_j) }, pričom A[0,i]=-2i, A[i,0]=-2i
        C   A   C   A   C   T
    0  -2  -4  -6  -8  -10  -12
T  -2  
A  -4  
A  -6  
C  -8  
G  -10  
G  -12  


Lokálne zarovnanie

  • Rekurencia: A[i,j] = max {0, A[i-1,j]-2, A[i,j-1]-2, A[i-1,j-1]+s(x_i, y_j) }, pričom A[0,i]=0, A[i,0]=0
        C   A   C   A   C   T
    0   0   0   0   0   0   0
T   0 
A   0 
A   0 
C   0 
G   0 
G   0 


Dotploty

  • Dotplot je graf, ktory ma na kazdej osi jednu sekvenciu a ciarky zobrazuju lokalne zarovnania (cesty v matici)
  • Niekoľko príkladov dotplotov: pdf
  • Prvé príklady dotplotov porovnávajú rôzne mitochondriálne genomy
  • Tieto boli vytvorene pomocou nastroja YASS http://bioinfo.lifl.fr/yass/yass.php
  • Dalsi priklad je zarovnanie genu Oaz Drosophila zinc finger s genomickym usekom chr2R:10,346,241-10,352,965
  • Trochu iny dotplot, ktory funguje pre proteiny a nerobi lokalne zarovnania, iba spocita skore bez medzier v kazdom okne danej vysky a nakresli ciaru ak prekroci urcenu hodnotu
  • http://emboss.bioinformatics.nl/cgi-bin/emboss/dotmatcher
  • Vyskusame protein escargot voci sebe s hodnotami http://pfam.xfam.org/protein/ESCA_DROME window 8 threshold 24
  • Pomocou YASSu vyskusame kluster zhlukov PRAME z ludskeho genomu

Dynamické programovanie v Exceli

Práca so vzorcami v tabuľkovom procesore (Excel, LibreOffice, ...)

  • Okrem konkrétnych hodnôt, napr. 0.3, môžu byť aj vzorce, ktoré začínajú =, napr =0.3*0.3 dá do políčka 0.09 (* znamená násobenie)
  • Vo vzorcoch môžeme používať aj hodnoty z iných políčok, napr. =A2+B2 dáme do políčka C2, zobrazí sa tam súčet
  • Ak políčko so vzorcom skopírujeme do iného políčka, Excel sa snaží uhádnuť, ako zmeniť vzorec
    • Ak sme v C2 mali =A2+B2 a skopírovali sme to do C3, vzorec sa zmení na =A3+B3
  • Ak niektoré adresy políčok majú zostávať rovnaké aj pri kopírovaní, dáme pred písmeno aj číslo $,
    • Ak v C2 máme =A2+$B$2 a skopírujeme to do C3, dostaneme =A3+B2
  • Dolár môžeme dať aj pred iba jednu súradnicu (stĺpec alebo riadok), tá sa potom nebude pri kopírovaní meniť

Späť k minciam

  • Vráťme sa k príkladu s rozmieňaním mincí a skúsme si ho "naprogramovať" v Exceli, resp. spreadsheet aplikácii v OpenOffice
  • Vseobecna formulacia:
    • Vstup: hodnoty k minci m_1,m_2,...,m_k a cielova suma X (vsetko kladne cele cisla)
    • Vystup: najmensi pocet minci, ktore potrebujeme na zaplatenie X
  • My pouzijeme mince hodnot 1,3,4
  • Spravime si tabulku, kde si pre kazdu sumu i=0,1,2,...X pamatame A[i]=najmensi pocet minci, ktore treba na vyplatenie sumy i (ak je viac moznosti, zoberieme lubovolnu, napr. najvacsiu)
i      0    1    2    3    4    5    6    7    8    9  
A[i]   0    1    2    1    1    2    2    2    2    3
  • vzorec A[i] = min { A[i-1]+1, A[i-3]+1, A[i-4]+1 }
  • aby sme nemuseli zvlast uvazovat hodnoty mensie ako 4, (kde sa neda A[i-4]), urcime si A[-1], A[-2] atd ako nejake velke cislo (napr 100), takze vzorec plati pre vsetky i>0
i      -4  -3  -2  -1  0    1    2    3    4    5    6    7    8    9  
A[i]  100 100 100 100  0    1    2    1    1    2    2    2    2    3
  • v exceli si najskor spravime horny riadok tabulky
    • do nejakeho policka (napr, B4) zapiseme prvu hodnotu (-4)
    • do susedneho C4 zapiseme vzorec =B4+1, dostaneme hodnotu -3
      • vzorce zacinaju znamienkom =
      • B4 je suradnica policka o jedno vlavo, k nej pripocitame 1
    • policko C4 nakopirujeme do riadku kolkokrat chceme, dostaneme hodnoty -2, -1, 0, 1,...
      • kopirovat sa da tahanim laveho dolneho rohu okienka
      • vzorec sa automaticky posuva na =C4+1, =D4+1, atd
    • o riadok nizsie do B5..E5 napiseme hodnotu 100 (okienka A[-4]..A[-1])
    • do F5 dame 0 (okienko A[0] nasej tabulky)
    • do G5 napiseme vzorec =MIN(F5+1,D5+1,C5+1), t.j. A[1] = min(A[1-1]+1,A[1-3]+1,A[1-4]+1)
    • tento vzorec potom nakopirujeme do riadku tabulky
    • F5 sa bude posuvat na G5, H5,... a podobne ostatne dva cleny

Cvičenie:

  • Ako by sme zmenili na inu mincovu sustavu, napr. 1,2,5?
  • Stiahnite si subor zo stranky predmetu a skuste si tuto zmenu urobit [1]


Dynamické programovanie v Exceli (2)

Zarovnávanie sekvencií v Exceli

  • skusme si dynamicke programovanie pre globalne zarovnanie naprogramovat v Exceli
  • budeme postupovat podobne ako pri minciach, ale potrebujeme dve specialne funkcie: MID(text,od,dlzka) z textu vyberie urcitu cast. Pomocou toho si vstupny text rozdelime na jednotlive pismena, ktore si napiseme do zahlavia tabulky
  • vsimnite si pouzivanie dolarov v nazvoch policok: ak je pred menom stlpca alebo riadku $, tento sa neposuva ked vzorec kopirujem do inych policok
  • IF(podmienka,hodnota1,hodnota2) vyberie bud hodnotu 1 ak je podmienka splnena alebo hodnotu2 ak nie je. Napr IF(F$8=$B12 ,1,-1) zvoli skore +1 ak sa hodnota v F8 rovna hodnote v B12 a skore -1 ak sa nerovnaju.

Cvicenie:

  • Zmente tabulku tak, aby skore pre zhody, nezhody a medzery bolo dane bunkami B1, B2 a B3 tabulky. Staci zmenit vzorce a policka D9, C10 a D10 a nakopirovat do zvysku tabulky. Ake bude skore najlepsieho zarovnania sekvencii AACGTA a ACACCTA ak skore nezhody je -2 a medzery -3?
  • Ako treba zmenit vzorce, aby sme pocitali lokalne zarovnanie?
  • Subor najdete tu