Samtools常用命令的總結(jié)【samtools強(qiáng)大工具的幾個(gè)功能】
內(nèi)容來(lái)自一下網(wǎng)址玄柠,感謝原作者。不是盜版诫舅,記錄僅用于個(gè)人學(xué)習(xí)羽利,有筆記可尋!刊懈!內(nèi)容是原文作者寫(xiě)的这弧,非原創(chuàng)娃闲!非原創(chuàng)!匾浪!非原創(chuàng);拾铩!蛋辈!
原文來(lái)自:http://www.bioinfo-scrounger.com/archives/245
flags
1 0x1 這序列是PE雙端測(cè)序
2 0x2 這序列和參考序列完全匹配属拾,沒(méi)有錯(cuò)配和缺失
4 0x4 這序列沒(méi)有mapping到參考序列上
8 0x8 這序列的mate序列沒(méi)有mapping到參考序列上
16 0x10 這序列比對(duì)到參考序列的負(fù)鏈上
32 0x20 這序列的mate序列比對(duì)到參考序列的負(fù)鏈上
64 0x40 這序列是read1
128 0x80 這序列是read2
256 0x100 這序列不是主要的比對(duì),因?yàn)樾蛄锌赡鼙葘?duì)到參考序列的多個(gè)位置上
512 0x200 這序列沒(méi)有通過(guò)QC
1024 0x400 這序列是PCR重復(fù)序列
2048 0x800 這序列是補(bǔ)充比對(duì)
view
samtools view [options] in.sam|in.bam|in.cram [region...]
-f 提取 ## -f 4 提取出沒(méi)有mapping上的reads
-F 過(guò)濾 ## -F 4 過(guò)濾掉沒(méi)有mapping上的reads冷溶,也就是說(shuō)提取出mapping上的reads
-u 輸出格式為未壓縮的bam格式
-q 過(guò)濾掉MAPQ值低某個(gè)閾值 ## -q 1 過(guò)濾掉MAPQ值低于1的情況
-h 設(shè)定輸出的SAM文件帶有header
-b 輸出格式設(shè)定為BAM
-S 輸入格式為SAM
提取比對(duì)到參考序列的結(jié)果:
samtools view -bF 4 tmp.bam > tmp_F.bam
提取雙端序列都比對(duì)到參考序列(4+8)的結(jié)果:
samtools view -bF 12 tmp.bam > tmp_F.bam
提取比對(duì)到chr1的結(jié)果
samtools view -b tmp.bam chr1 > tmp_chr1.bam
注:With no options or regions specified, prints all alignments in the specified input alignment file (in SAM, BAM, or CRAM format) to standard output in SAM format (with no header)渐白,也就是說(shuō),沒(méi)有設(shè)定輸出格式的話逞频,默認(rèn)是輸出SAM格式纯衍,并且是沒(méi)有header的SAM
index
samtools index [-bc] [-m INT] aln.bam|aln.cram [out.index]
-b 創(chuàng)建一個(gè)bai索引,默認(rèn)設(shè)定這個(gè)參數(shù)(如果在命令中沒(méi)這個(gè)參數(shù))
建索引(必須是已經(jīng)使用默認(rèn)排序后的):
samtools index tmp.bam
sort
samtools sort [-l level] [-m maxMem] [-o out.bam] [-O format] [-n] [-t tag] [-T tmpprefix] [-@ threads] [in.sam|in.bam|in.cram]
-m 設(shè)置內(nèi)存使用大小苗胀,默認(rèn)是500,000,000(現(xiàn)在支持K,M,G等縮寫(xiě))
-n Sort by read names (i.e., the QNAME field) rather than by chromosomal coordinates(似乎一般也是使用默認(rèn)排序襟诸,即Sort alignments by leftmost coordinates,因?yàn)閕ndex需要默認(rèn)排序…)
-@ 設(shè)置線程數(shù)
-O 輸出的格式(sam,bam,cram)柒巫,默認(rèn)是bam
使用默認(rèn)排序:
sort -@ 5 tmp.bam >tmp.sorted.bam
merge
samtools merge [-nur1f] [-h inh.sam] [-R reg] [-b <list>] <out.bam> <in1.bam> [<in2.bam> <in3.bam> ... <inN.bam>]
-b 一個(gè)bam文件一行的一個(gè)bam list文件
-n The input alignments are sorted by read names rather than by chromosomal coordinates
-h Use the lines of FILE as `@’ headers to be copied to out.bam, replacing any header lines that would otherwise be copied from in1.bam. (FILE is actually in SAM format, though any alignment records it may contain are ignored.)
-c 當(dāng)多個(gè)輸入文件包含相同的@RG頭ID時(shí)励堡,只保留第一個(gè)到合并后輸出的文件。當(dāng)合并多個(gè)相同樣本的不同文件時(shí)堡掏,非常有用
-p 與-c參數(shù)類似,對(duì)于要合并的每一個(gè)文件中的@PG ID只保留第一個(gè)文件中的@PG
merge前必須是已經(jīng)sort的文件刨疼,如果只是單純的merge:
samtools merge tmp1.bam tmp2.bam
mpileup
samtools mpileup [-EBugp] [-C capQcoef] [-r reg] [-f in.fa] [-l list] [-Q minBaseQ] [-q minMapQ] in.bam [in2.bam [...]]
從官方說(shuō)明:Generate VCF, BCF or pileup for one or multiple BAM files可看出泉唁,可以用來(lái)和bcftools搭配Call SNPs
最常用的幾個(gè)參數(shù):
-f The faidx-indexed reference file in the FASTA format(有索引(faidx)文件的參考序列)
-l BED or position list file containing a list of regions or sites where pileup or BCF should be generated(bed格式的文件,如果需要只處理特定位點(diǎn)的bam文件的話)
-r Only generate pileup in region 搭配-l使用揩慕,比如可以指定染色體
-g Compute genotype likelihoods and output them in the binary call format (BCF).(輸出bcf格式文件)
-u Generate uncompressed VCF/BCF output(如果后面接管道符的話亭畜,必須使用這個(gè)指定不進(jìn)行壓縮)
搭配bcftools使用:
samtools mpileup -ugf <ref.fa> <sample1.bam>| bcftools call -vmO z -o <study.vcf.gz>
tview
samtools tview [-p chr:pos] [-s STR] [-d display] <in.sorted.bam> [ref.fasta]
顯示reads比對(duì)到基因組的情況,類似于基因組瀏覽器
faidx
samtools faidx <ref.fasta> [region1 [...]]
給參考序列建索引迎卤,或者從已建索引的參考序列中提取一定位置范圍內(nèi)的序列
depth
samtools depth [options] [in1.sam|in1.bam|in1.cram [in2.sam|in2.bam|in2.cram] [...]]
計(jì)算bam/sam文件每個(gè)位點(diǎn)的測(cè)序深度
flagstat
samtools flagstat in.sam|in.bam|in.cram
統(tǒng)計(jì)bam文件中reads的比對(duì)情況拴鸵,如多少reads比對(duì)上等信息
samtools官網(wǎng)手冊(cè)還介紹了其他好多的功能,具體可參見(jiàn):