SAM툴
SAMtools원저작자 | 헝리 |
---|---|
개발자 | 존 마샬과 페트르 데넥 외 |
초기 릴리즈 | 2009 |
안정된 릴리스 | 1.12 / 2020년9월 22일, [2] 전( |
저장소 | |
기입처 | C |
운영 체제 | Unix와 같은 |
유형 | 생물정보학 |
면허증. | BSD, MIT |
웹 사이트 | www |
SAMtools는 Heng Li가 작성한 SAM(시퀀스 정렬/맵), BAM(이진 정렬/맵) 및 CRAM 형식의 짧은 DNA 시퀀스 읽기 정렬과 상호 작용하고 후처리하기 위한 유틸리티 세트입니다.이러한 파일은 BWA와 같은 짧은 읽기 얼라이너에 의해 출력으로 생성됩니다.간단한 툴과 고급 툴이 모두 제공되어 다양한 호출 및 얼라인먼트 표시, 정렬, 인덱싱, 데이터 추출 및 형식 [3]변환 등의 복잡한 작업을 지원합니다.SAM 파일은 매우 클 수 있으므로(10기가바이트가 일반) 압축은 공간을 절약하기 위해 사용됩니다.SAM 파일은 사람이 읽을 수 있는 텍스트 파일이며, BAM 파일은 단순히 바이너리 등가 파일인 반면 CRAM 파일은 재구성된 컬럼 지향 바이너리 컨테이너 형식입니다.일반적으로 BAM 파일은 압축되어 소프트웨어 조작이 SAM보다 효율적입니다.SAMtools를 사용하면 전체 파일을 압축 해제하지 않고도 압축된 BAM 파일을 사용하여 직접 작업할 수 있습니다.또한 SAM/BAM 파일의 형식은 읽기, 참조, 정렬, 품질 정보 및 사용자 지정 주석을 포함하는 다소 복잡하기 때문에 SAMtools는 낮은 수준의 세부 정보를 숨겨 SAM/BAM 파일을 사용하는 데 필요한 노력을 줄입니다.
으로서 제3자 프로젝트 SAMtools에서 그러한 방법으로 둘러싸여 있는 설계되지 않음에도 불구하고, 코드를 사용하려고 했다, 그 결정 8월 2014년에 독립 실행형 소프트웨어 도서관에 뚜렷한 API와 다양한 통화 및 가변 데이터(BCFtools)의 조작에 대한 계획, 그리고 stand-(HTSlib)[4]은 SAMtools 패키지 나누었다.alo시퀀스 정렬 [5]데이터 작업을 위한 ne SAMtools 패키지.
사용방법 및 명령어
많은 Unix 명령어와 마찬가지로 SAMtool 명령어는 데이터가 컨베이어 벨트로 운반되는 것처럼 각 명령을 통과하는 스트림 모델을 따릅니다.이를 통해 여러 명령을 하나의 데이터 처리 파이프라인에 결합할 수 있습니다.최종 출력은 매우 복잡할 수 있지만, 이 출력을 작성하기 위해 필요한 간단한 명령어는 한정되어 있습니다.지정하지 않으면 표준 스트림(stdin, stdout 및 stderr)이 상정됩니다.stdout 에 송신되는 데이터는, 디폴트로 화면에 인쇄됩니다만, 통상의 UNIX 리다이렉터(> 및>>)를 사용하거나, 파이프를 개입시켜 다른 커맨드로 간단하게 리다이렉트 할 수 있습니다( ).
SAMtools 명령어
SAMtools는 각각 "samtools some_command"로 호출되는 다음 명령을 제공합니다.
- 보다
- view 명령어는 SAM 또는 BAM 형식의 데이터를 필터링합니다.옵션과 인수를 사용하여 선택할 데이터(아마도 모든 데이터)를 파악하고 해당 데이터만 전달합니다.입력은 보통 인수로 지정된 sam 또는 bam 파일이지만 다른 명령에서 sam 또는 bam 데이터를 파이핑할 수 있습니다.데이터 서브셋을 새 파일로 추출하거나 BAM 형식과 SAM 형식 간에 변환하거나 원시 파일 내용만 볼 수 있습니다.추출된 판독 순서는 유지됩니다.
- 종류
- sort 명령어는 BAM 파일을 정렬에 따라 참조 내의 위치에 따라 정렬합니다.판독치의 첫 번째 일치하는 베이스가 정렬되는 참조의 요소 + 좌표는 정렬 기준 키로 사용됩니다.[TODO: verify]정렬된 출력은 기본적으로 새 파일로 덤프되지만 stdout(-o 옵션 사용)으로 유도할 수 있습니다.정렬은 메모리를 많이 사용하고 BAM 파일이 클 수 있으므로 이 명령어는 최대 일정량의 메모리를 사용하여 여러 출력 파일을 생성할 수 있는 섹션화 모드(-m 옵션 포함)를 지원합니다.그런 다음 이러한 파일을 병합하여 완전히 정렬된 BAM 파일을 생성할 수 있습니다. [TODO - 자세한 내용을 자세히 조사합니다.
- 색인
- index 명령어는 (소트된) SAM 또는 BAM 내의 데이터를 빠르게 검색할 수 있는 새로운 인덱스파일을 만듭니다.데이터베이스의 인덱스처럼 생성된 *.sam.sai 또는 *.bam.bai 파일을 통해 해당 파일을 읽을 수 있는 프로그램이 관련 파일의 데이터를 보다 효율적으로 처리할 수 있습니다.
- TV화면
- tview 명령은 판독이 참조 게놈의 지정된 작은 영역에 정렬되는 방법을 시각화하는 데 사용할 수 있는 대화형 ASCII 기반 뷰어를 시작합니다.IGV와 [6]같은 그래픽 기반 뷰어에 비해 기능이 거의 없습니다.뷰 내에서 기준 요소를 따라 다른 위치로 점프하고('g' 사용), 도움말 정보(?)를 표시할 수 있습니다.
- 파일업
- mpileup 명령어는 각 게놈 좌표에서 입력 BAM 파일의 해당 위치에서 중복되는 읽기 베이스와 인델을 제공하는 파일업 형식(또는 BCF) 파일을 생성합니다.예를 들어 SNP 콜에 사용할 수 있습니다.
- 플래그 스탯
예
- 보다
samtools view sample.bam > sample.sam
bam 파일을 sam 파일로 변환합니다.
samtools view -bS sample.sam > sample.bam
sam 파일을 bam 파일로 변환합니다.-b 옵션은 압축된 입력 데이터를 압축하거나 유지합니다.
samtools view sample_sorted.bam "chr1:10-13"
지정된 범위로 정렬된 모든 판독치를 추출합니다.이 판독치는 chr1이라는 이름의 참조 요소에 정렬되어 있으며 10번째, 11번째, 12번째 또는 13번째 베이스에 해당하는 판독치입니다.결과는 헤더를 포함한 BAM 파일에 저장됩니다.입력 파일의 인덱스는 samtools 인덱스에 의해 작성된 것과 같이 참조 게놈 내의 매핑 위치에 따라 판독치를 추출하기 위해 필요하다.
samtools view -h -b sample_sorted.bam "chr1:10-13" > tiny_sorted.bam
위와 같은 읽기를 추출하지만 표시하는 대신 새 bam 파일 tiny_sorted.bam에 씁니다.-b 옵션을 지정하면 출력이 압축되고 -h 옵션을 지정하면 SAM 헤더도 출력됩니다.이러한 헤더에는 sample_sorted.bam 내의 읽기가 정렬된 참조에 대한 설명이 포함되어 있으며, tiny_sorted.bam 파일을 보다 고도의 SAMtools 명령어와 함께 사용하는 경우에 필요합니다.추출된 판독 순서는 유지됩니다.
- TV화면
samtools tview sample_sorted.bam
대화형 뷰어를 시작하여 참조의 작은 영역, 정렬된 읽기 및 불일치를 시각화합니다.뷰 내에서 g: 및 g:chr1:10,000,000과 같은 위치를 입력하여 새 위치로 이동할 수 있습니다.기준 요소 이름과 후속 콜론을 =로 바꾸면 현재 기준 요소가 사용됩니다. 즉, 이전 "goto" 명령 뒤에 g:=10,000,200을 입력하면 뷰어는 chr1에서 200 베이스 쌍 아래로 이동합니다.?를 입력하면 스크롤 이동, 색상, 보기 등에 대한 도움말 정보가 나타납니다.
samtools tview -p chrM:1 sample_chrM.bam UCSC_hg38.fa
시작 위치를 설정하고 비교합니다.
samtools tview -d T -p chrY:10,000,000 sample_chrY.bam UCSC_hg38.fa >> save.txt
samtools tview -d H -p chrY:10,000,000 sample_chrY.bam UCSC_hg38.fa >> save.html
화면을 .txt 또는 .html로 저장합니다.
- 종류
samtools sort -o sorted_out unsorted_in.bam
지정된 unsorted_in.bam을 입력으로 읽고 정렬된 읽기 위치에 따라 정렬하여 sorted_out에 씁니다.출력 유형은 sam, bam 또는 cram 중 하나이며 sorted_out의 파일 확장자에 의해 자동으로 결정됩니다.
samtools sort -m 5000000 unsorted_in.bam sorted_out
지정된 unsorted_in.bam을 입력으로 읽고 최대 500만 k(5 Gb)[units verification needed]의 블록으로 정렬하여 sorted_out.0000.bam, sorted_out.0001.bam 등의 일련의 bam 파일에 출력을 씁니다.여기서 모든 bam 0 읽기는 1개의 bam 읽기 전에 이루어집니다.[verification needed]
- 색인
samtools index sorted.bam
sorted.bam 파일의 인덱스 파일 sorted.bam.bai를 만듭니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "SAM tools". SourceForge.
- ^ "Releases · samtools/samtools". github.com. Retrieved 2021-04-28.
- ^ Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, et al. (August 2009). "The Sequence Alignment/Map format and SAMtools" (PDF). Bioinformatics. 25 (16): 2078–9. doi:10.1093/bioinformatics/btp352. PMC 2723002. PMID 19505943.
- ^ Bonfield JK, Marshall J, Danecek P, Li H, Ohan V, Whitwham A, et al. (February 2021). "HTSlib: C library for reading/writing high-throughput sequencing data". GigaScience. 10 (2). doi:10.1093/gigascience/giab007. PMC 7931820. PMID 33594436.
- ^ Danecek P, Bonfield JK, Liddle J, Marshall J, Ohan V, Pollard MO, et al. (February 2021). "Twelve years of SAMtools and BCFtools". GigaScience. 10 (2). doi:10.1093/gigascience/giab008. PMC 7931819. PMID 33590861.
- ^ IGV