Vraag:
Verschil tussen BWA-backtrack en BWA-MEM
DDRRpy
2017-05-16 23:41:23 UTC
view on stackexchange narkive permalink

Veel van mijn collega's raden aan om BWA-MEM te gebruiken in plaats van gewone oude BWA. Het probleem is dat ik niet begrijp waarom en het lezen van de BWA-manpage de zaak niet lijkt te helpen.

Wat is het verschil tussen BWA en BWA-MEM? En in welke gevallen zou u de ene boven de andere inzetten?

Lees de [BWA] (https://www.ncbi.nlm.nih.gov/pubmed/19451168) en [BWA mem] (https://arxiv.org/abs/1303.3997) publicaties.
Dit artikel: https://arxiv.org/abs/1303.3997
Mogelijk duplicaat: https://bioinformatics.stackexchange.com/questions/418/why-is-bwa-mem-the-standard-algorithm-when-using-bwa
Twee antwoorden:
#1
+12
Karel Brinda
2017-06-07 20:34:52 UTC
view on stackexchange narkive permalink

TL;DR:

BWA-backtrack is gebaseerd op backtracking. Deze benadering is alleen geschikt als de ongelijkheid tussen de gelezen en de referentie is laag, of als u de beste treffers wilt vinden of alle mogelijke uitlijningen wilt opsommen tot een bepaald aantal fouten.

In alle andere situaties verdient BWA-MEM de voorkeur, omdat het kan, dankzij de geavanceerde strategie op basis van maximale exacte overeenkomsten, beter omgaan met fouten en ook automatisch schakelen tussen lokale en globale uitlijningsmodi.

Lange beschrijving:

Ik zou graag wat algoritmisch inzicht, aangezien ik geloof dat het in dit geval erg nuttig kan zijn. BWA-backtrack en BWA-MEM gebruiken dezelfde indexeringsstrategie (sterk afhankelijk van BWT-index), maar de eigenlijke algoritmen zijn behoorlijk verschillend.

BWT-index (en ook andere full-text indexen zoals achtervoegselmatrices of achtervoegselbomen) kunnen gemakkelijk exacte overeenkomsten vinden (stel je voor Ctrl + F-achtige zoekopdracht in een teksteditor), maar elke d als referenties tussen de gelezen en de referentie, zoals sequentiefouten of genomische varianten, de situatie ingewikkeld maken. Men moet dan op de een of andere manier onnauwkeurige overeenkomsten omzetten in exacte overeenkomsten, en alle drie de BWA-mappers (merk op dat er ook BWA-SW bestaat, maar deze is verouderd) gebruiken heel verschillende strategieën.

BWA-backtrack zoekt naar subtekenreeksen van de referentie, die vergelijkbaar zijn met de volledige lezing (end-to-end) met behulp van een algoritme genaamd backtracking. Ten eerste doorzoekt het de gelezen exemplaren zonder enige "correcties". Als er niets wordt gevonden, worden alle mogelijke afzonderlijke bewerkingen in overweging genomen; dan twee bewerkingen, enz. Om het in kaart brengen efficiënt te maken, wil men meestal stoppen met de eerst gevonden uitlijning, omdat dit de beste zou zijn. Indien nodig is het ook mogelijk om de andere even goede uitlijningen te vinden of om alle uitlijningen op te sommen tot aan een bewerking afstand of binnen een bepaalde mate van afwijking (zie de -N optie van BWA-backtrack).

Het blijkt dat de tijd die nodig is om een ​​uitlijning te vinden, kan exponentieel zijn in het aantal fouten, wat waarschijnlijk het grootste probleem is van op backtracking gebaseerde benaderingen. maxDiff in de BWA man-pagina) en beschouw de andere leest als niet-uitgelijnd. In het geval van BWA-backtrack is het minimaal vereiste identiteitsniveau ~ 97% met de standaardopties (zie de -n optie).

In feite is het algoritme ingewikkelder en maakt het gebruik van verschillende heuristieken zoals zaad-en-verlenging of Z-dropoff om de berekening snel genoeg te maken (tegen de prijs van een lagere nauwkeurigheid). Als je meer details wilt, worden al deze trucs goed beschreven in de paper.

BWA-MEM gebruikt een heel andere strategie. Het detecteert lange exacte overeenkomsten tussen de gelezen en de referentie, en zet ze vervolgens in lokale of globale uitlijningen, op basis van wat in dat specifieke geval geschikter is. Zo'n automatische lokaal-globale omschakeling kan zeer krachtig zijn en BWA-MEM werkt goed met verschillende soorten gegevens (korte reads, long reads, lage foutpercentages, hoge foutpercentages, etc.).

#2
+9
Michael Hall
2017-05-17 03:49:39 UTC
view on stackexchange narkive permalink

Om de inleiding tot BWA op sourceforge te citeren:

BWA is een softwarepakket voor het in kaart brengen van laag-divergente reeksen tegen een grote referentiegenoom, zoals het menselijk genoom. Het bestaat uit drie algoritmen: BWA-backtrack, BWA-SW en BWA-MEM. Het eerste algoritme is ontworpen voor Illumina-sequenties tot 100 bp, terwijl de rest twee voor langere reeksen varieerde van 70 bp tot 1 Mbp. BWA-MEM en BWA-SW delen vergelijkbare functies, zoals ondersteuning voor lang lezen en gesplitste uitlijning, maar BWA-MEM, de nieuwste versie, wordt over het algemeen aanbevolen voor kwalitatief hoogwaardige queries omdat deze sneller en nauwkeuriger is. BWA-MEM heeft ook betere prestaties dan BWA-backtrack voor Illumina-uitlezingen van 70-100 bp.

Kortom, voor alles waar u meer dan 70 bp leest, is BWA-MEM sneller en nauwkeuriger .

Een belangrijke toevoeging is dat BWA-MEM leest agressiever zal splitsen. Terwijl BWA-ALN vereist (als ik het me goed herinner) één end-to-end uitlijning voor verankering, BWA-MEM staat gedeeltelijke uitlijningen toe. minder reguliere programma's als ze de aanvullende leesvlag van BAM nog niet begrijpen.
@Manuel: Welke specifieke programma's heeft u in gedachten die `-M` nodig hebben? Die vlag is toegevoegd voor gebruik met Picard <1.96, die nu oud is - Picard zelf heeft al vier jaar geen baat gehad bij deze vlag of deze nodig gehad. Zie ook https://github.com/lh3/bwa/pull/26


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...