Articles

Párového zarovnání nukleotidových sekvencí pomocí maximální přesně odpovídá

Přiblížení

V našem navrhl algoritmus, první krok směrem k zarovnání sekvencí je extrakt MEMs mezi sekvencí přímo jejich porovnání. Obrázek 3a je příklad, který porovnává cíl a sekvenci dotazu, kde CTC a AAA jsou dvě MEMs identifikované porovnáním. Každá skupina spojitých identických symbolů ve srovnání vede k MEM, i když je složena pouze z jediného odpovídajícího symbolu., Aby bylo možné extrahovat všechny memy mezi sekvencemi, musí být posloupnost dotazu posunuta až doprava a doleva jeden symbol najednou(viz obr. 3b). Po každém posunu musí být srovnávací krok opakován, aby se identifikovaly nové memy. Například třetí řádek na obr. 3B představuje případ, kdy je posloupnost dotazu posunuta na pravý symbol a je porovnána s cílovou sekvencí. Výsledek srovnání identifikuje AAAAGC jako nový MEM. Všechny ostatní memy extrahované operací shift a compare jsou také zvýrazněny na obr. 3b., Tři z MEMs (Mx, My a Mz) jsou zvýrazněny různými barvami, které mají být použity pro pozdější vysvětlení.

Obr. 3

MEM extrakce pomocí shift a porovnat operace. a identifikovat MEMs přímým porovnáním sekvencí. B dotaz je posunut doleva, dokud poslední symbol v sekvenci dotazu není zarovnán s prvním symbolem v cílové sekvenci. Poté se posloupnost dotazů posune doprava, dokud nebude první symbol v sekvenci dotazu zarovnán s posledním symbolem cílové sekvence., Po každém posunu se porovnává překrývající se část dotazu a cílové sekvence s identifikací nových memů. Tři z MEMs (Mx,my a Mz), jsou zvýrazněny různými barvami, aby být použity pro pozdější vysvětlení

V afinní-gap model hodnocení, vyrovnání skóre, JAK je vypočítán pomocí Rovnice., 1, kde Nm je počet zápasů, každý obdrží skóre zápasu Rm,Nx je počet neshod, z nichž každý obdrží nesoulad trest Px,Ne je počet mezeru otvory, z nichž každý obdrží mezeru otevřít, trest, Po a Zp je celková délka všech mezer, každá mezera obdržení gap extension penalty Pg. Pro každou skupinu spojitých mezer by došlo k otevření mezery. Například, jestliže tam jsou dvě mezery v zarovnání, kde délka první mezera je tři a délky druhý rozdíl je čtyři, pak tam jsou dvě mezery otvory (Ne=2) a celková délka mezery je sedm (Ng=3+4=7).,

$ $ {} = (N_{m} \times R_{m}) – ((N_{x} \times P_{x}) + (N_{o} \times P_{o}) + (N_{g} \times P_{g})) $$
(1)

Vzhledem k tomu, seznam všech MEMs, zarovnání může být vypočítán pomocí částečné zarovnání. Zvažte například MEMs Mx, My a Mz na obr. 3b. Částečné zarovnání tím, že různé kombinace Mx, my a Mz spolu s počtem zápasů, neshody a mezery, stejně jako výsledné zarovnání výsledky jsou zobrazeny na Obr. 4. Zarovnání, které zahrnuje pouze MX a Mz, má za následek nejvyšší skóre zarovnání., Všimněte si, že My a Mz se navzájem překrývají a když jsou oba zvažovány ve stejném zarovnání, překrytí je vyloučeno z Mz. S ohledem na všechny MEMs na obr. 3B má za následek mnoho dalších kombinací, kde žádný z nich nedosáhne vyššího skóre.

Obr. 4

Všechny možné kombinace MEMs v zarovnání

