Intermediate values to compute \(s_{I}^{j}\) in Fig. 7. Vegye figyelembe, hogy ebben az ábrán a Sij a \(s_{i}^{j}\)
Φ1: minden MEM pontozása az összes megfelelő szimbólumra., Vegye figyelembe, hogy vannak Lj megfelelő szimbólumok Mj. Az SJ az MJ-nél végződő igazítás legmagasabb igazítási pontszámát jelenti. Az SJ inicializálása ebben a lépésben hasonló a részleges igazítási pontszám kiszámításához, ha csak az MJ szerepel az igazításban. W használják backtracking. A -1 értéke azt jelzi, hogy az aktuális Sj-t úgy kapjuk meg, hogy csak az MJ-t vesszük figyelembe az igazításban.
Φ2: SJ kiszámítása minden MEM (Mj) esetében., Az SJ kiszámításához minden MEM Mi-hez, ahol a mi megjelenik az MJ előtt a listában, az algoritmus hozzáadja az MJ-t a mi-hez végződő igazításhoz (kiterjesztve a korábban talált nyomvonalakat), és megkeresi az SJ-T maximalizáló kiterjesztést (egy nagyobb alprobléma megoldása korábban megoldott alproblémák segítségével).
Φ2A: kihagyja a kiterjesztést, ha ez nem lehetséges. Ha az ETi > ETj akkor a mi a célsorozat azon részét tartalmazza, amely túlmutat az MJ-nél végződő igazításon, és a kiterjesztés nem lehetséges. Ha EQi = EQj vagy ETi = ETj vagy SQI≥SQj vagy STi≥STj akkor az egyik MEMs teljesen átfedi a másik MEM., Ebben az esetben a Mi és az Mj nem lehet együtt.
Φ2B: a mi és az Mj közötti átfedés hosszának kiszámítása. Ha a \({Mo} _ {i}^{j}\) kisebb vagy egyenlő nullával,akkor nincs átfedés.
Φ2C: az MJ másolatának megtartása az átfedés kizárása előtt.
Φ2D: ha van átfedés, kivéve az átfedéseket Mj
Φ2E: MJ számítási véghelyzete T-ben és Q.
Φ2F: a mi és MJ közötti távolság (szimbólumok száma) kiszámítása T-ben és Q.
Φ2G: a mi és Mj közötti eltérések és rések számítási száma.,
Φ2H: a mi és az MJ közötti eltérések és rések büntetésének kiszámítása (\(p_{I}^{j}\)). Ha rés létezik, csak egy rés nyílt büntetés levonásra kerül.
Φ2I: számítási igazítási pontszám \(\bal (s_{I}^{j} \ jobb)\), amikor az MJ-t hozzáadják a mi-nél végződő igazításhoz. A pontszám az összes megfelelő szimbólumok Mj (Lj×Rm) adunk az igazítás pontszám az igazítás végződő Mi (Si). Ezután levonásra kerül a mi és Mj\(\bal (P_{I}^{j}\jobb) \ közötti különbségekre és eltérésekre vonatkozó büntetés.,
Φ2J: ha az MJ-nek a mi-ben végződő igazításra való kiterjesztése \(\bal (s_{I}^{j}\jobb)\) pontszámot eredményez, akkor az új pontszámot SJ-ben tárolják. Szintén w van beállítva, hogy én nyomon követni a Mi, hogy maximalizálja a pontszám Mj.
Φ2K: az MJ értékének visszaállítása kizárás előtt, hogy az MJ más igazítási kiterjesztésekben is használható legyen.
Φ3: keresi a MEM a legmagasabb Sj. Ez a MEM az utolsó mem az igazításban (Me)., A legmagasabb pontszámot (Se) s-ként adják vissza, amely az adott szekvenciák legmagasabb igazítási pontszáma. A MEM indexe, amely maximalizálja az Sj-t, az e-ben tárolódik, hogy visszamenjen tőlem.
Φ4: az igazításban a közvetlen előző MEM számomra az, amely maximalizálja számomra az igazítási pontszámot. Az ilyen MEM indexe W-ben van tárolva, ennek eredményeként az f←W iterációja meglátogatja az összes mem indexét az igazításban. Ha W egyenlő -1-gyel, az MF az első mem az igazításban, és az iteráció leáll.,
algoritmusunkban nem büntetjük az eltéréseket és hiányosságokat az első MEM előtt és az utolsó mem után az igazításban. Ez egy helyi igazítási algoritmust eredményez. Figyelembe véve ezeket a szankciókat az algoritmus generál egy globális igazítás (további fájl 1: V szakasz).
Az egyenlet, hogy kiszámolja \(P_{i}^{j}\) a Φ2H az Algoritmus 2 feltételezi, hogy nincs megfelelő szimbólum között, T, Q a terület között, Mi pedig Mj (minden szimbólum számítanak eltéréseket, vagy hiányos)., Bár ez a feltételezés nem igaz, minden Mi mindig igaz az, hogy Mi vezet a maximális \(S_{i}^{j}\), amely érvényteleníti a hatás a feltételezés, hogy helytelen más Mi. Bizonyítékként tegyük fel, hogy van egy megfelelő szimbólum a mi és Mj közötti területen. A megfelelő szimbólum MEM (Mk) lenne. Az Mk-t már kiterjesztették a mi-nél végződő igazításra. Így, amikor az Mj-t Mk-re terjesztjük, magasabb pontszámot érünk el, mint az Mj-t a Mi-re.
a kolineáris magok Láncolását, amint azt az alábbiakban tárgyaltuk, széles körben alkalmazták a nagy szekvenciák, azaz a genom-Genom összehangolásában., Azt is használják, hogy azonosítsa jelölt régiók olvasási adott egy sor MEMs BWA. A pontozási algoritmusok láncolása hasonló az általunk javasolt dinamikus programozási algoritmushoz (DP-MEM). Vannak azonban különbségek, amelyek miatt a DP-MEM alkalmas a rövid szekvenciák páros igazítására. A DP-MEM figyelembe veszi, hogy egy bizonyos résméreten belül minden mem megtalálható a bemenetben, és optimalizálja az algoritmus iterációjának számát. A DP-MEM heurisztikus megközelítést alkalmaz a bemeneti listáról eltávolított rövid MEMs hatásának kompenzálására, ami a MEMs közötti réseket eredményezi.,
Optimalizálás
az Adott szekvenciák hossza n, az algoritmus kivonat MEMs (feltéve, hogy a “MEM extrakciós” részt) szükséges 2(n−1) a shift billentyűt, majd 2n−1 hasonlítsa össze műveletek kicsit-vektorok (minden törvény a \(\lceil \frac {n}{32} \rceil \) gép szavak), hogy az eredmény egy algoritmust bonyolultsága O(n2) hogy termel széle kicsit-vektorok az adott pár sorozatok. Még hozzá kell adni annak a függvénynek a bonyolultságát, amely kiszámítja a MEMs pozícionálását az edge bit-vektorból, majd az EQ alapján rendezi őket. Továbbá, ha m MEMs extraháljuk, Φ2 algoritmus 2 (DP-MEM) a komplexitás O(m2)., Figyelembe véve a MEM extrakció és a DP-MEM bonyolultságát, a MEM-Align sokkal lassabb, mint a rendelkezésre álló igazítási algoritmusok. A folyamat felgyorsítása érdekében számos optimalizálást mutatunk be a MEM-Align számára, amely a pontosság feláldozásával gyorsabb futási időt ér el. Másrészt olyan módszereket vezetünk be, amelyek javítják a pontosságot minimális teljesítményveszteséggel.
sávos igazítás
sávos igazítás ismert heurisztikus módszer az igazítási folyamat felgyorsítására. Ez a technika korlátozza az igazítás réseinek mintáját (további 1.fájl: Vi. szakasz)., Következésképpen, ha a két szekvencia közötti igazítás nem követi ezt a mintát, az algoritmus nem fogja azonosítani az igazítást. A hagyományos dinamikus programozásban az igazítás a táblázat összes cellájának értékének kiszámítása után érhető el. A sávos igazítás optimalizálásával azonban csak az átmérőn lévő és az átlóhoz közeli cellákat értékeljük. gl a sáv szélessége sávos igazításban, ahol a GL-nél távolabb lévő cellákat nem értékelik. Sötétebb sejtek ábra. 1 mutassa meg azt az esetet, ahol gl=1.,
a hagyományos dinamikus programozási megközelítéssel ellentétben a MEM-Align nem rendelkezik hasonló táblával a sávos igazítás alkalmazásához. Megállapítottuk azonban, hogy ugyanazt a hatást szimulálhatjuk, ha korlátozzuk a MEM extrakciós folyamat műszakműveleteinek számát. Ha például a lekérdezési sorrendet GL-re jobbra vagy balra toljuk, akkor sávos igazítást érünk el a gl sávjával. Sávos-igazítás csökkenti a MEM extrakció összetettségét O(n2) – ról O(n.(2GL+1)) – ra, ahol a gl kicsi és rögzített érték. Így a MEM extrakció összetettsége O(n), ha sávos igazítást alkalmaznak., Is, az említett sávos igazítás, valószínű, hogy kevesebb MEMs kivonjuk, amely felgyorsítja a későbbi algoritmikus lépéseket.
Short MEM removal
megfigyeltük, hogy a kivont Memek többsége rövid, és véletlenszerűen illeszkedő szimbólumok eredménye. A MEM-Align felgyorsítása érdekében az sl-nél rövidebb MEMs-t kiszűrik a MEM extrakciós folyamat során. Ez csökkenti a kibontandó és feldolgozandó MEMs-ek számát (ezt követően gyorsítja az algoritmust). A rövid MEM szűrése úgy történik, hogy az 1.algoritmust egy sor shift és bitwise művelettel kiterjesztjük (további 1. fájl: VII szakasz).,
másrészt vannak olyan ritka esetek, amikor a rövid MEMs az igazítás része; például egy megfelelő szimbólum, amelyet eltérések vesznek körül. Anélkül, hogy az összes MEMs a beviteli listában, DP-MEM nem tudja megtalálni ugyanazt az igazítást, mint azt találja, ha az összes MEMs létezik a beviteli listában. Annak érdekében, hogy kompenzálja az elveszett rövid MEMs a bemenet, módosítjuk Φ2H a DP-MEM, hogy fontolja meg annak lehetőségét, hogy rövid mérkőzések között MEMs (további fájl 1: szakasz VIII).
lehetnek nehezebb esetek, amikor az összehangolásban több rövid MEMs létezik két MEMs között (lásd az ábrát. 9)., Az egyetlen módja annak, hogy helyesen azonosítsuk a mi és MJ közötti területet Φ2H-ban, ha globális igazítást alkalmazunk erre a régióra. A Φ2H azonban gyakori művelet, és gyorsnak kell maradnia. Következésképpen úgy döntöttünk, hogy részben leküzdjük a problémát a lehetséges esetek korlátozásával (heurisztikus módszer).
ábra., 9
egy példa, amely több rövid MEM-et mutat a Mi és Mj közötti kis területen
Ha a mi és a div közötti területen hiányosságok vannak MJ, feltételezzük, hogy csak egy folyamatos rés van a terület bal vagy jobb vége felé. Ezután csak két igazítás lehetséges a területen., A megfelelő szimbólumok számát mindkét esetben szekvenciális módon számoljuk, és azt, amely maximális egyezést eredményez, az Mi és az Mj közötti mérkőzések számának tekintjük (további 1.fájl: IX. szakasz). A szekvenciális összehasonlítás drága művelet, ezért kidolgozunk egy módszert a szekvenciális összehasonlítás elkerülésére, ha lehetséges (további 1. fájl: X szakasz).
bármely más eset, amely nem felel meg a fenti feltételezésnek, alacsonyabb pontszámot eredményez., Figyelembe véve azonban a hiányosságok és az eltérések alacsony arányát, alacsony annak a lehetősége, hogy egy kis területen több rés és eltérés legyen.
a Φ2 a DP-MEM, Mj kiterjeszti az összes nyomvonalakat, hogy a végén {M1…Mj-1} (ha lehetséges). Azonban minden MJ esetében van egy kisebb részhalmaza Ωj {{M1 … Mj-1} úgy, hogy az MJ kiterjesztésével a mi∈Ωj-ben végződő összes nyomvonalakra megtaláljuk az MJ-ben végződő igazítást (Eq. 2). Más szavakkal, kevesebb\ (s_{I}^{j}\) értékelhető lenne. Az Ωj halmaz meghatározása és az Eq igazolása. Az 2 további fájlban található 1: szakasz XI., Az Ωj definícióját befolyásolja a rövid MEM eltávolítási optimalizálás alkalmazása (további 1. fájl: XII. szakasz).
az algoritmus pontosságának fenntartása érdekében úgy döntött, hogy egy hibrid módszert alkalmaz, amely a mem-align és a Smith-Waterman algoritmus kombinációja. Három olyan esetet határozunk meg, amikor a MEM-Align pontatlan lehet., Ha egy pár szekvencia összehangolása ezen esetek egyikébe esik, akkor a Smith-Waterman algoritmust használjuk a szekvenciák összehangolására. Ezek az esetek a következők:
bár a szekvenciapárok külső algoritmushoz történő küldése további számítást eredményez, a külső algoritmushoz küldött szekvenciák száma kicsi marad, ha a TM és TS számára megfelelő értékeket választanak.
kihagyása ha a Mi és az Mj közötti távolság nagy, nem valószínű, hogy a mi és az Mj szomszédos MEMs-ekként vannak az igazításban., Ezért az algoritmus kihagyja a kiterjesztést, ha az Mi és az Mj közötti távolság hosszabb, mint egy küszöbérték TD (tovább csökkentve az értékelendő \(s_{I}^{j}\) számát). Ez az optimalizálás kissé javítja a teljesítményt, elhanyagolható mellékhatással a pontosságra.