Tophat2比对原理及命令

2018-09-18

相对速度快并且占用内存小的TopHat在RNA-Seq中常常用于跨内含子比对,这里我们来关注一下TopHat2,TopHat2的安装是依赖Bowtie2的(当然Bowtie1也是可行的),TopHat2适合于75bp以上Read的比对。TopHat2是一个多步骤比对的程序,如果基因组的注释文件存在的话,那么它会先将Read比对到转录组上。这就大大提高了比对的准确性,还可以避免序列匹配到假基因上,加快了整个比对的进程。TopHat2容错率很低,并不会因为没有比对上就而截短Read从而去比对上,所以低质量的碱基比对的效果可能不是那么好。此外,TopHat2可以察觉基因组的易位,将Read比对到潜在的融合转录子上。

TopHat2比对有三个主要的过程,转录组的比对(步骤一),基因组的比对(步骤二),剪接比对(步骤三到六,如图4.1显示的一样),双端测序的Read首先每端数据要分别单独进行比对,然后考虑比对的片段长度以及方向将单独比对结果合并在一起形成双端比对结果。

图4.1Tophat2剪接比对的程序

(a)那些没有比对到基因组或者转录组的Read将会片段化,形成更小的片段,并且再一次比对到基因组上,如果TopHat2发现Read片段化后的左右两个片段的位于用户定义的最大内含子长度范围内,TopHat2就会将Read映射到整个基因组的区域以便于去寻找那些含有剪接信号的剪接位点(b)潜在的剪接位点侧翼基因组序列被串联起来,并构建索引,未映射的Read片段(在这里由星号标记)用Bowtie2比对串联的侧翼区域。(c)被分割的片段重新连接形成完整的Read。

1. 如果注释信息是已知的,那么TopHat2就会将Read比对到转录组上,它是通过一个GTF或是GFF格式的文件从bowtie2建立的索引文件里提取转录本序列。

2. 没有完全比对到转录组的Read再次通过Bowtie2比对到基因组,在这一阶段,那些能够连续比对到单一外显子的Read将会映射到基因组上,而比对到多个外显子的Read将不会映射到基因组上。

3. 那些没有被映射上的Read将会被片段化,通常默认大小为25bp,之后再次比对到基因组上,如果TopHat2发现左右的片段化的Read映射到自定义的最大内含子区长度内,TopHat2就会将Read映射到整个基因组的区域以便于去寻找那些含有剪接信号(GT-AG, GC-AG, or AT-AC))的剪接位点,TopHat2在这一步也能用于寻找缺失以及融合转录子。

4.潜在的剪接位点的侧翼基因组序列被串联起来,并构建索引,未映射的Read片段用Bowtie2比再次比对串联的侧翼序列。

5. 将步骤3和步骤4的小片段拼接在一起完成整个Read的比对。

6. 在步骤2中Read有一部分碱基比对到内含子的将会用新的剪接位点的信息进行重新比对。

7. 在多重比对中为了确定哪一个位置比对是最合适的,TopHat2将会依据匹配到剪接位点的或者indel的Read数量信息重新判分以选择最优的比对。

构建索引

如果你想使用TopHat2,那么你就要像前文描述Bowtie2一样建立基因组的索引,TopHat2一样需要相应的基因组的FASTA格式的文件,所以索引建立好后用不着删除,如果FASTA格式的基因组不与索引在同一个文件夹下,那么Tophat2在运行过程中就会自动生成,所以TopHat2的使用是一个高耗时的。

如果GTF或是GFF格式的基因组注释文件存在的话,那么读长将会优先比对到注释文件的转录组,GTF的文件可在http://www.ensembl.org/info/data/ftp/index.html网站找到,选择对应的生物和GTF选项即可。

如果可行的话,应该事先准备好转录组索引以节约后续比对的时间。

tophat2 -G GRCh37.74.gtf --transcriptome-index= GRCh37.74.tr GRCh37.74

在这里我们使用了注释文件GRCh37.74.gtf和Bowtie2生成的基因组索引GRCh37.74来建立名为GRCh37.74.tr转录组索引,这里需要注意的是,基因组索引里染色体的名称一定要和GTF文件里的相同。在这里Bowtie2生成的基因组索引文件必须用到,所以TopHat2的使用是依赖于Bowtie2的。运行完毕后,生成的文件如:

GRCh37.74.tr.1.bt2

GRCh37.74.tr.2.bt2

GRCh37.74.tr.3.bt2

GRCh37.74.tr.4.bt2