Zkoumá všechny možné kombinace MEMs by být vyčerpávající., V sekci „Alignment algorithm“ popisujeme nový dynamický programovací algoritmus DP-MEM, který efektivně najde nejlepší kombinaci bez zvážení všech případů. DP-MEM potřebuje vědět, které části sekvencí odpovídají, ale ne skutečné symboly v sekvencích. Vstup do DP-MEM je umístění MEMs v cíli a v sekvencích dotazů, které jsou získány během procesu extrakce MEM popsaného v sekci „extrakce MEM“., Jak MEMs jsou zastoupeny s jejich pozice a jak počet zápasů, neshody a mezery jsou vypočteny, když MEMs jsou kombinovány v zarovnání jsou popsány ve zbytku této části. Obrázek 5 je dalším příkladem zarovnání se šesti MEMs (M1 až M6), které tvoří zarovnání mezi cílovou sekvencí T a sekvencí dotazu Q.pro jednoduchost neexistuje žádný překrytí mezi MEMs v tomto příkladu. Každý MEM Mi je reprezentován jako trojice celočíselných čísel: výchozí pozice v T A V Q (STi a SQI resp.) a jeho délka (Li)., Koncové pozice v T A V Q lze vypočítat později (Φ2E algoritmu 2). Tabulka 1 uvádí délku a umístění M1 až M6 v T a v q.

Obr. 5

příklad vyrovnání s vyznačeným MEM

Tabulka 1 Počáteční a koncové polohy MEMs Obr., 5
Tabulka 2 Výpočetní technika počet neshody a mezery mezi MEMs Obr. 5

V případě, že jsou oba neshody a mezery mezi Mi a Mj, všechny mezery jsou považovány za kontinuální snížit gap open penalty (pouze jedna mezera otevřené trest je aplikován na stále mezera). U všech sousedních memů, které mají mezery mezi nimi, se tedy použije pouze jedna otevřená mezera., Umístění neshod a jediná souvislá mezera není důležitá, protože by to neovlivnilo skóre zarovnání. Předpokládáme, že trest nesouladu je konstantní (to je obvyklé pro sekvence DNA).

extrakce MEM

existují metody pro extrakci maximálních přesných shod mezi zdlouhavými sekvencemi, jako je celý genom. Tyto metody jsou však založeny na předzpracování a indexování jedné nebo obou sekvencí, což je časově náročná operace. Například v aligneru čtení DNA je referenční genom indexován jednou a stejný index se používá pokaždé, když je zarovnáno nové čtení., Hledáme rychlý algoritmus pro identifikaci MEMs mezi relativně krátkými sekvencemi, které se mění pro každé zarovnání. Metoda hrubé síly pro tento problém (další soubor 1: oddíl II) je pomalá a neefektivní (se složitostí O(n3)). Navrhujeme rychlou paralelní metodu bitové úrovně pro urychlení procesu extrakce MEM. Naše metoda extrakce MEM je založena na operacích posunu a porovnání uvedených na obr. 3b. Prvním krokem je, aby představují sekvence s bit-vektory, kde A, C, T a G jsou kódovány jako 00, 01, 10 a 11, respektive (Další soubor 1: Část III)., Obrázek 6 znázorňuje příklad pár sekvencí, spolu s odpovídajícími reprezentacemi bit-vektor. V komoditním počítači je strojové slovo obvykle 64 bitů, které mohou pojmout 32 nukleotidových symbolů. Vzhledem k tomu, že sekvence je obvykle větší než 32 symbolů, odpovídající bitový vektor je uložen ve více strojových slovech. Každá operace na bitových vektorech sekvencí symbolů velikosti N působí na \ (\lceil \ frac {n}{32} \ rceil \) strojová slova.

Obr., 6

Reprezentace sekvence s bit-vektorů. XOR výstup (X) se zvýrazněnými MEMs. Hrany bit-vektor (E) označuje začátek a konec každého MEMs

S bit-vektory zastoupení sekvencí, posunutí posloupnosti o jeden symbol je stejný jako posunutí bit-vektor o dva bity, a porovnáním sekvence může být provedeno pomocí instrukce XOR (32 symboly). V XOR výstupu (X), 00 znamená, že symboly jsou uzavřeno, a sekvence 00s ukazuje MEM., Sada operací shift a bitwise, jak je znázorněno v algoritmu 1, vypočítá X a následně bitový vektor edge (E), ve kterém jsou začátek a konec každého MEM zvýrazněny nastavenými bity (bity s hodnotou jedné). Obrázek 6 ukazuje X a e bitové vektory se zvýrazněnými memy. Umístění MEMs v sekvencích se pak vypočítá z bitového vektoru edge (další soubor 1: sekce IV).,

Zarovnání algoritmus

