Korábban megismerkedtünk azokkal az Emboss programokkal, melyek a szekvencia kezelésében segítettek nekünk. Most azt tudjuk meg, mit tehetünk, ha két szekvenciával kell dolgoznunk.
Először is készítsünk teszt adatokat a munkánkhoz a makenucseq paranccsal. Hozzunk létre egyetlen 10 ezer nukleotid hosszúságú szekvenciát. Ha elkészült, adjunk hozzá mutációkat az msbar programmal, és mentsük egy másik állományba.
>makenucseq -amount 1 -length 10000 -outseq test.fasta -auto
Van két szekvenciánk, melyek 40 ponton eltérnek. Az első program, amivel megismerkedünk, a needle. A neve a Needleman-Wunsch algoritmusból származik, tehát ez egy globális illesztőprogram. Hosszú szekvenciáknál, mint amilyen az általunk készített is, nem alkalmazható, mert az illesztéshez felhasznált mátrix nem valószínű, hogy elfér a memóriában. Ezért csak az első 300 bázispáron fogjuk tesztelni.
>msbar test.fasta -count 40 -point 1 -block 1 -codon 0 -outseq test2.fasta
>needle test.fasta test2.fasta -sbegin1 0 -send1 300 -sbegin2 0 -send2 300 -outfile global.needle -auto
A kimenet mutatja a két szekvenciát, amelyet illesztettünk és pipe karakterrel jelzi a tökéletes egyezést.
Ha hosszabb szekvenciákat akarunk illeszteni, akkor a stretcher programhoz fordulhatunk. Ez egy Myers-Miller algoritmust használ, hogy megtalálja nekünk az optimális globális illesztést, miközben a memóriaigénye alacsonyabb, mint a needle-nek.
Lokális illesztéshez is több programot kapunk. A water a klasszikus Smith-Waterman algoritmus megvalósítása, hosszabb szekvenciákhoz ezért nem érdemes használni. Ha mégis nagyratörő terveink vannak. akkor a supermatcherhez fordulhatunk. A paraméterezésük nem tér el lényegesen, ezért csak egy összesítő példa álljon itt a programok használatáról.
>water test.fasta test2.fasta -sbegin1 0 -send1 300 -sbegin2 0 -send2 300 -outfile local.water -auto
Ha megnézzük a két eredményt, láthatjuk, hogy a supermatcher bár gyors, rosszabb eredményt ad az első 300 bázispáron, mint a water.
>supermatcher test.fasta test2.fasta -outfile local.sm -auto
Az Emboss nem tartalmaz programokat olyan problémákra, melyekre már létezik megoldás. Például nincs benne Blast konkures, sem a ClustalW babérjaira törő program. De vannak olyan eszközök, melyek jól kiegészítik ezeket a programokat. Az emma például egy ClustalW-t futtató program. De említhetném például a cons alkalmazást is, ami többszörös illesztésből készít konszenzus szekvenciát. (Ezt egy 23Mb-os SAM állományon próbáltam ki, de fél óra alatt sem futott le.)
Amit viszont feltétlenül érdemes megemlíteni az illesztőprogramok kapcsán, az az illesztés kimeneti formátuma. Valamennyi bemutatott alkalmazás eredményét az -aformat3 kapcsolóval formázhatjuk.
pair/srspair:
atggatatgtggtccggg
||||||||||||||||||
atggatatgtggtccggg
markx0:
tttgcag-acaaccccg
::::::: :::::::::
tttgcagaacaaccccg
markx1:
tttgcag-acaaccccg
tttgcagaacaaccccg
markx2:
gcctttga-----tctc
........TACAT....
Megpróbáltam érzékeltetni, hogy mi vár ránk, ha különböző formátumokat használunk. A blogmotor formázása viszont kifogott rajtam. A markx3 és markx10 formátumok mindkét szekvenciát külön tartalmazzák.