GRCh37.74.tr.fa

GRCh37.74.tr.fa.tlst

GRCh37.74.tr.gff

GRCh37.74.tr.rev.1.bt2

GRCh37.74.tr.rev.2.bt2

GRCh37.74.tr.ver

比对Read

FASTA和FASTQ类型的文件都可以作为TopHat2的输入文件,.gz结尾压缩的Read是可以直接使用的,但是.tgz 或者 .tar.gz结尾的压缩文件是需要被解压后才能使用。下面的例子分别展示对了单端测序和双端测序的序列比对的命令,如果有必要的话,Tophat2也可以将单端测序的Read用于双端测序Read的比对中。

下面两个命令都可以作为单端比对方式,在例子中,序列被比对到人类参考基因组(GRCh37.74),但是第一个命令用了先前就有的转录组的索引,而第二个命令的索引则是在执行过程中生成的。

tophat2 -o outputFolder --transcriptomeindex=GRCh37.74.tr -p 8 --phred64-quals GRCh37.74 reads1.fastq.gz

tophat2 -o outputFolder -G GRCh37.74.gtf -p 8 --phred64-quals GRCh37.74 reads1.fastq.gz

如果是近些年测序产生的数据,那么TopHat2则默认碱基质量得分为质量字符的ASCII值-33,但是如果测序较早,则应该使用参数(--phred64-quals),则碱基质量得分为质量字符的ASCII值-64,参数(-p 8)可以设置8个线程加快比对速度。此外TopHat2处理链特异性测序数据,一般Illumina数据的默认library-type为fr-unstranded。TopHat2还有许多比对时可以使用的参数,参数(-T)使得Read仅比对到转录组上,或者通过参数(-g)改变每个Read最大比对到参考基因组的次数,一般情况默认是20次。

The align_summary.txt 显示了 79.3% 的Read映射上了:

Reads:

Input : 34232081

Mapped : 27140089(79.3% of input)

of these: 1612317 (5.9%)have multiple

alignments (2771 have >20)

79.3% overall read mapping rate.

双端测序的序列比对的方式如下,需要注意的是两个文件的Read的顺序应当一致以保证TopHat2的正常运行。如果有多个文件,那么仅需要用逗号将按顺序将文件隔开就行。

tophat2 –o outputFolder ––transcriptomeindex=GRCh37.74.tr –p 8 --phred64-quals GRCh37.74 reads1.fastq.gz reads2.fastq.gz

TopHat2有些参数特意针对应用双端测序得到的序列的比对,,参数(-r)可以依据你的数据设置需要的两比对末端的距离,通常默认是50(样品的插入片段大小为200bp,读长一般为75bp,200-2*75=50,译者注目前大多数为双端150bp),参数(--no-discordant)可以对于成对的Read,并且只报告方向以及插入片段一致的映射;如果Tophat2不能将成对Read一块映射到基因组,那么默认条件下它将单独映射相应的Read,参数(--no-mixed)可以改变这一默认条件。

Left reads:

Input : 34232081

Mapped : 27143093(79.3% of input)

of these: 1014796 (3.7%)have multiple

alignments (3621 have >20)

Right reads:

Input : 34232081

Mapped : 22600062 (66.0% of input)

of these: 759539 (3.4%)have multiple

alignments (3193 have >20)

72.7% overall read mapping rate.

Aligned pairs: 21229613

of these: 702920 (3.3%)have multiple alignments

336032 (1.6%)are discordant alignments

61.0% concordant pair alignment rate.

TopHat2可以产生多个输出文件

accepted_hits.bam 以BAM文件的形式储存着比对信息,这些比对信息是依据染色体的顺序排列储存的。

junctions.bed 是以Bed格式储存着发现的剪接位点,每个位点都含有左右两个部分,每个部分长度是Read能够跨越剪接位点匹配到基因组的最远距离,最终的得分是跨越剪接位点的Read数量。

insertions.bed 包含着查询到的插入位点信息,chromLeft指的是插入到基因组的位置。

deletions.bed 包含着查询到的缺失位点信息,chromLeft指的是缺失片段的第一个碱基。

align_summary.txt能够显示比对效率以及多少Read能够多处比对。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