V „Přístupu“ oddílu, jsme se ukázat, že tím, že zvažuje různé kombinace MEMs a výpočetní vyrovnání skóre pro odpovídající zarovnání, můžeme identifikovat kombinace MEMs, že výsledky v maximální vyrovnání skóre. Zkoumání všech možných kombinací MEMs je však naivní řešení. Systematičtějším způsobem efektivního nalezení zarovnání je použití dynamického programování.

dynamické programování je metoda přiblížení řešení problému definováním a řešením menších podproblémů., Řešení podproblémů se používají k vyřešení většího problému v každém kroku. Proces se opakuje, dokud nejsou vyřešeny všechny podproblémy. Nakonec by řešením jednoho z podproblémů bylo řešení počátečního problému. Při všech dílčích problémů jsou řešeny backtracking proces identifikuje řadu řešení, která přispívají ke konečnému řešení. V dynamickém programování by mělo dojít k uspořádání vstupních dat, podél kterých probíhá postup rekurze.

třídíme všechny memy podle polohy jejich konce v sekvenci dotazu (EQ)., MEMs, které končí ve stejné pozici, jsou uspořádány libovolným způsobem. Subproblem jth je najít zarovnání následných T A Q, které končí u jth MEM Mj(T A Q). Ukážeme, že toto uspořádání MEM je dostatečné pro podporu správné rekurze.

v řazeném seznamu MEMs, EQi=EQj znamená, že jeden z Mi nebo Mj plně překrývá druhý MEM v sekvenci dotazu. Protože v Φ2B algoritmu 2 je vyloučena oblast překrytí, Mi a Mj nemohou být ve stejném zarovnání., Tedy i-tý a j-tý dílčích problémů jsou řešeny nezávisle na sobě a pořadí i a j v tříděném seznamu může být libovolný. Pokud EQk>EQj (k>j v seřazený seznam), Mk nemohl být součástí vyrovnání, které končí v Mj. Subproblemy jth tak mohou být řešeny nezávisle od řešení KTH subproblem. Všimněte si, že je také možné třídit MEMs na základě jejich koncové polohy v cílové sekvenci (ET) pomocí podobného zdůvodnění.

náš navrhovaný dynamický programovací algoritmus (DP-MEM) je zpracován v algoritmu 2., Pro příklad MEMs extrahované na obr. 3B, dynamická programovací tabulka a střední hodnota vypočtená v algoritmu jsou uvedeny na obr. 7 a 8 resp. Vstup do DP-MEM je seznam MEMs, kde každý MEM (Mj) je triplet celých čísel . Druhý vstup n je počet memů v seznamu. Výstup S je skóre zarovnání sekvencí. Algoritmus vytiskne indexy všech MEMs, který tvoří zarovnání, kde první a poslední tištěné čísla jsou indexy vpravo a vlevo MEMs v zarovnání, resp., Všechny kroky Algoritmu 2 jsou komentovány v následujícím:

Obr. 7

Dynamické programování tabulky použité v Algoritmu 2 na proces extrahuje MEMs Obr. 3B. buňky i a j představují hodnotu \(s_{i}^{j}\). Prázdné buňky nejsou hodnoceny v Φ2. Vyhodnocení buněk s křížovou značkou se přeskočí v Φ2A. počáteční hodnota Sj se vypočítá v Φ1. Konečná hodnota Sj a jeho zdroje (co maximalizuje Sj) jsou zvýrazněny pro každý řádek. Nejvyšší Sj (S13) je skóre zarovnání., M13 je poslední MEM v zarovnání a MEM před tím je MW=M3. Vzhledem k tomu, W=-1, M3 je první MEM v zarovnání. Bodovací systém pro toto vyrovnání je Rm=2,Px=3,P=4 a Pe=1

Obr. 8

