Parvise alignment nukleotidsekvenser hjælp maksimal præcis matcher
Fremgangsmåde
I vores foreslåede algoritme, er det første skridt i retning af at tilpasse sekvenser, er at udtrække MEMs mellem sekvenser ved direkte at sammenligne dem. Figur 3a er et eksempel, der sammenligner et mål og en forespørgselssekvens, hvor CTC og AAA er to MEMs identificeret ved sammenligningen. Hver gruppe af kontinuerlige identiske symboler i sammenligningen resulterer i en MEM, selvom den kun består af et enkelt matchende symbol., For at udtrække alle MEMs mellem sekvenserne skal forespørgselssekvensen forskydes helt til højre og til venstre et symbol ad gangen (se Fig. 3b). Efter hvert skift skal sammenligningstrinnet gentages for at identificere nye MEMs. For eksempel er den tredje linje i Fig. 3b repræsenterer det tilfælde, hvor forespørgselssekvensen flyttes til det rigtige symbol og sammenlignes med målsekvensen. Resultatet af sammenligningen identificerer AAAAGC som en ny MEM. Alle andre MEMs udvundet af shift og sammenligne operationer er også fremhævet i Fig. 3b., Tre af MEMs (m., My og M.) er fremhævet med forskellige farver, der skal bruges til senere forklaring.
I den affine-gap-score model, alignment score, SOM er beregnet ved hjælp af Eq., 1, hvor Nm er antallet af kampe hver modtager en match-score på Rm,Nx er antallet af misforhold hver modtager et mismatch straf af Px,Ingen er antallet af gap åbninger, som hver modtager et hul åbent straf af Po og Ng er den samlede længde af alle huller, hvert hul, der modtager et hul udvidelse straf af Pg. Der ville være et hul åbning for hver gruppe af kontinuerlig hul. For eksempel, hvis der er to huller i justeringen, hvor længden af første hul er tre og længden af den anden forskel er fire, så der er to forskel åbninger (Nej=2) og den samlede længde af hul er syv (Ng=3+4=7).,
i Betragtning af den liste over alle MEMs, tilpasningen kan beregnes ved hjælp af delvis alignments. For eksempel overveje MEMs m,, My og M and I Fig. 3b. de delvise justeringer foretaget ved at tage forskellige kombinationer af m., My og M. sammen med antallet af kampe, uoverensstemmelser og huller samt de resulterende justeringsresultater er vist i fig. 4. Justeringen, der kun omfatter M.og M. resulterer i den højeste justering score., Bemærk, at min og M.overlapper hinanden, og når begge betragtes i samme justering, er overlapningen udelukket fra m.. I betragtning af alle MEMs i Fig. 3b resulterer i mange flere kombinationer, hvor ingen af dem opnår en højere score.
at Undersøge alle mulige kombinationer af MEMs ville være udtømmende., I afsnittet “Justeringsalgoritme” beskriver vi en ny dynamisk programmeringsalgoritme DP-MEM, der effektivt finder den bedste kombination uden at overveje alle tilfælde. DP-MEM skal vide, hvilke dele af sekvenserne matcher, men ikke de faktiske symboler i sekvenserne. Input til DP-MEM er placeringen af MEMs i målet og i forespørgslen sekvenser, som er opnået under MEM udvinding proces beskrevet i “MEM udvinding” afsnit., Hvordan MEMs er repræsenteret med deres positioner, og hvordan antallet af kampe, uoverensstemmelser og huller beregnes, når MEMs kombineres i en justering forklares i resten af dette afsnit. Figur 5 er et andet eksempel justering med seks MEMs (M1 til M6), der danner tilpasningen mellem målsekvens T og forespørgselssekvens Q. for enkelhed er der ingen overlapning mellem MEMs i dette eksempel. Hver MEM Mi er repræsenteret som en triplet af heltal: startpositionerne i T og i respectively (STi og S .i henholdsvis) og dens længde (Li)., Slutpositionerne i T og i Q kan beregnes senere (Algorithm2e af algoritme 2). Tabel 1 viser længden og placeringen af M1 til M6 i T og i Q.
i tilfælde af at der både er uoverensstemmelser og huller mellem Mi og Mj, betragtes alle huller kontinuerligt for at reducere kløften åben straf (kun et hul åben straf anvendes for et fortsat hul). For alle tilstødende MEMs, der har huller mellem dem, anvendes der kun en åben straf., Placeringen af uoverensstemmelser og det eneste kontinuerlige hul er ikke vigtigt, da det ikke ville påvirke justeringsresultatet. Vi antager, at uoverensstemmelsesstraffen er konstant (dette er normalt for DNA-sekvenser).
MEM-ekstraktion
Der er metoder til at udtrække maksimale nøjagtige kampe mellem lange sekvenser, såsom et helt genom. Disse metoder er imidlertid baseret på forbehandling og indeksering af en eller begge sekvenser, hvilket er en tidskrævende operation. For eksempel indekseres referencegenomet i DNA read aligner en gang, og det samme indeks bruges hver gang en ny læsning justeres., Vi leder efter en hurtig algoritme til at identificere MEMs mellem relativt korte sekvenser, der ændres for hver justering. En brute force metode til dette problem (yderligere fil 1: Afsnit II) er langsom og ineffektiv(med kompleksiteten af O (N3)). Vi foreslår en hurtig bit-niveau parallel metode til at fremskynde MEM udvinding proces. Vores MEM ekstraktion metode er baseret på skift og sammenligne operationer vist i Fig. 3b. Det første skridt er at repræsentere sekvenser med bit-vektorer, hvor A, C, T og G er kodet som 00, 01, 10 og 11, henholdsvis (Ekstra fil 1: Afsnit III)., Figur 6 illustrerer et eksempel sekvens par, sammen med tilsvarende bit-vektor repræsentationer. I en varecomputer er maskinordet normalt 64 bit, der kan rumme 32 nukleotidsymboler. Da en sekvens normalt er større end 32 symboler, gemmes den tilsvarende bit-vektor i flere maskinord. Hver operation på bit-vektorer af sekvenser af størrelse n symboler virker på \(\lceil \frac {n}{32} \rceil \) maskinord.
Med bit-vektorer repræsentation af sekvenser, at der flyttes en sekvens ved et symbol, der er det samme som at flytte bit-vektor med to bits, og at sammenligne sekvenser kan gøres med XOR instruktion (32 symboler på en gang). I outputor output (00), 00 betyder, at symboler matches, og en sekvens af 00s viser en MEM., En række skift og bitvise operationer, som vist i Algoritme 1 beregner X og derefter kanten bit-vektor (E), hvor starten og slutningen af hver MEM er fremhævet med bits af bits (med en værdi af én). Figur 6 viser bit og E bit-vektorer med fremhævede MEMs. Placeringen af MEMs i sekvenser beregnes derefter fra kanten bit-vektor (yderligere fil 1: Afsnit IV).,
Alignment algoritme
I “Fremgangsmåde” i denne artikel, viser vi, at ved at overveje forskellige kombinationer af MEMs og it-alignment score for tilsvarende tilpasning, som man kan identificere den kombination af MEMs, at resultaterne i den maksimale alignment score. Men at undersøge alle mulige kombinationer af MEMs er en naiv løsning. En mere systematisk måde at finde justeringen effektivt på er at bruge dynamisk programmering.
dynamisk programmering er metoden til at nærme sig løsningen på et problem ved at definere og løse mindre delproblemer., Løsninger til delproblemer bruges til at løse et større problem ved hvert trin. Processen gentages, indtil alle delproblemer er løst. Til sidst ville løsningen på et af delproblemerne være løsningen på det oprindelige problem. Når alle delproblemer løses, identificerer en backtracking – proces en række løsninger, der bidrager til den endelige løsning. I dynamisk programmering skal der være en bestilling af de inputdata, som rekursionsproceduren fortsætter med.
vi sorterer alle MEMs i henhold til placeringen af deres ende i forespørgselssekvens (e.)., MEMs, der ender i samme position, bestilles på en vilkårlig måde. Det jth underproblem er at finde tilpasningen af subse anduences af T og respectively, som slutter ved jth MEM MJ (t og respectively henholdsvis). Vi vil vise, at denne bestilling af MEM er tilstrækkelig til at understøtte den korrekte rekursion.
i den sorterede liste over MEMs angiver e .i=e .j, at en af Mi eller Mj fuldstændigt overlapper den anden MEM i forespørgselssekvensen. Da i Algorithm2b I algoritme 2 er overlapningsområdet udelukket, kan Mi og Mj ikke være i samme justering., Således løses ith – og jth-underproblemer uafhængigt af hinanden, og rækkefølgen af i og j i den sorterede liste kan være vilkårlig. Hvis e .k>e .j (k>j i den sorterede liste), kunne Mk ikke være en del af justeringen, der slutter i Mj. Således kan jth-delproblemerne løses uafhængigt af løsningen til kth-delproblemet. Bemærk, at det også er muligt at sortere MEMs baseret på deres slutposition i målsekvensen (ET) ved hjælp af en lignende begrundelse.
vores foreslåede dynamic programming algorithm (DP-MEM) er udarbejdet i algoritme 2., For eksempel MEMs ekstraheret i Fig. 3b vises den dynamiske programmeringstabel og den mellemliggende værdi beregnet i algoritmen i fig. 7 og 8. Input til DP-MEM er listen over MEMs, hvor hver MEM (Mj) er en triplet af heltal . Den anden indgang n er antallet af MEMs på listen. Udgangen S er justeringsresultatet for sekvenserne. Algoritmen udskriver indekserne for alle MEMs, der danner justeringen, hvor de første og de sidste trykte tal er indekserne for henholdsvis højre og venstre MEMs i justeringen., Alle trin i algoritme 2 kommenteres i følgende:
-
Φ1: Scoring hver MEM for alle deres matchende symboler., Bemærk, at der er LJ matchende symboler i MJ. Sj repræsenterer den højeste justeringsresultat for justeringen, der slutter ved MJ. Initialisering Sj i dette trin svarer til at beregne den delvise justering score, når kun Mj er inkluderet i justeringen. W bruges til backtracking. Værdien af -1 indikerer, at den aktuelle Sj opnås ved at overveje MJ alene i justeringen.
-
22: Computing Sj for hver MEM (Mj)., For at beregne Sj, for hver MEM Mi, hvor Mi vises før Mj på listen, tilføjer algoritmen Mj til justeringen, der slutter ved Mi (udvidelse af tidligere fundne justeringer) og ser efter den udvidelse, der maksimerer Sj (løsning af et større underproblem ved hjælp af tidligere løste delproblemer).
-
Φ2A: Spring udvidelse, når det ikke er muligt. Hvis ETi>ETj, indeholder Mi en del af målsekvensen, som ligger uden for justeringen, der slutter ved Mj, og udvidelsen ikke er mulig. Hvis e .i=e .j eller ETi=etj eller S .i or S .j eller STi or STj, overlapper en af MEMs fuldstændigt den anden MEM., I dette tilfælde kan Mi og Mj ikke være i en justering sammen.
-
22B: beregning af længden af overlapningen mellem Mi og Mj. Hvis \({MO}_{i}^{j}\) er mindre end eller lig med nul, eksisterer der ingen overlapning.
-
Φ2C: opbevaring af en kopi af Mj, før overlapning udelukkes.
-
Φ2D: Hvis der er overlapninger, undtagen overlap fra Mj
-
Φ2E: Design og slutter position af Mj i T og Q.
-
Φ2F: beregning af afstanden (antal symboler) mellem Mi og Mj i T og Q.
-
Φ2G: Design og antallet af uoverensstemmelser og mangler mellem Mi og Mj.,
-
22H: beregning af straffen for uoverensstemmelser og huller mellem Mi og Mj (\(p_{i}^{j}\)). Hvis der findes et hul, trækkes kun en åben straf fra.
-
22I: Computing alignment score \(\venstre (S_{i}^{j}\højre)\) når Mj føjes til justeringen slutter ved Mi. Scoren for alle de matchende symboler i Mj (Lj.Rm) føjes til justeringsresultatet for justeringen, der slutter ved Mi (Si). Derefter trækkes straffen for huller og uoverensstemmelser mellem Mi og Mj\(\venstre (p_{i}^{j}\højre)\).,
-
Φ2J: hvis udvidelse af Mj til justeringen, der slutter i Mi, resulterer i en score \(\venstre (s_{i}^{j}\højre)\) højere end den aktuelle score for Mj (Sj), gemmes den nye score i Sj. Også set er indstillet til i for at holde styr på Mi, der maksimerer scoren for MJ.
-
22K: Gendannelse af værdien af Mj før udelukkelse, så Mj kan bruges i andre justeringsudvidelser.
-
33: Leder du efter MEM med den højeste Sj. Denne MEM er den sidste MEM i justeringen (mig)., Den højeste score (Se) returneres som S, som er den højeste justerings score for de givne sekvenser. Indekset for MEM, der maksimerer Sj gemmes i e at begynde backtracking fra mig.
-
44: i justeringen er den umiddelbare tidligere MEM til mig den, der maksimerer justeringsresultatet for mig. Indekset for sådan MEM gemmes i W.. som et resultat besøger iterationen af F W visits indekset for alle MEMs i justeringen. Når W er lig med -1, er Mf den første MEM i justeringen, og iterationen stoppes.,
i vores algoritme straffer vi ikke uoverensstemmelser og huller før den første MEM og efter den sidste MEM i justeringen. Dette resulterer i en lokal justeringsalgoritme. Ved at overveje disse sanktioner algoritmen genererer en global tilpasning (yderligere fil 1: afsnit V).
ligningen til beregning \(p_{i}^{j}\) i Algorithm2h I algoritme 2 antager, at der ikke er noget matchende symbol mellem T og.i området mellem Mi og Mj (alle symboler tælles som uoverensstemmelser eller huller)., Selvom denne antagelse ikke er sandt for alle Mi, er det altid sandt for Mi, der fører til maksimal \(s_{i}^{j}\), som underkender effekten af antagelsen, der er forkert for andre Mi. Som bevis, Antag, at der er et matchende symbol i området mellem Mi og MJ. Det matchende symbol ville være en MEM (MK). Mk er allerede udvidet til justeringen, der slutter ved Mi. Når man udvider MJ til MK, opnås der således en højere score sammenlignet med at udvide MJ til Mi.
kæde kolinære frø som diskuteret i har været meget anvendt i tilpasningen af store sekvenser, dvs.genom-til-genom-justering., Det er også blevet brugt til at identificere kandidatregioner til en læsning givet et sæt MEMs i b .a. Kædningsalgoritmer med scoring ligner den dynamiske programmeringsalgoritme, vi foreslog (DP-MEM). Der er dog forskelle, der gør DP-mem egnet til parvis justering af korte sekvenser. DP-MEM tager højde for, at alle MEMs inden for en bestemt gap størrelse er tilvejebragt i input og optimerer antallet af iteration i algoritmen. DP-MEM implementerer også en heuristisk tilgang til at kompensere for effekten af korte MEMs fjernet fra inputlisten resulterende huller mellem MEMs.,
Optimering
i Betragtning af sekvenser af længde n, algoritme til at udtrække MEMs (i “MEM ekstraktion” – afsnittet) kræver 2(n−1) skift og 2n−1 undersøg operationer på bit-vektorer (hver handle på \(\lceil \frac {n}{32} \rceil \) maskine ord), at resultere i en algoritme med kompleksitet O(n2) til at producerer kant bit-vektorer for givet par af sekvenser. Kompleksiteten af den funktion, der beregner placering af MEMs fra kantbitvektoren og sorterer dem baseret på E., er endnu ikke tilføjet. Hvis m MEMs ekstraheres, har Algorithm2 af algoritme 2 (DP-MEM) kompleksiteten af O(m2)., I betragtning af kompleksiteten af MEM-ekstraktion og DP-MEM er MEM-Align meget langsommere end tilgængelige justeringsalgoritmer. For at fremskynde processen præsenterer vi flere optimeringer til MEM-Align, som opnår hurtigere runtime ved at ofre nøjagtighed. På den anden side introducerer vi metoder til at forbedre nøjagtigheden med et minimalt ydelsestab.
Banded alignment
Banded alignment er en kendt heuristisk metode til at fremskynde justeringsprocessen. Denne teknik begrænser mønsteret af hullerne i justeringen (yderligere fil 1: Afsnit VI)., Følgelig, hvis justeringen mellem to sekvenser ikke følger dette mønster, vil algoritmen ikke identificere justeringen. I traditionel dynamisk programmering opnås justeringen efter beregning af værdien af alle celler i tabellen. Med båndjusteringsoptimeringen evalueres imidlertid kun celler på diameteren og tæt på diagonalen. gl er bredden af båndet i båndjustering, hvor celler længere end gl til diameteren ikke evalueres. Mørkere celler i Fig. 1 viser tilfældet, hvor gl=1.,i modsætning til traditionel dynamisk programmeringstilgang har MEM-Align ikke en lignende tabel til at anvende båndjustering. Vi fandt dog, at vi kan simulere den samme effekt ved at begrænse antallet af skiftoperationer i MEM-ekstraktionsprocessen. For eksempel, hvis vi skifter forespørgselssekvensen op til gl til højre og til venstre, opnår vi båndjustering med GL-båndet. Banded-alignment reducere kompleksiteten af MEM ekstraktion fra O(n2) til O(n. (2gl+1)) Hvor gl er en lille og fast værdi. Således kompleksiteten af MEM ekstraktion er O(N) Når banded justering påføres., Også med den nævnte båndjustering er det sandsynligt, at færre MEMs udvindes, hvilket fremskynder de efterfølgende algoritmiske trin.
kort MEM-fjernelse
Vi observerede, at størstedelen af de ekstraherede MEMs er korte og er resultatet af tilfældigt matchende symboler. For at fremskynde MEM-Align, MEMs kortere end sl filtreres ud under MEM udvinding proces. Dette reducerer antallet af MEMs, der skal udvindes og behandles (efterfølgende fremskynde algoritmen). Filtrering kort MEM sker ved at udvide algoritme 1 med et sæt af shift og bitwiseise operationer (yderligere fil 1: Afsnit VII).,
På den anden side er der sjældne tilfælde, hvor korte MEMs er en del af justeringen; for eksempel et matchende symbol omgivet af uoverensstemmelser. Uden at have alle MEMs i inputlisten, kan DP-MEM ikke finde den samme justering, som den finder, når alle MEMs findes i inputlisten. For at kompensere for tabte korte MEMs i indgangen ændrer vi D2H af DP-MEM for at overveje muligheden for at have korte kampe mellem MEMs (yderligere fil 1: afsnit VIII).
der kan være vanskeligere tilfælde, hvor der i justeringen findes flere korte MEMs mellem to MEMs (se Fig. 9)., Den eneste måde at korrekt identificere scoren for området mellem Mi og Mj i Φ2H er at anvende en global tilpasning til denne region. Φ2H er imidlertid en hyppig operation og bør forblive hurtig. Derfor besluttede vi at delvist overvinde problemet ved at begrænse mulige tilfælde (en heuristisk metode).
Hvis der er huller i området mellem Mi og Mj, vi antager, at der kun er en kontinuerlig hul enten til venstre eller til højre ende af området. Derefter er kun to justeringer mulige for området., Antallet af matchende symboler tælles for begge tilfælde på en sekventiel måde, og det, der resulterer i maksimale kampe, tages som antallet af kampe mellem Mi og Mj (yderligere fil 1: afsnit i.). Den sekventielle sammenligning er en dyr operation, og vi udtænker en metode til at undgå den sekventielle sammenligning, når det er muligt (yderligere fil 1: Afsnit.).
ethvert andet tilfælde, der ikke passer til ovenstående antagelse, resulterer i en justering med en lavere score., I betragtning af den lave mængde huller og uoverensstemmelser er muligheden for at have flere huller og uoverensstemmelser i et lille område imidlertid lav.
effektiv justeringsudvidelse
I22 af DP-MEM udvider Mj alle justeringer, der slutter i {M1…Mj−1} (hvis muligt). For hver Mj er der imidlertid en mindre delmængde {j {{M1 … MJ-1} Sådan, at ved at udvide Mj til alle justeringer, der slutter i en Mi Ωjj, findes justeringen, der slutter i Mj (e.. 2). Med andre ord ville der være færre \(s_{i}^{j}\), der skal evalueres. Definition af sættet Ωj og beviset for e.. 2 findes i yderligere fil 1: Afsnit .i., Definitionen af Ωj påvirkes, når kort mem-fjernelsesoptimering anvendes (yderligere fil 1: Afsnit .ii).
Hybrid tilpasning
for At sikre korrektheden af algoritmen, har vi besluttet at anvende en hybrid metode, der er en kombination af MEM-Align og Smith-Waterman algoritmen. Vi definerer tre tilfælde, hvor MEM-Align kan være unøjagtige., Hvis justeringen af et par sekvenser falder ned i et af disse tilfælde, bruger vi Smith-algorithmaterman-algoritmen til at justere sekvenser. Disse tilfælde er:
-
Når sekvenserne er gentagne, og antallet af ekstraherede MEMs overstiger tærsklen TM. Vi fandt, at MEM-Align sandsynligvis producerer unøjagtig justering, når vi justerer gentagne sekvenser. En passende TM-værdi mindsker chancen for at rapportere unøjagtig justering med en ubetydelig stigning i den gennemsnitlige behandlingstid.,
-
når den beregnede justerings score for justeringen genereret af MEM-Align er lavere end en tærskel ts. Dette tilfælde forekommer for det meste, når der er et hul i justeringen, som ikke kan identificeres på grund af båndjustering.
-
Når der ikke findes MEM længere end sl, der skal ekstraheres (et sjældent tilfælde)., Hvis sl er indstillet til en høj værdi, og ligheden mellem sekvenser er lav,
selvom afsendelse af sekvenspar til en ekstern algoritme resulterer i yderligere beregning, forbliver antallet af sekvenser, der sendes til den eksterne algoritme, lille, hvis passende værdier vælges for TM og TS.
spring over fjerne MEMs
Når afstanden mellem Mi og Mj er stor, er det ikke sandsynligt, at Mi og Mj har som tilstødende MEMs i justeringen., Derfor springer algoritmen over udvidelsen, hvis afstanden mellem Mi og Mj er længere end en tærskel TD (yderligere reduktion af antallet af \(s_{i}^{j}\), der skal evalueres). Denne optimering forbedrer ydeevnen lidt med en ubetydelig bivirkning på nøjagtigheden.