tophat 原理_Tophat2比对原理及命令相关推荐

  1. ARP***原理及解决方法与CMD命令分类(1)

    ARP***原理及解决方法与CMD命令分类 ARP***原理及解决方法与CMD命令 [故障原因] 局域网内有人使用ARP欺骗的***程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). ...

  2. pitr 原理_PostgreSQL热备原理研究及流复制运用

    付莎 摘要:高可用性(HA-High Availability)是所有商用数据库系统必须具备的一项基本功能.该文阐述了PostgreSQL数据库的高可用性的实现原理及方法,并对PostgreSQL数据 ...

  3. 计算机输入输出设备说课稿,信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)...

    <信息技术七年级西交大版 第三节 计算机系统的组成与工作原理计算机系统及工作原理说课稿 (共15张PPT)>由会员分享,可在线阅读,更多相关<信息技术七年级西交大版 第三节 计算机系 ...

  4. 第十四课 k8s源码学习和二次开发原理篇-调度器原理

    第十四课 k8s源码学习和二次开发原理篇-调度器原理 tags: k8s 源码学习 categories: 源码学习 二次开发 文章目录 第十四课 k8s源码学习和二次开发原理篇-调度器原理 第一节 ...

  5. mysql udf提权原理_udf提权原理详解

    0x00-前言 这个udf提权复现搞了三天,终于搞出来了.网上的教程对于初学者不太友好,以至于我一直迷迷糊糊的,走了不少弯路.下面就来总结一下我的理解. 想要知道udf提权是怎么回事,首先要先知道ud ...

  6. Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

    Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...

  7. AbstractQueuedSynchronizer 原理分析 - Condition 实现原理

    1. 简介 Condition是一个接口,AbstractQueuedSynchronizer 中的ConditionObject内部类实现了这个接口.Condition声明了一组等待/通知的方法,这 ...

  8. 电机编码器调零步骤_编码器原理、霍尔应用原理、调整步骤三个方面进行解读编码器调试...

    电机中若具备电子铭牌功能,在应用中就可以直接使用,不需要需要调整编码器:如雷赛交流伺服电机具有电子铭牌功能,能自动识别电机型号,参数并对应匹配参数就能发挥伺服优异性能.若不具备电子铭牌功能的电机,则需 ...

  9. [有限元]虚位移原理和虚力原理的证明的统一逻辑

    原来的可能位移/可能力的约束方程是: 力边界上 可能力=常数1 位移边界上 可能位移=常数2 体内 可能平衡方程=常数3 所以可能功原理的右边有三项 由定义, 虚位移=可能位移1-可能位移2 虚力=可 ...

最新文章

  1. act转MP3格式工具
  2. linux 添加动态链接库路径
  3. python 查看帮助
  4. js获取checkbox多选表单
  5. mybatis mysql usegeneratedkeys_mybatis中useGeneratedKeys用法--插入数据库后获取主键值
  6. epson彩色打印机加墨水_爱普生打印机墨盒如何加墨?
  7. Servlet高级应用---Servlet与缓存
  8. linux给命令起别名命令,alias命令 – 设置命令别名
  9. 计算机视觉教程6-1:图解双目视觉系统与立体校正原理
  10. 获取ftp服务器文件,ftp获取服务器文件
  11. 实战技能分享,如何让工程代码各种优化等级通吃,含MDK AC5,AC6,IAR和GCC
  12. BUUCTF-WEB 【0CTF 2016】piapiapia 1
  13. ubuntu安装I219-LM网卡驱动
  14. “鸿蒙之父”王成录重申:鸿蒙系统不是安卓套壳;苹果多款产品电池修理费将涨价;Debian移除Python 2|极客头条...
  15. 【Python】打印出所有的“水仙花数”
  16. 【嵌入式系统基础第九周作业】---LED呼吸灯
  17. .Net 垃圾回收机制原理(一)
  18. php下载 微信头像图片_php微信公众号开发,获取用户头像,并下载
  19. Base64的编码和解码
  20. 安卓pdf阅读器_60+超赞的安卓手机必备应用推荐,每个都非常给力!

热门文章

  1. java 批次号,java重复批次执行
  2. linux 设置开机自启动服务命令,linux开机自启动服务优化设置命令
  3. 酒吧空间怎样量身打造
  4. win7计算机怎样共享的打印机,两台win7电脑如何共享打印机
  5. 瑞友客户端 提示:连接远程服务器遇到错误
  6. 交通事故预测——《RiskOracle: A Minute-level Citywide Traffic Accident Forecasting Framework》
  7. AG6201中文规格书|AG6201方案应用|安格AG6201||HDMI转VGA带DAC方案
  8. 数字化智慧梁场管理系统解决方案
  9. NLP英文缩写词性含义
  10. spss主成分综合得分_spss主成分分析怎么算出综合得分