Střední hodnoty pro výpočet \(S_{i}^{j}\) na Obr. 7. Všimněte si, že Sij v tomto obrázku označuje \(S_{i}^{j}\)

  • Φ1: Bodování každého MEM pro všechny jeho odpovídající symboly., Všimněte si, že existují LJ odpovídající symboly v Mj. Sj představuje nejvyšší skóre zarovnání pro zarovnání končící na Mj. Inicializace Sj v tomto kroku je podobná výpočtu skóre částečného zarovnání, pokud je do zarovnání zahrnuto pouze Mj. W se používá pro zpětné sledování. Hodnota -1 znamená, že aktuální Sj se získá zvážením samotného Mj v zarovnání.

  • Φ2: výpočet Sj pro každý MEM (Mj)., Pro výpočet Sj, pro každý MEM Mi, kde Mi zobrazí dříve, než Mj v seznamu, algoritmus přidává Mj vyrovnání končí na Mi (rozšíření dříve zjištěno, zarovnání) a vypadá to na prodloužení, který maximalizuje Sj (řešení větší trápím pomocí dříve řešených dílčích problémů).

  • Φ2A: přeskočte rozšíření, pokud to není možné. Pokud ETi>ETj pak Mi obsahuje část cílové sekvence, která je mimo zarovnání končí v Mj a rozšíření není možné. Pokud EQi=EQj nebo ETi=ETj nebo SQI≥SQJ nebo STi≥STj, pak jeden z memů plně překrývá druhý MEM., V tomto případě Mi a Mj nemohou být ve vzájemném zarovnání.

  • Φ2B: výpočet délky překrytí mezi Mi a Mj. Pokud je \({MO}_{i}^{j}\) menší nebo rovno nule, pak neexistuje žádné překrytí.

  • Φ2C: uchovávání kopie Mj před vyloučením překrytí.

  • Φ2D: Pokud existuje překrytí, s výjimkou přesahu od Mj

  • Φ2E: Výpočetní konec pozici Mj v T a Q.

  • Φ2F: Výpočetní vzdálenost (počet symbolů) mezi Mi a Mj v T a Q.

  • Φ2G: Výpočetní počet neshody a mezery mezi Mi a Mj.,

  • Φ2H: výpočet trestu za neshody a mezery mezi Mi a Mj (\(P_{i}^{j}\)). Pokud existuje mezera, odečte se pouze jedna otevřená mezera.

  • Φ2I: computing alignment score \ (\left (s_{i}^{j}\right)\), když je MJ přidán do zarovnání končícího na Mi. Skóre pro všechny odpovídající symboly v Mj (LJ×Rm) se přidá do skóre zarovnání pro zarovnání končící na Mi (Si). Poté se odečte trest za mezery a neshody mezi Mi a Mj\(\left (P_{i}^{j}\right)\).,

  • Φ2J: Pokud rozšíření Mj vyrovnání končí v Mi výsledky do skóre \(\left (S_{i}^{j}\right)\) vyšší než aktuální skóre za Mj (Sj), pak nové skóre je uložen v Sj. Také W je nastaven na i sledovat Mi, které maximalizují skóre pro Mj.

  • Φ2K: obnovení hodnoty Mj před vyloučením, takže Mj lze použít v jiných rozšířeních zarovnání.

  • Φ3: hledáte MEM s nejvyšším Sj. Toto MEM je poslední MEM v zarovnání (já)., Nejvyšší skóre (Se) se vrací jako S, což je nejvyšší skóre zarovnání pro dané sekvence. Index MEM, který maximalizuje Sj, je uložen v e, aby se ode mě začal vracet.

  • Φ4: v zarovnání je bezprostřední předchozí MEM pro mě ten, který maximalizuje skóre zarovnání pro mě. Index takového MEM je uložen ve W.výsledkem je, že iterace f←W navštíví index všech memů v zarovnání. Když se W rovná -1, Mf je první MEM v zarovnání a iterace je zastavena.,

V našem algoritmu, nebudeme trestat neshody a mezery před prvním MEM a po posledním MEM v zarovnání. Výsledkem je algoritmus lokálního zarovnání. Vzhledem k těmto sankcím algoritmus generuje globální zarovnání (další soubor 1: sekce V).

rovnice pro výpočet \(P_{i}^{j}\) v Φ2H Algoritmu 2 předpokládá, že neexistuje žádné odpovídající symbol mezi T a Q v prostoru mezi Mi a Mj (všechny symboly se počítají jako nesoulad nebo mezery)., Ačkoli tento předpoklad neplatí pro všechny Mi, vždy platí pro Mi, který vede k maximálnímu \(s_{i}^{j}\), který překrývá účinek předpokladu, že je nesprávný pro jiné Mi. Jako důkaz předpokládejme, že v oblasti mezi Mi a Mj je odpovídající symbol. Odpovídající symbol by MEM (Mk). Mk je již rozšířen na zarovnání končící na Mi. Při rozšíření Mj na Mk je tedy dosaženo vyššího skóre ve srovnání s rozšířením Mj na Mi.

