BWA | |
---|---|
Tip de | bioinformatica |
Autor | Heng Lee , Richard Durbin |
Scris in | C++ |
Sistem de operare | UNIX , Linux |
ultima versiune | 0.7.17 (r1140) [1] (07.11.2017) |
Licență | Licență GNU GPL , MIT |
Site-ul web | bio-bwa.sourceforge.net |
BWA ( Burrows-Wheeler A ligner ) este un pachet software pentru cartografierea citirilor scurte la genomi de referință mari (cum ar fi, de exemplu, genomul uman [2] ), scris de bioinformaticianul chinez Heng Li și englezul Richard Durbin . Este unul dintre algoritmii de aliniere folosiți pe scară largă [3] [4] [5] și este recomandat și pentru analiza datelor de către Illumina [6] . BWA constă din trei algoritmi principali: BWA-BackTrack, BWA-SW și BWA-MEM. Algoritmii BWA se bazează pe transformarea Burrows-Wheeler, matrice de sufixe și algoritmul de aliniere Smith-Waterman . Pachetul software poate lucra cu secvențe lungi cu un ordin de mărime mai rapid decât MAQ ( Mapping and Assembly with Qualities ) în timp ce obține o precizie similară de aliniere [7] .
Pentru mostrele de pe platformele Illumina-SOLEXA , 454 Life Sciences , secvențierea cu semiconductor ionic sau secvențierea Sanger cu o lungime de citire („citește” din limba engleză citire - „citire, citire”; fragmente individuale de ADN obținute ca urmare a secvențatorului ) sunt mai mare sau egal cu 70 de perechi de baze (în continuare - b.p.), BWA-MEM este de obicei preferat. BWA-MEM și BWA-SW au caracteristici similare, cum ar fi suport pentru citiri lungi. BWA-MEM are performanțe mai bune decât BWA-BackTrack pentru citiri de 70-100 bp. de pe platforma Illumina-SOLEXA.
Indiferent de algoritmul ales, pachetul software BWA trebuie mai întâi să construiască un index FM pentru genomul de referință. Următoarea comandă este utilizată pentru a crea un index: bwa index [-p prefix] [-a algoType] <in.db.fasta>. Mai mult, algoritmii de aliniere sunt aplicați datelor primite, care sunt apelate de diferite subcomenzi: aln/samse/sampepentru BWA-BackTrack, bwaswpentru BWA-SW și mempentru BWA-MEM [8] .
Heng Lee, cercetător la Cambridge Broad Institute [9] , a început să scrie prima parte a codului pe 24 mai 2008 și a primit versiunea inițială stabilă încă din 2 iunie a acelui an. În aceeași perioadă, Prof. Tak-Wah Lam, primul autor al lucrării BWT-SW [10] , a colaborat cu Beijing Genomic Institute pe SOAP2, succesorul SOAP (pachetul de analiză a oligonucleotidelor cu secvență scurtă). SOAP2 a fost lansat în noiembrie 2008.
Algoritmul BWA-SW este o nouă componentă a BWA. A fost conceput în noiembrie 2008 și implementat zece luni mai târziu. Începând cu 2015, BWA-MEM (0.7.10) a fost considerat mai preferabil de utilizat pentru căutarea prin tăiere decât papion (2-2.2.25) sau Novoalign (3.02.12) [11] .
Pachetul software BWA poate fi utilizat în domenii precum genotiparea pentru a căuta polimorfisme cu un singur nucleotide (snip) [12] . Genotiparea permite compararea individuală a genotipurilor diferitelor persoane, poate fi folosită pentru a prezice predispoziția oamenilor la diferite boli, cum ar fi, de exemplu, cancerul, diabetul și multe altele. Pachetul va fi util și în transcriptomică [13] .
Începând cu versiunea 0.6.x, toți algoritmii pot funcționa cu genomi a căror lungime totală depășește 4 GB [8] . Cu toate acestea, dimensiunea unui cromozom individual nu trebuie să depășească 2 GB. Fiecare algoritm este invocat de o comandă separată, acceptând un fișier de intrare prin intrare standard ("stdin") și returnând rezultatul prin ieșire standard ("stdout").
Mai întâi se construiește o matrice de sufixe și apoi se generează un BWT. Nucleotidele nedefinite (notate cu litera „N”) din genomul de referință sunt convertite în nucleotide aleatorii și sunt tratate ca nepotriviri în citiri. Acest lucru poate duce la regiuni de potriviri false ("hituri") cu baze ambigue. Dar probabilitatea ca acest lucru să se întâmple este foarte mică, având în vedere citirile relativ lungi [14] .
BWA-SW construiește indici FM atât pentru secvența de referință, cât și pentru citiri. Este implicit o secvență de referință sub forma unui arbore de prefix și o citire ca o mașină de stări aciclice deterministă , care este compusă dintr-un arbore de prefix pentru citire folosind programarea dinamică . Spre deosebire de BLAT și SSAHA2, BWA-SW găsește semințe (din engleză seed - „seed”; o potrivire exactă a mai multor perechi de baze de citire [4] ) în genomul de referință folosind construcția indicilor FM. Alinierea se extinde atunci când sămânța are mai multe apariții în secvența de referință. Viteza se obține prin reducerea expansiunii inutile pentru secvențe foarte repetitive. În comparație cu egalizarea standard Smith-Waterman, care are o complexitate de timp de , BWA-SW are o complexitate de timp mai bună deoarece este cel puțin la fel de rapid ca BWT-SW, care are o complexitate de [10] . În BWA-SW, două aliniamente sunt considerate diferite dacă lungimea zonei de suprapunere a cererii este mai mică de jumătate din lungimea segmentului de cerere mai scurt.
Implementarea BWA-SW ia ca intrare un index BWA și o interogare FASTA sau un fișier FASTQ și scoate alinierea în format SAM. Fișierul de intrare, de regulă, conține multe secvențe („citiri”). Fiecare secvență este procesată pe rând folosind mai multe fire (dacă este posibil). Utilizarea memoriei atunci când se lucrează cu acest algoritm este de aproximativ 5 GB pentru indexarea secvențelor complete ale genomului uman [8] . Citirile scurte necesită aproximativ 3,2 GB folosind comanda alnși 5,4 GB folosind sampe. Cantitatea de memorie necesară pentru fiecare interogare este aproximativ proporțională cu lungimea secvenței. În plus, BWA-SW este capabil să detecteze o himeră potențial cauzată de modificări structurale sau să citească erori de referință de asamblare care ar putea reprezenta o amenințare pentru BLAT și SSAHA2. BWA-SW diferă de BWT-SW în mai multe moduri [15] : BWT-SW garantează găsirea tuturor potrivirilor locale, în timp ce BWA-SW este un algoritm euristic care poate rata potrivirile adevărate, dar este mult mai rapid.
BWA-MEM este cel mai recent algoritm implementat al pachetului BWA. Utilizează o strategie în care algoritmul de aliniere de citire este selectat automat de la caz la caz: aliniere locală sau globală. Sunt acceptate citirile în pereche și aliniamentele de citire himerice. Algoritmul este rezistent la erorile de secvențiere și este aplicabil la o gamă largă de lungimi de secvențe de la 70 bp la 70 bp. până la câteva megabaze. Și pentru secvențe de cartografiere lungi de 100 bp. BWA-MEM prezintă o performanță mai bună decât unii algoritmi avansați de aliniere a citirii [16] .
Pentru fiecare aliniere, pachetul software BWA calculează un scor de calitate al cartografierii - Phred, probabilitatea scalată ca alinierea să fie incorectă [8] ( Scorul de calitate Phred - o evaluare a calității nucleotidei ADN citite). Necesitatea unei evaluări statistice a cartografierii rezultă din faptul că citirile sunt mici (40-100 bp), în timp ce genomurile sunt destul de mari, deci pot exista mai multe aliniamente. Cu toate acestea, este necesar să înțelegem care dintre ele este cel mai informativ. Și, în esență, scorul Phred este probabilitatea ca citirea să fie nealiniată. Se calculează prin formula , unde q este calitatea citirii citirii [17] . Algoritmul este similar cu evaluarea pentru MAQ , cu excepția faptului că BWA presupune că o potrivire adevărată poate fi întotdeauna găsită. Această modificare a fost făcută deoarece formula MAQ supraestimează probabilitatea de a pierde o potrivire adevărată, rezultând o calitate subestimată a cartografierii. Modelarea arată că BWA poate supraestima calitatea cartografierii datorită acestei modificări, dar abaterea este relativ mică.
Un exemplu de scenariu pentru utilizarea pachetului software BWA de la Centrul de calcul olandez este următorul [18] :
Pasul 1 - indexarea genomului (~ 3 ore CPU pentru genomul uman) bwa index -a bwtsw ref.fa, unde ref.fa este numele fișierului genomului de referință.
Pasul 2a - generarea alinierii în coordonatele matricei sufixe bwa aln ref.fa read1.fq.gz > read1.sai bwa aln ref.fa read2.fq.gz > read2.sai, unde read1.fq.gz este un fișier cu citiri directe, read2.fq.gz este o citire inversă. Utilizați opțiunea -q15 dacă calitatea este mai scăzută la capetele 3' ale citirilor.
Pasul 3a - generarea alinierii în format SAM pentru citirile pereche bwa sampe ref.fa read1.sai read2.fq.gz > aln.sam Pasul 4a - Generarea alinierii SAM pentru citiri impare bwa samse ref.fa read1.sai read1.fq.gz Pasul 2b - BWA-SW pentru citiri lungi bwa bwasw ref.fa long-read.fq.gz > aln-long.sam, unde long-read.fq.gz este un fișier cu citiri lungi.
Pentru o compatibilitate suplimentară a alinierii rezultate cu programele standard pentru analiza datelor NGS, cum ar fi, de exemplu, Pikard Tools sau GATK, atunci când apelați programul, ar trebui să specificați așa-numitul grup de citire ( grupul de citire în engleză - un set de date obținute folosind un singur mod al secvențatorului) prin adăugarea steagului [19] . Grupul de citire în sine pentru un eșantion de pe platforma Illumina-SOLEXA arată cam așa: [19] , unde ID este un identificator unic pentru acest eșantion, SM sunt numele probei, Pl este platforma de secvențiere, LB este numele bibliotecă, iar PU este identificatorul de sistem [20] . -r-r ‘@RG\tID:1\tSM:S000336\tPL:ILLUMINA\tLB:L00000336\t PU:C3A7NACXX:1’
În practică, BWA este instrumentul principal pentru aplatizarea citirilor scurte [21] [22] [23] [24] . BWA se aplică în prezent în următoarele studii:
Principalele avantaje ale utilizării pachetului software BWA sunt următoarele avantaje [7] [25] :
De asemenea, BWA face parte din cele mai utilizate conducte biologice, nu numai în activități științifice, ci și în domeniul clinic: