生信软件 | bowtie2(测序序列与参考序列比对)
文章目录
- 一、介绍
- 二、安装
- 1. Conda 安装
- 2. 传统安装
- 三、使用
- 1、参考基因组比对
- 必需参数
- 可选参数(常用)
- 2、构建索引
- 官方索引
- 自建索引
- 3、一个完整例子
一、介绍
- Bowtie2 是将测序后的 reads 与长参考组的比对工具 (适用于将长度大约为50~1000bp的reads与相对较长的基因组, 如哺乳动物,进行比对)。
- 通常是比较基因组学(包括 variation calling,ChIP-seq,RNA-seq,BS-seq)管道的第一步。
- 可以处理非常长的 Reads(即10~100kb),但它针对近期测序仪产生的 Reads 长度和误差模式进行了优化,如Illumina HiSeq 2000,Roche 454和Ion Torrent仪器。
- Bowtie2使用FM索引(基于Burrows-Wheeler Transform 或 BWT)对基因组进行索引,以此来保持其占用较小内存。对于人类基因组来说,内存占用在3.2G左右。Bowtie2 支持间隔,局部和双端对齐模式。可以同时使用多个处理器来极大的提升比对速度。
如果目的是对齐两个非常大的序列(例如两个基因组),请考虑使用MUMmer。
如果目的是与相对较短的参考序列(如细菌基因组)非常灵敏的比对,可以使用Bowtie 2完成,但也可以考虑使用NUCmer,BLAT或BLAST等工具。当参考基因组很长时,这些工具可能会非常缓慢,但当参考基因组很短时通常就足够了。
二、安装
这里提供两种方法,选择一种安装即可,强烈建议使用Conda方式安装
1. Conda 安装
conda install -y bowtie2
这里需要安装Conda (一款用于安装多数生物信息分析软件的管理软件,重要的是可以解决软件的依赖问题) : Conda 安装使用图文详解
2. 传统安装
下载
http://bowtie-bio.sourceforge.net/bowtie2/index.shtml
在Linux系统下将上述的链接下载到本地
sudo wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.3.4.1/bowtie2-2.3.4.1-linux-x86_64.zip
解压
unzip bowtie2-2.3.4.1-linux-x86_64.zip
设置环境变量
- 打开环境变量设置文件
sudo vim /etc/environment
添加软件 bin 目录的路径,并用
:
隔开,如下图执行source命令,使配置立即生效
sudo source /etc/enviroment
三、使用
1、参考基因组比对
单末端
"bowtie2 -p 10 -x genome_index -U input.fq | samtools sort -O bam -@ 10 -o - > output.bam
双末端
bowtie2 -p 10 -x genome_index -1 input_1.fq -2 input_2.fq | samtools sort -O bam -@ 10 -o - > output.bam
需要注意的是:
- 这条命令把bowtie2 生成的sam文件通过管道
|
传递到samtools,将sam转换为bam文件,省去中间sam文件的空间占用- genome_index 指的是用于bowtie2的索引文件(如下图),而不是参考基因组本身,构建过程参考后文。
- genome_index 需要指定路径及其共用文件名,比如我的索引文件放在
/data/ref/bowtie2/mm10
目录下,但是需要输入的参数为/data/ref/bowtie2/mm10/mm10
。最后一个mm10
指的是共用文件名。
必需参数
参数 | 解释 |
---|---|
-x |
参考基因组索引的基名。基本名称是任何索引文件的名称,但不包括最终的.1.bt2 / .rev.1.bt2 /等。bowtie2 在当前目录中首先查找指定的索引,然后在BOWTIE2_INDEXES 环境变量中指定的目录中查找。
|
-1 |
以逗号分隔的包含队友1的文件列表(文件名通常包含_1 ),例如-1 flyA_1.fq,flyB_1.fq 。使用此选项指定的序列必须与文件中的文件和读取的文件一致<m2> 。读数可能是不同长度的混合。如果- 指定,bowtie2 将从“标准输入”或“标准输入”文件句柄读取队友1。
|
-2 |
逗号分隔的包含队友2(文件名通常包括_2 )的文件列表,例如-2 flyA_2.fq,flyB_2.fq 。使用此选项指定的序列必须与文件中的文件和读取的文件一致<m1> 。读数可能是不同长度的混合。如果- 指定,bowtie2 将从“标准输入”或“标准输入”文件句柄中读取队友2。
|
-U |
逗号分隔的包含未配对读取的文件列表要对齐,例如lane1.fq,lane2.fq,lane3.fq,lane4.fq 。读数可能是不同长度的混合。如果- 指定,bowtie2 则从“标准输入”或“标准输入”文件句柄中读取数据。
|
-S | 将SAM对齐文件写入。默认情况下,对齐被写入“标准输出”或“标准输出”文件句柄(即控制台)。 |
可选参数(常用)
参数 | 解释 |
---|---|
-q |
读取(与指定<m1> ,<m2> ,<s> )是FASTQ文件。FASTQ文件通常有扩展名.fq 或.fastq 。FASTQ是默认格式。另见:--solexa-quals 和--int-quals 。
|
-p/–threads NTHREADS |
启动NTHREADS 并行搜索线程(默认值:1)。线程将在单独的处理器/内核上运行,并在解析读取和输出对齐时进行同步。搜索对齐高度平行,加速接近线性。提高-p 增加的蝴蝶结2的内存占用。例如,当与人类基因组索引对齐时,-p 从1增加到8会将内存占用增加数百兆字节。该选项仅在bowtie 与pthreads 库链接时才可用(即,如果BOWTIE_PTHREADS=0 未在构建时指定)。
|
–local | 在这种模式下,Bowtie 2不要求整个读取从一端到另一端对齐。相反,为了达到最大可能的对齐分数,可以从末端省略一些字符(“软裁剪”) |
2、构建索引
官方索引
wget ftp://ftp.ccb.jhu.edu/pub/data/bowtie2_indexes/mm10.zip
unzip mm10.zip
rm mm10.zip make_mm10.sh
其他物种的索引:https://benlangmead.github.io/aws-indexes/bowtie
自建索引
这里以构建 *M. musculus*, UCSC mm10
为例
wget http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz
tar -zxvf chromFa.tar.gz
cat *.fa > mm10.fa
bowtie2-build mm10.fa mm10
3、一个完整例子
- 下载参考基因组
wget http://hgdownload.cse.ucsc.edu/goldenPath/mm10/bigZips/chromFa.tar.gz
tar -zxvf chromFa.tar.gz
cat *.fa > mm10.fa
- 构建bowtie2索引文件
bowtie2-build mm10.fa mm10
- 运行bowtie2 获取 SAM 文件
bowtie2 -p 6 -3 5 --local -x mm10 -1 example_1.fastq -2 example_2.fastq -S example.sam
这行命令表示使用–local的比对模式,使用 mm10 的索引;这里是双末端测序,所以将待比对文件 example_1.fq example_2.fa 分别输入,以 example.sam 的文件输出
如果为单末端测序的话,上述命令换为:
bowtie2 -p 6 -3 5 --local -x mm10 -U /opt/sdc/SRR/example.fastq -S example.sam
- SAM 文件转为 BAM 文件
samtools sort example.sam > example.bam
生信软件 | bowtie2(测序序列与参考序列比对)相关推荐
- C#,生信软件实践(01)——DNA序列数据库FASTA文件合并工具的源代码
1 生物信息学简介 生物信息学(BioInformatics)是研究生物信息的采集.处理.存储.传播,分析和解释等各方面的学科,也是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的 ...
- 生信软件2 - 下游比对数据的统计工具 picard
下游比对数据的统计工具 picard Picard是一组命令行工具,用于处理高通量排序数据和格式,如sam/ bam/ cran和vcf文件. 安装 在Linux系统目录下执行以下命令下载软件 wge ...
- 生信软件4 - 拷贝数变异CNV分析软件 WisecondorX
使用wisecondorX可进行拷贝数变异CNV的分析,作者在论文中对比了多种软件的使用效果,可自行根据自己的项目需要,判断是否使用. wisecondrX安装 # conda安装 conda ins ...
- 生信软件5 - RIdeogram包绘制染色体密度图
该R包在全基因组测序WGS中可以通过用于描述突变位点在染色体上的分布,在转录组测序RNA-Seq中可用于描述差异表达基因在染色体上的分布,在WGBS中可用于描述DNA甲基化在染色体上的分布等. R包软 ...
- 生信软件 | FastQC(质量控制,查看测序质量)
生信软件 | FastQC 介绍 高通量测序数据的高级质控工具 输入FastQ,SAM,BAM文件,输出对测序数据评估的网页报告 安装 conda install fastqc 这里需要安装Conda ...
- 【生信】常见测序数据格式
[生信]常见测序数据格式 文章的文字与图片全部/部分来源网络或学术论文,文章会持续修缮更新,仅供大家学习使用. 目录 [生信]常见测序数据格式 1.FASTA 2.FASTQ 3.GFF 4.BED ...
- 生信软件c语言,科学网—[转载]没有docker我真的不想动这样的生信软件 - 张成岗的博文...
没有docker我真的不想动这样的生信软件 2020-03-26阅读 2620 C语言源代码需要编译的软件 最开始开发者都是C语言流派, 所以标准的源代码安装三部曲即可,即使 configure+ma ...
- C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码
1 GenBank 1.1 NCBI--美国国家生物技术信息中心(美国国立生物技术信息中心) NCBI(美国国立生物技术信息中心)是在NIH的国立医学图书馆(NLM)的一个分支.它的使命包括四项任务: ...
- C#,生信软件实践(06)——DNA数据库GenBank文件的详解介绍及解释器之完整C#源代码
1 GenBank 1.1 NCBI--美国国家生物技术信息中心(美国国立生物技术信息中心) NCBI(美国国立生物技术信息中心)是在NIH的国立医学图书馆(NLM)的一个分支.它的使命包括四项任务: ...
最新文章
- 2021-2027年中国医疗美容市场研究及前瞻分析报告
- 【c语言】蓝桥杯算法提高 c++_ch02_02
- [转]ASP.NET中常用输出JS脚本的类
- 使用 Redis 实现分布式速率限制
- statsmodels 笔记 STL
- 2017.12.19 白盒测试作业第四次小组例会
- linux操作系统之exec函数族
- C++学习之路 | PTA乙级—— 1084 外观数列 (20 分)(精简)
- Python通过snmp获取交换机VLAN号、VLAN默认网关、VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据
- 支付业务与技术架构学习总结(3)——账务系统
- 【PATL1-46】整除光棍(模拟除法)---水题
- 解决安装VC2015失败的问题
- 因子分析法之因子旋转
- Android相对布局
- 安捷伦 34401A串口通信
- 理解AsyncTask
- 无线网络监控分析工具
- ucosii操作系统和linux,请高手介绍下uCOSII和Linux的差异?
- CenterX:用中国特色社会主义的方式打开CenterNet
- 【无人机组装与调试】 第五章 无人机遥控器
热门文章
- 8、ByteBuf与ByteBuffer的区别
- SQL Server 语法大全
- oracle11g报错ora12505,解决oracle11g的ORA-12505问题
- mySQL端口号3306被占用_mysql端口号3306被占用解决
- Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
- Python 入门之元组与字典
- 《时代》评选17年100位全球影响力人物,滴滴柳青、DeepMind创始人等科技大佬上榜...
- 正交投影、弱透视投影和透视投影
- 设计师必备的插画设计网站
- android adb 5037端口被占用解决方案