samtools 1.9
1833 人阅读 | 时间:2021年01月27日 19:30
下载
安装
tar -jxf samtools-1.9.tar.bz2cd samtools-1.9/makeecho 'export PATH=/home/li.han/Softwares/samtools-1.9:$PATH' >> ~/.bashrc
用法
faidx
#生成一个名为ref.fa.fai的长度信息文件samtools faidx ref.fa
view
将sam文件转换成bam文件;
对bam文件进行各种操作,比如数据的排序(不属于本命令的功能)和提取(这些操作是对bam文件进行的,因而当输入为sam文件的时候,不能进行该操作);
将排序或提取得到的数据输出为bam或sam(默认的)格式。
-b | 输出BAM格式的文件 |
-f int | 获得mapped过滤设置,0为未设置 |
-F int | |
-h | 默认输出的 sam 格式文件不带 header,该参数设定输出sam文件时带 header 信息 |
-H | 只打印header部分(no alignments) |
-o FILE | 设置输出文件名 |
-q int | 最小的比对质量值 [0] |
-S | 若是输入是 SAM 文件(默认输入是 BAM 文件),则最好加该参数,否则有时候会报错。 |
-t FILE | 使用一个list文件来作为header的输入,一个制表分隔符的文件,对ref.fa使用命令“samtools faidx <ref.fa>”后,获得索引文件ref.fa.fai,使用此索引文件即可 |
-T FILE | 使用序列fasta文件作为header的输入 |
-u FILE | 输出非压缩的BAM,该参数的使用需要有-b参数,能节约时间,但是需要更多磁盘空间。 |
-@ INT | 设置线程数 |
#bam转samsamtools view -h in.bam > out.sam#sam转bamsamtools view -bS in.sam -t ref.fa.fai > out.bam#输出没有比对上的read:samtools view -f 0x4 in.bam > out.sam#提取比对到参考序列上的比对结果samtools view -bF 4 abc.bam > abc.F.bam#提取paired reads中两条reads都比对到参考序列上的比对结果,只需要把两个4+8的值12作为过滤参数即可samtools view -bF 12 abc.bam > abc.F12.bam#提取没有比对到参考序列上的比对结果samtools view -bf 4 abc.bam > abc.f.bam#提取bam文件中比对到caffold1上的比对结果,并保存到sam文件格式samtools view abc.bam scaffold1 > scaffold1.sam#提取scaffold1上能比对到30k到100k区域的比对结果samtools view abc.bam scaffold1:30000-100000 > scaffold1_30k-100k.sam#根据fasta文件,将 header 加入到 sam 或 bam 文件中samtools view -T genome.fasta -h scaffold1.sam > scaffold1.h.sam
sort
-l INT | 小写L,设置输出文件压缩等级。0-9,0是不压缩,9是压缩等级最高。不设置此参数时,使用默认压缩等级 |
-m INT | |
-n | 按read名称排序 |
-o FILE | 将结果输出到指定文件而不是标准输出 |
-O FORMAT | 设置最终输出的文件格式,可以是bam,sam或者cram,默认为bam |
-T PREFIX | 设置临时文件的前缀 |
-@ INT | 设置排序和压缩是的线程数量,默认是单线程 |
#输出为out.bamsamtools sort -l 9 -m 90M -T sorted -@ 2 in.bam out #老用法或samtools sort -l 9 -m 90M -T sorted -@ 2 -o out.bam in.bam
index
-b | 创建bai索引文件,未指定输出格式时,此参数为默认参数 |
-c | 创建csi索引文件,默认情况下,索引的最小间隔值为2^14,与bai格式一致 |
-m INT | 创建csi索引文件,最小间隔值2^INT |
-@ INT | 设置线程数 |
#输出文件为in.bam.baisamtools index in.bam
tview
samtools tview in.bam ref.fa
flagstat
samtools flagstat in.bam
merge
-f | 强制覆盖已经存在的bam |
-h file | 把file作为输出bam的header |
-l | 小写L,压缩等级1 |
-n | 合并后的bam按read名称排序 |
-r | 加上RG标签(inferred from file names) |
-R str | 在特殊区域str内合并 |
-u | 输出非压缩的bam |
samtools merge -h in.header out.bam in1.bam in2.bam ...
请问对于同一份BAM文件使用samtools depth和用samtools mpileup跑出来的位点的depth有何差异?
©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任
来源:ZhiKuGroup博客,欢迎分享。
评论专区