..微笑着看着杯中的花茶一片片撑开.. ..透明的花瓣里水破开的声音很轻微..
分类: 信息化
2016-07-04 20:04:27
本文翻译自TransDecoder自带的说明文档,由于水平有限,文中尚有存在疑义的地方,阅读时请参照原文进行解读。
TransDecoder识别转录本序列中候选的编码区域,诸如那些将RNA-Seq数据用Trinity从头组装或者使用Tophat和Cufflinks将RNA-Seq比对到基因组中构建的转录本。
TransDecoder 基于以下标准识别可能的编码序列:
该软件主要由的和的维护。它被整合在其它相关的软件中,如,,和.
获取TransDecoder
TransDecoder可以在下面的网址找到:
https://github.com/TransDecoder/TransDecoder/releases
在当前安装目录下输入make进行编译(注意:只有软件是编译过的,它同TransDecoder捆绑并受其调用)。
运行TransDecoder
从fasta格式文件预测编码区
TransDecoder通过运行一个包含目的转录本序列的fasta文件来实现功能。简单的用法如下:
# Step 1: 提取最长的开放阅读框
TransDecoder.LongOrfs -t target_transcripts.fasta
默认情况下,TransDecoder.LongOrfs将识别长度至少为100个氨基酸的开放阅读框。你可以通过-m参数来降低这个值,但是要知道随着最小长度的变短,ORF预测的假阳性率迅速增长。
# Step 2: (可选)
可选地,可以通过blast或者pfam搜索已知蛋白的同源序列来识别ORF。
见下面的章节。
# Step 3: 预测可能的编码区
TransDecoder.Predict -t target_transcripts.fasta [ homology options ]
如果转录本按照有义链进行了调整,那么使用-S标记来只检查top链。完整的使用信息见后面。
候选编码区的最终集合可以在文件.transdecoder中找到。扩展名包括.pep,.cds,.gff3和.bed。
从基于基因组的转录结果GTF文件开始预测(如:cufflinks)
这个过程等同于前面的特例。我们首先必须生成一个与转录本序列一致的fasta文件,然后,我们重新计算一个GFF3格式的基因组注释文件。该文件按基因组坐标来描述预测的编码区域。
使用基因组和转录本gtf文件来构建转录本fasta文件的方式如下:
util/cufflinks_gtf_genome_to_cdna_fasta.pl transcripts.gtf test.genome.fasta > transcripts.fasta
接下来,将转录本结构GTF文件转换为一个alignment-GFF3格式的校准文件(做这步只是因为我们用gff3进行处理好于从gtf文件开始)。可以像这样完成gtf到alignment-gff3的转换,以使用cufflinks的GTF输出为例:
util/cufflinks_gtf_to_alignment_gff3.pl transcripts.gtf > transcripts.gff3
现在,运行前面描述的过程来生成你的最佳候选ORF的预测:
TransDecoder.LongOrfs -t transcripts.fasta
(optionally, identify peptides with homology to known proteins)
TransDecoder.Predict -t transcripts.fasta [ homology options ]
最后,生成一个基于基因组的编码区域注释文件:
util/cdna_alignment_orf_to_genome_orf.pl transcripts.fasta.transdecoder.gff3
transcripts.gff3 transcripts.fasta > transcripts.fasta.transdecoder.genome.gff3
样本数据和运行
sample_data文件夹包含一个runMe.sh脚本。你可以运行它来验证一个从cufflinks的GTF文件开始的整个过程。注意,TransDecoder典型用法的例子是从一个包含目的转录本的fasta文件开始的。然而,在基因组分析的例子中,转录本通常是从注释的坐标中推断出来的,例如Cufflinks GTF格式的文件。在这个例子中,转录本序列是基于GTF注释坐标重构出来的,然后TransDecoder执行了这个fasta文件。我们为将转录本ORF坐标转换为基因组坐标提供了一个额外的实例,以便这些区域可以在基因组范畴内得以检验。
输出文件说明
一个用于运行和存储中间结果的工作目录(如:transcripts.transdecoder_dir)会被创建并包含:
longest_orfs.pep : 所有达到最小长度标准的ORF, 不管是否编码
longest_orfs.gff3 : 在目的转录本中发现的所有ORF的位置
longest_orfs.cds : 所有检测到的ORF的核酸编码序列
longest_orfs.cds.top_500_longest : 前500个最长的ORF,用于训练一个编码序列的马尔科夫模型
hexamer.scores : 每个k-mer的对数似然得分 (coding/random)
longest_orfs.cds.scores : 每个ORF同6个阅读框间对数似然得分的总和
longest_orfs.cds.scores.selected : 根据得分标准所选出的ORF
longest_orfs.cds.best_candidates.gff3 : 转录本中选出的ORF的位置
然后,最后的输出文件在你当前的工作目录中。
transcripts.fasta.transdecoder.pep : 最终候选ORF的蛋白质序列;所有较长ORF中的较短的候选序列已被移除。
transcripts.fasta.transdecoder.cds : 最终候选ORF的编码区的核酸序列。
transcripts.fasta.transdecoder.gff3 : 最终被选中的ORF在目的转录本中的位置
transcripts.fasta.transdecoder.bed : 用来描述ORF位置的bed格式文件,最好用GenomeView或IGV来查看。
将直系同源搜索作为ORF的保留标准
为进一步最大化捕捉具有功能意义的ORF的敏感度,可以像之前提到的不管编码似然得分,你可以扫描所有与已知蛋白同源的ORF并保留这类ORF。这可以通过两种方法做到:用BLAST搜索已知蛋白的数据库进,以及搜索PRAM来识别共同的蛋白质结构域。在TransDecoder中是按照如下方式完成的。
BlastP搜索
使用搜索一个蛋白质数据库,诸如。
一个示例命令就像这样:
blastp -query transdecoder_dir/longest_orfs.pep -db uniprot_sprot.fasta -max_target_seqs 1 -outfmt 6 -evalue 1e-5 -num_threads 10 > blastp.outfmt6
如果你可以使用计算集群,考虑使用进行更有效的并行计算。
Pfam搜索
使用Pfam搜索多肽的蛋白质结构域。这需要安装和Pfam数据库。
hmmscan --cpu 8 --domtblout pfam.domtblout /path/to/Pfam-A.hmm transdecoder_dir/longest_orfs.pep
就像BLAST搜索中那样,如果你可以使用计算集群,考虑使用。
将Blast和Pfam搜索结果整合到编码区域选择
TransDecoder借助上面生成的输出结果来确定将这些被blast命中的和结构域命中的多肽保留在报告的编码区集合中。像这样运行TransDecoder.Predict:
TransDecoder.Predict -t target_transcripts.fasta --retain_pfam_hits pfam.domtblout --retain_blastp_hits blastp.outfmt6
最终的编码区预测结果将包含与编码区域一致的序列字符以及blast得到的直系同源结果或pfam结构域的内容。
在基因组浏览器中查看ORF预测结果
推荐使用或来在基因组或者转录组范畴内查看候选的ORF。下面的例子展示了如何使用GenomeView来完成这个任务。
在目的转录本中浏览ORFs
java -jar $GENOMEVIEW/genomeview.jar transcripts.fasta transcripts.fasta.transdecoder.bed
如果你没有基因组序列并且仅仅使用目的转录本。你可以将转录本的fasta文件和ORF预测结果(bed文件)加载到GenomeView(如下)。
在基因中浏览转录本结构范围内的ORF
java -jar $GENOMEVIEW/genomeview.jar test.genome.fasta transcripts.bed transcripts.fasta.transdecoder.genome.bed
基于cufflinks的转录本原始结构用黑色显示,预测的编码区域用青色显示。
技术支持和项目公告
加入我们TransDecoder的google group:
最后更新2015-03-24 08:42:50 EDT
翻译 by 斑斑 [QQ:23920620]
欢迎来QQ群178750864交流有关生物信息学的相关内容