您的位置:

samtools详解

一、samtools安装

Samtools是一个用于处理SAM/BAM格式文件的工具包。要想使用samtools,首先需要安装它。在Linux环境下,可以使用以下命令安装:

wget https://github.com/samtools/samtools/releases/download/1.9/samtools-1.9.tar.bz2
tar xvfj samtools-1.9.tar.bz2
cd samtools-1.9
make
make install

安装完成后,可以使用以下命令检查是否安装成功:

samtools --version

二、samtools sort

Samtools sort可以将BAM文件按照某种规则进行排序,并输出排序后的结果。

比如,可以使用以下命令按照读取的位置进行排序:

samtools sort input.bam -o output.bam

在排序时,为了加快速度,Samtools默认采用多线程模式。可以使用以下参数来指定线程数:

samtools sort -@ 4 input.bam -o output.bam

需要注意的是,默认情况下,Samtools sort会自动为输出文件添加“.sort”后缀,如果不想加后缀,可以使用以下命令:

samtools sort -n input.bam -o output.bam

三、samtools view

Samtools view可以根据用户的要求,从BAM文件中获取特定的reads,并输出对应的序列信息。

比如,可以使用以下命令获取chr1:100000-200000区域的reads信息:

samtools view input.bam chr1:100000-200000 > output.sam

需要注意的是,默认情况下,Samtools view会将BAM文件中的reads输出为SAM格式,如果想要输出为BAM格式,可以使用以下命令:

samtools view -b input.bam chr1:100000-200000 > output.bam

四、samtools depth

Samtools depth可以用来统计某个区域内每个碱基的测序深度,并输出结果。

比如,可以使用以下命令获取chr1:100000-200000区域的深度信息:

samtools depth -r chr1:100000-200000 input.bam > output.txt

需要注意的是,Samtools depth默认情况下只会统计覆盖度大于0的碱基,如果同时需要统计覆盖度为0的碱基,可以加上-S参数:

samtools depth -r chr1:100000-200000 -S input.bam > output.txt

五、samtools查看bam文件

Samtools提供了多种命令行工具,可以用来查看BAM文件的相关信息。

比如,可以使用以下命令查看BAM文件的头部信息:

samtools view -H input.bam

也可以使用以下命令查看BAM文件中的read数量:

samtools view -c input.bam

六、samtools view和awk

Samtools view和awk命令可以一起使用,方便用户对reads进行筛选和处理。

比如,可以使用以下命令获取chr1:100000-200000区域,且mapping quality大于30的reads信息:

samtools view input.bam chr1:100000-200000 | awk '$5>=30{print}'

也可以使用以下命令获取chr1:100000-200000区域,且read序列长度大于50的reads信息:

samtools view input.bam chr1:100000-200000 | awk 'length($10)>=50{print}'

七、samtools flagstat

Samtools flagstat可以统计BAM文件中reads的标记信息,并输出相关的统计结果。

比如,可以使用以下命令查看BAM文件中的reads数量、mapped reads数量、unique mapped reads数量等信息:

samtools flagstat input.bam

需要注意的是,Samtools flagstat默认情况下会将统计结果输出到标准错误流中,如果想要将结果输出到文件中,可以使用以下命令:

samtools flagstat input.bam > output.txt 2>&1
以上是Samtools的一些常用命令和使用方法,对于更多命令以及使用说明,可以参考Samtools官方文档。