řetězení kolineárních semen, jak je popsáno v, bylo široce používáno při zarovnání velkých sekvencí,tj., To bylo také používáno k identifikaci kandidátských regionů pro čtení vzhledem k souboru MEMs v BWA. Řetězové algoritmy s bodováním jsou podobné dynamickému programovacímu algoritmu, který jsme navrhli (DP-MEM). Existují však rozdíly, díky nimž je DP-MEM vhodný pro párové zarovnání krátkých sekvencí. DP-MEM bere v úvahu, že všechny MEMs v určité velikosti mezery jsou uvedeny v zadání a optimalizuje počet iterací v algoritmu. DP-MEM také implementuje heuristický přístup, který kompenzuje účinek krátkých MEMs odstraněných ze vstupního seznamu výsledných mezer mezi MEMs.,

Optimalizace

Vzhledem k tomu, sekvence délky n, algoritmus pro extrakci MEMs (za předpokladu, v „MEM extrakce“ sekce) vyžaduje 2(n−1) posun a 2n−1 porovnání operací na bitové vektory (každá působí na \(\lceil \frac {n}{32} \rceil \) stroj slova), které vyústí v algoritmus se složitosti O(n2) vyrábí okraj bit-vektorů pro daný pár sekvencí. Složitost funkce, která počítá umístění MEMs z bitového vektoru edge a třídí je na základě EQ, je ještě třeba přidat. Dále, pokud jsou extrahovány m MEMs, Φ2 algoritmu 2 (DP-MEM) má složitost O(m2)., Vzhledem ke složitosti extrakce MEM a DP-MEM je mem-Align mnohem pomalejší než dostupné algoritmy zarovnání. Pro urychlení procesu představujeme několik optimalizací pro MEM-Align, které dosahují rychlejšího běhu obětováním přesnosti. Na druhou stranu zavádíme metody ke zlepšení přesnosti s minimální ztrátou výkonu.

Banded alignment

Banded alignment je známá heuristická metoda pro urychlení procesu zarovnání. Tato technika omezuje vzor mezer v zarovnání (další soubor 1: sekce VI)., V důsledku toho, pokud zarovnání mezi dvěma sekvencemi nenásleduje tento vzor, algoritmus neidentifikuje zarovnání. V tradičním dynamickém programování se zarovnání získá po výpočtu hodnoty všech buněk v tabulce. Při optimalizaci zarovnání pásků se však vyhodnocují pouze buňky o průměru a blízké úhlopříčce. GL je šířka pásma v páskovém zarovnání, kde nejsou hodnoceny buňky vzdálenější než gl k průměru. Tmavší buňky na obr. 1 ukázat případ, kdy GL=1.,

Na rozdíl od tradičního dynamického programovacího přístupu nemá mem-Align podobnou tabulku pro použití páskového zarovnání. Zjistili jsme však, že stejný efekt můžeme simulovat omezením počtu operací posunu v procesu extrakce MEM. Pokud například posuneme sekvenci dotazu nahoru na gl doprava a doleva, dosáhneme pruhovaného zarovnání s pásmem gl. Pruhovaný-zarovnání snížit složitost MEM extrakce z O(n2) na O(n.(2gl+1)), kde gl je malé a pevné hodnoty. Složitost extrakce MEM je tedy O (n) při použití páskového zarovnání., Také, s uvedeným páskovým zarovnáním, je pravděpodobné, že se extrahuje méně memů, což urychluje následné algoritmické kroky.

krátké odstranění MEM

Pozorovali jsme, že většina extrahovaných memů je krátká a je výsledkem náhodně odpovídajících symbolů. Chcete-li urychlit mem-Align, MEMs kratší než sl jsou odfiltrovány během procesu extrakce MEM. Tím se snižuje počet memů, které mají být extrahovány a zpracovány (následně urychlení algoritmu). Filtrování krátkých MEM se provádí rozšířením algoritmu 1 se sadou operací shift a bitwise (další soubor 1: sekce VII).,

na druhé straně existují vzácné případy, kdy jsou krátké memy součástí zarovnání; například odpovídající symbol obklopený nesoulady. Bez toho, aby všechny MEMs ve vstupním seznamu, DP-MEM není schopen najít stejné zarovnání, jak zjistí, když všechny MEMs existují ve vstupním seznamu. Abychom kompenzovali ztracené krátké memy ve vstupu, upravíme Φ2H DP-MEM, abychom zvážili možnost krátkých zápasů mezi MEMs (další soubor 1: oddíl VIII).

