참고 : Minimap2는 Pacbio 및 Nanopore Read Alignment의 BWA-MEM을 대체했습니다. 모든 주요 BWA-MEM 기능을 유지하지만 ~ 50 배 빠르고 다재다능하고 정확하며 더 나은 기본 수준 정렬을 생성합니다. 짧은 읽기 매핑을 위해 BWA-MEM2의 베타 버전이 출시되었습니다. BWA-MEM2는 BWA-MEM보다 약 2 배나 동일한 정렬 근처에서 출력됩니다.
git clone https://github.com/lh3/bwa.git
cd bwa; make
./bwa index ref.fa
./bwa mem ref.fa read-se.fq.gz | gzip -3 > aln-se.sam.gz
./bwa mem ref.fa read1.fq read2.fq | gzip -3 > aln-pe.sam.gz
BWA는 인간 게놈과 같은 큰 기준 게놈에 대해 DNA 서열을 매핑하기위한 소프트웨어 패키지이다. BWA-Backtrack, BWA-SW 및 BWA-MEM의 세 가지 알고리즘으로 구성됩니다. 첫 번째 알고리즘은 Illumina 시퀀스를 위해 최대 100bp를 위해 설계되었으며, 더 긴 시퀀스의 나머지 2 개는 70bp에서 몇 메가 바스 범위였습니다. BWA-MEM 및 BWA-SW는 긴 독서 및 키메라 정렬의 지원과 같은 유사한 기능을 공유하지만 최신 BWA-MEM은 일반적으로 더 빠르고 정확하기 때문에 권장됩니다. BWA-MEM은 70-100BP Illumina Read의 BWA-BackTrack보다 성능이 향상됩니다.
모든 알고리즘에 대해 BWA는 먼저 기준 게놈 ( 인덱스 명령)의 FM-Index를 구성해야합니다. 정렬 알고리즘은 BWA-BackTrack의 ALN/SAMSE/SAMPE , BWA-SW의 BWASW 및 BWA-MEM 알고리즘의 경우 다른 하위 명령으로 호출됩니다.
BWA는 GPLV3에 따라 출시됩니다. 최신 소스 코드는 Github에서 무료로 사용할 수 있습니다. 릴리스 패키지는 SourceForge에서 다운로드 할 수 있습니다. 소스 코드를 획득 한 후에는 make
사용하여 단일 실행 가능한 bwa
원하는 대상으로 컴파일하고 복사하십시오. BWA를 구축하는 데 필요한 유일한 의존성은 Zlib입니다.
0.7.11 이후 X86_64-LINUX의 사전 컴파일 된 바이너리는 BWAKIT에서 사용할 수 있습니다. BWA 외에도이 일관된 패키지에는 BWA 관련 BAM-TO-FASTQ 변환, ALT CONTIGS, 어댑터 트리밍, 중복 마킹, HLA 타이핑 및 관련 데이터 파일에 대한 매핑을위한 BWA 관련 및 타사 도구와 함께 제공됩니다.
자세한 사용량은 소스 코드와 함께 사용할 수있는 사람 페이지에 설명되어 있습니다. man ./bwa.1
사용하여 터미널에서 Man Page를 볼 수 있습니다. Man Page의 HTML 버전은 BWA 웹 사이트에서 찾을 수 있습니다. BWA에 대해 궁금한 점이 있으면 메일 링리스트에 가입 한 다음 질문을 [email protected]에 보낼 수 있습니다. Biostar 및 Seqanswers와 같은 포럼에서 질문을 할 수도 있습니다.
Li H. and Durbin R. (2009) Burrows-Wheeler Transform과 빠르고 정확한 짧은 읽기 정렬. 생물 정보학 , 25 , 1754-1760. [PMID : 19451168]. (BWA-BackTrack 알고리즘을 사용하는 경우)
Li H. and Durbin R. (2010) Burrows-Wheeler Transform과의 빠르고 정확한 장거리 정렬. 생물 정보학 , 26 , 589-595. [PMID : 20080505]. (BWA-SW 알고리즘을 사용하는 경우)
Li H. (2013) 정렬 서열 판독, 클론 시퀀스 및 BWA-MEM과 어셈블리 콘티그. arxiv : 1303.3997v2 [q-bio.gn]. (BWA-MEM 알고리즘 또는 FastMap 명령을 사용하거나 전체 BWA 패키지를 인용하려는 경우)
마지막 참조는 arxiv.org에서 호스팅 된 사전 인쇄입니다. 가까운 시일 내에 동료 검토 저널에 제출할 계획이 없습니다.
BWA는 다양한 유형의 DNA 서열 데이터와 함께 작동하지만 최적의 알고리즘과 설정은 다를 수 있습니다. 다음 목록은 권장 설정을 제공합니다.
Illumina/454/Iontorrent 단일 엔드는 ~ 70bp보다 길거나 어셈블리 contigs는 밀접하게 관련된 참조 게놈에 매핑 된 몇 가지 메가베이스까지입니다.
bwa mem ref.fa reads.fq > aln.sam
일루미나 싱글 엔드는 ~ 70bp보다 짧습니다.
bwa aln ref.fa reads.fq > reads.sai; bwa samse ref.fa reads.sai reads.fq > aln-se.sam
Illumina/454/Iontorrent 쌍 엔드 엔드는 ~ 70bp보다 길다 :
bwa mem ref.fa read1.fq read2.fq > aln-pe.sam
Illumina Paired-End는 ~ 70bp보다 짧습니다.
bwa aln ref.fa read1.fq > read1.sai; bwa aln ref.fa read2.fq > read2.sai
bwa sampe ref.fa read1.sai read2.sai read1.fq read2.fq > aln-pe.sam
Pacbio Subreads 또는 Oxford Nanopore는 참조 게놈을 읽습니다.
bwa mem -x pacbio ref.fa reads.fq > aln.sam
bwa mem -x ont2d ref.fa reads.fq > aln.sam
BWA-MEM은 다양한 오류율 (또는 시퀀스 발산)에 대해 ~ 70bp보다 긴 쿼리 시퀀스에 권장됩니다. 일반적으로 BWA-MEM은 모든 씨앗을 누락 할 가능성이 작기 때문에 더 긴 쿼리 시퀀스가 주어진 오류가 더 견딜 수 있습니다. 위에서 볼 수 있듯이, 비 디폴트 설정과 함께 BWA-MEM은 옥스포드 나노 포어 읽기와 함께 20%이상의 시퀀싱 오류율을 사용합니다.
BWA-SW 및 BWA-MEM은 로컬 정렬을 수행합니다. 전위, 유전자 융합 또는 긴 결실이있는 경우, 브레이크 포인트를 브리징하는 읽기는 SAM 출력에서 두 줄을 점유하여 두 번의 히트를 가질 수 있습니다. BWA-MEM의 기본 설정을 사용하면 하나의 라인만이 1 차이며 소프트 클리핑입니다. 다른 라인에는 0x800 SAM 플래그 (보충 정렬)로 태그가 지정되어 있으며 단단히 클리핑됩니다.
예. 0.6.x 이후, 모든 BWA 알고리즘은 4GB 이상의 총 길이의 게놈에서 작동합니다. 그러나 개별 염색체는 2GB 이상이어야합니다.
이것은 정확합니다. 맵핑 품질은 읽기 쌍이 아닌 개별 읽기에 할당됩니다. 하나의 읽기가 명확하게 맵핑 될 수 있지만, 그 메이트는 탠덤 반복에 빠지므로 정확한 위치를 결정할 수 없습니다.
내부적으로 BWA는 모든 참조 서열을 하나의 긴 시퀀스로 연결합니다. 읽기는 두 개의 인접한 참조 서열의 접합부에 매핑 될 수있다. 이 경우 BWA-BackTrack은 읽기에 표시되지 않은 것으로 표시되지만 위치, 시가 및 모든 태그가 표시됩니다. BWA-SW 정렬에도 비슷한 문제가 발생할 수 있습니다. BWA-MEM에는이 문제가 없습니다.
예, 0.7.11 이후 BWA-MEM은 공식적으로 GRCH38+ALT에 대한 매핑을 지원합니다. BWA-BackTrack 및 BWA-SW는 현재 대체 매핑을 제대로 지원하지 않습니다. 자세한 내용은 readme-alt.md를 참조하십시오. 간략하게, BWA의 이진 방출 인 Bwakit을 사용하는 것이 좋습니다.
Alt Contigs에 대한 히트에 관심이 없다면 사후 처리없이 BWA-MEM을 실행해도 괜찮습니다. 이러한 방식으로 생성 된 정렬은 ALT Contig가없는 GRCH38에 대한 정렬에 매우 가깝습니다. 그럼에도 불구하고, 후 처리를 적용하면 ALT Contig의 분기 된 부분에서 읽은 판독으로 인한 잘못된 매핑을 줄이고 HLA 타이핑도 가능합니다. 사후 처리 스크립트를 실행하는 것이 좋습니다.