最新版samtools安装与使用方法
·
Samtools于2009年由 Li Heng 发表在期刊BIOINFORMATICS上,被广泛地应用并整合在二代测序分析流程中,至今已超过2w+的引用率!
本文介绍Linux系统下通过编译安装samtools的操作方法,同时对samtools的功能和使用技巧进行介绍,Samtools是生物信息学中广泛使用的一款软件,主要用于处理基于高通量测序数据。
安装方法
首先,在官网下载最新版的安装包,以下是官网地址,如果你无法访问Github,可以在下面提供第一条链接进行下载(速度更快)。
https://cloud.filll.cn/samtools-1.19.2.tar.bz2
https://github.com/samtools/samtools/releases/
下载完成后,解压并进入samtools文件夹
tar -jxvf samtools-1.19.2.tar.bz2
cd samtools-1.19.2
如果你是管理员账户,想让服务器其他用户也能使用,可以直接运行以下命令:
./configure
但是,如果你只是普通用户,没有权限操作系统目录,则在后面加上prefix参数设置安装路径,例如设置到自己的家目录下:
./configure --prefix=~/software/samtools-1.19.2/
然后就可以开始make编译安装了
make
make install # 普通用户执行
sudo make install # 管理员用户执行
安装完成后,可以进行检查是否安装成功,如果出现以下提示,表示安装成功。
$ which samtools
/usr/local/bin/samtools
(STAR) [xx @ xx 15:32:01 ~]
$ samtools
Program: samtools (Tools for alignments in the SAM format)
Version: 1.19.2 (using htslib 1.19.1)
Usage: samtools <command> [options]
Commands:
-- Indexing
dict create a sequence dictionary file
faidx index/extract FASTA
fqidx index/extract FASTQ
index index alignment
配置环境变量,这样下次就能直接调用了。
export PATH=/yourdir:$PATH >> ~/.bashrc
主要功能
-
查看和转换格式:Samtools可以将SAM格式转换为二进制的BAM格式,这样做可以减少文件大小,提高数据处理效率。 -
排序和索引:对于BAM文件,Samtools可以按照染色体位置进行排序,并为其创建索引。 -
数据提取和查询:利用Samtools,用户可以根据需要提取BAM文件中的特定区域或者特定特征的数据。 -
统计分析:Samtools能够提供关于测序数据的统计信息,如覆盖度、碱基质量分布等。 -
变异检测:Samtools还包括用于变异检测(如单核苷酸多态性,SNPs)的工具。 -
错误校正:它还能帮助识别和校正测序错误。
常用命令与使用方法
对fasta文件建立索引
samtools faidx ref.fasta
通常用于为参考基因组建立索引,以上命令可以建立一个以.fai后缀结尾索引文件,非常好用。
对BAM文件进行排序
samtools sort [-T out.prefix][-@ threads][-m maxMem][-o out.sorted.bam][in.bam]
sort命令也很强大,可以对bam文件中的序列进行排序,默认下是按序列在fasta文件中的顺序(即header)和序列从左往右的位点排序。
-
@ 用于设置线程数 -
m 用于设置最大内存资源量
合并多个已排序的BAM文件
samtools merge [out.bam][in1.bam][in2.bam]
这个命令能够将多个bam文件合并成一个文件,如果想合并指定染色体,只需要添加R参数即可,例如“-R chr7”
,支持批量合并,可以用*
代替目录下所有文件。
samtools merge [-nur1f] [-h inh.sam] [-R reg] [-b <list>] <out.bam> <in1.bam> [<in2.bam><in3.bam>…<inN.bam]
参数:
-l 指定压缩等级;
-b FILE 输入文件列表,一个文件一行;
-f 强制覆盖同名输出文件;
-h FILE 指定FILE内的’@’头复制到输出bam文件中并替换输出文件的文件头。否则,输出文件的文件头将从第一个输入文件复制过来;
-n 设定输入比对文件是以read名进行排序的而不是以染色体坐标排序的;
-R STRING 合并输入文件的指定区域;
-r 使RG标签添加到每一个比对文件上,标签值来自文件名;
-u 输出的bam文件不压缩;
-c 当多个输入文件包含相同的@RG头ID时,只保留第一个到合并后输出的文件。当合并多个相同样本的不同文件时,非常有用。
-p 与-c参数类似,对于要合并的每一个文件中的@PG ID只保留第一个文件中的@PG。
今天的分享就到这里,下次分享bcftools的使用方法和技巧。
参考资料
https://github.com/samtools/samtools
https://zhuanlan.zhihu.com/p/658663764
本文由 mdnice 多平台发布
更多推荐
已为社区贡献2条内容
所有评论(0)