mohou existovat obtížnější případy, kdy v zarovnání existuje více krátkých memů mezi dvěma memy (viz obr. 9)., Jediným způsobem, jak správně identifikovat skóre pro oblast mezi Mi a Mj v Φ2H, je použít globální zarovnání této oblasti. Φ2H je však častá operace a měla by zůstat rychlá. Proto jsme se rozhodli problém částečně překonat omezením možných případů (heuristická metoda).

Obr., 9

příklad, který ukazuje několik krátkých MEM v malém prostoru mezi Mi a Mj v zarovnání

Pokud existují mezery v oblasti mezi Mi a Mj, předpokládáme, že existuje pouze jeden průběžný mezera buď na levé straně nebo na pravé straně oblasti. Pak jsou pro tuto oblast možné pouze dvě zarovnání., Počet odpovídajících symbolů se pro oba případy počítá postupně a ten, který má za následek maximální zápasy, se bere jako počet zápasů mezi Mi a Mj (další soubor 1: oddíl IX). Sekvenční srovnání je nákladná operace a vymyslíme metodu, abychom se vyhnuli sekvenčnímu srovnání, pokud je to možné (další soubor 1: sekce X).

jakýkoli jiný případ, který neodpovídá výše uvedenému předpokladu, má za následek zarovnání s nižším skóre., Vzhledem k nízké míře mezer a nesouladů je však možnost mít na malé ploše více mezer a neshod.

efektivní rozšíření zarovnání

V Φ2 DP-MEM MJ rozšiřuje všechny zarovnání, které končí v {M1 … Mj−1} (pokud je to možné). Nicméně, pro každou Mj je menší podmnožinu Ωj⊆{M1,…Mj−1} takové, že rozšířením Mj na všechny zarovnání končí v Mi∈Ωj zarovnání, které končí v Mj (Eq. 2). Jinými slovy, mělo by být vyhodnoceno méně \(s_{i}^{j}\). Definice množiny Ωj a důkaz Eq. 2 jsou uvedeny v doplňkovém souboru 1: oddíl XI., Definice Ωj je ovlivněna při použití krátké optimalizace odstranění MEM (další soubor 1: oddíl XII).

$$ \max\limits_{M_{i} \v \Omega_{j}}{S_{i}^{j}} = \max\limits_{1 \leq i \leq j-1}{S_{i}^{j}} $$
(2)

Hybridní zarovnání

zachovat přesnost algoritmu, jsme se rozhodli využít hybridní metodu, která je kombinací MEM-Sladit a Smith-Waterman algoritmus. Definujeme tři případy, kdy MEM-Align může být nepřesné., Pokud zarovnání dvojice sekvencí spadne do jednoho z těchto případů, použijeme algoritmus Smith-Waterman k zarovnání sekvencí. Tyto případy jsou:

  • když se sekvence opakují a počet extrahovaných memů překračuje prahovou hodnotu TM. Zjistili jsme, že mem-Align pravděpodobně způsobí nepřesné zarovnání při zarovnání opakovaných sekvencí. Odpovídající hodnota TM snižuje pravděpodobnost nahlášení nepřesného vyrovnání se zanedbatelným zvýšením průměrné doby zpracování.,

  • když je vypočtené skóre zarovnání pro zarovnání generované MEM-Align nižší než prahová hodnota TS. Tento případ se většinou vyskytuje, když je v zarovnání mezera, kterou nelze identifikovat kvůli páskovému zarovnání.

  • pokud neexistuje MEM delší než sl (vzácný případ)., Pokud je sl nastaven na vysokou hodnotu a podobnost mezi sekvencí je nízká,

i když odesílání sekvence párů na externí algoritmus výsledky v další výpočet, počet sekvencí odeslán na externí algoritmus zůstává malé, pokud příslušné hodnoty se volí pro TM a TS.

Přeskakování vzdálené MEMs

Pokud je vzdálenost mezi Mi a Mj je velký, to není pravděpodobné, Mi a Mj jako přilehlé MEMs v zarovnání., Proto algoritmus přeskočí rozšíření, pokud je vzdálenost mezi Mi a Mj delší než prahová hodnota TD (dále snižuje počet \(s_{i}^{j}\), který má být vyhodnocen). Tato optimalizace mírně zlepšuje výkon se zanedbatelným vedlejším účinkem na přesnost.