TransDecoder 使用说明
2016-07-22 09:18阅读:
TransDecoder识别转录本序列中候选的编码区域,诸如那些将RNA-Seq数据用Trinity从头组装或者使用Tophat和Cufflinks将RNA-Seq比对到基因组中构建的转录本。
TransDecoder
基于以下标准识别可能的编码序列:
1)
在转录本序列中需要能够找到一个(满足)最小(限定)长度的ORF;
2)
对数似然数得分大于0。(与GeneID软件计算得到的得分相类似);
3)
第一阅读框的对数似然数打分同其它5个阅读框比较为最大值时;
4)
如果候选的ORF完全被包含在其它候选ORF的框架内,那么报告最长的ORF。否则,一个单独的转录本会得到多个ORF的报告。(考虑到有操纵子、嵌合体等情况);
5)
作为可选项,预测出的多肽在Pfam domain库中存在比对分值高于得分阈值之上的
。
该软件主要由Broad
Institute的Brian
Haas和Commonwealth Scientific and Industrial
Research Organisation的Alexie
Papanicolaou维护。它被整合在其它相关的软件中:Trinity,PASA,EVidenceModeler和Trinotate。
获取TransDecoder
TransDecoder可以在下面的网址找到:https://github.com/TransDecoder/TransDecoder/releases
在当前安装目录下输入make进行编译 (注意: 只有cd-hit软件是编译过的,它同TransDecoder捆绑并受其调用)
。
运行TransDecoder
1. 从fasta格式文件预测编码区
TransDecoder通过运行一个包含目的转录本序列的fasta文件来实现功能。简单的用法如下:
#
Step 1: 提取最长的开放阅读框
TransDecoder.LongOrfs -t
target_transcripts.fasta
默认情况下,TransDecoder.LongOrfs将识别长度至少为100个氨基酸的开放阅读框。你可以通过-m参数来降低这个值,但是要知道随着最小长度的变短,ORF预测的假阳性率迅速增长。
#
Step 2: (可选)
可选地,可以通过blast或者pfam搜索已知蛋白的同源序列来识别ORF。
见下面的Including
homology searches as ORF retention
criteria章节。
#
Step 3: 预测可能的编码区
TransDecoder.Predict -t
target_transcripts.fasta
[ homology options
]
如果转录本按照有义链进行了调整,那么使用-S标记来只检查top链。完整的使用信息见后面。
候选编码区的最终集合可以在文件.transdecoder中找到。扩展名包括.pep,.cds,.gff3和.bed。
2.
从基于基因组的转录结果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搜索
使用BLAST+搜索一个蛋白质数据库,诸如Swissprot(较快)or
Uniref90
(较慢但更全面)。
一个示例命令就像这样:
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
如果你可以使用计算集群,考虑使用HPC
GridRunner进行更有效的并行计算。
Pfam搜索
使用Pfam搜索多肽的蛋白质结构域。这需要安装hmmer3和Pfam数据库。
hmmscan --cpu 8 --domtblout
pfam.domtblout
/path/to/Pfam-A.hmm
transdecoder_dir/longest_orfs.pep
就像BLAST搜索中那样,如果你可以使用计算集群,考虑使用HPC
GridRunner。
将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预测结果
推荐使用GenomeView或IGV来在基因组或者转录组范畴内查看候选的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的转录本原始结构用黑色显示,预测的编码区域用青色显示。
原文:http://blog.chinaunix.net/uid-12084847-id-5747180.html