介绍:
GenomeThreader是一个基于相似性预测基因结构的软件。它使用额外的cDNA/EST或蛋白质序列通过剪接比对预测基因结构。
- 内含子切除技术:
内含子切除技术对核心动态规划算法进行扩展,克服了处理长内含子基因组算法的空间和时间限制。 - 高度参数化:
有很多参数
1. 组成:
genome threader由几个基因预测工具组成。gth是其中最重要的一个,用来计算基因结构。
除了gth,还有一些其他的工具:
- gthconsensus通过intermediate文件(中间文件?)获得一致的剪接比对
- gthsplit分割intermediate文件
- gthgetseq从intermediate文件处获得FASTA文件
- gthfilestat描述intermediate文件中剪接比对的各个统计量
- gthbssmfileinfo展示BSSM的信息
- gthbssmtrain训练BSSM
- gthbssmbuild构建BSSM文件
- gthclean.sh移除所有的索引(indice)
gth产生intermediate文件;
BSSM 即贝叶斯剪接位点模型(Bayesian Splice Site Model)
2. 安装注意事项:
- 把bin目录添加到PATH变量里;
- 确保bssm文件夹、gthdata文件夹、可执行文件在同一个目录里。否则需要分别创建BSSMDIR、GTHDATADIR来指明他们的位置。
#针对bash
$ export BSSMDIR="$HOME/gth-1.6.1-Linux i686-32bit/bin/bssm"
$ export GTHDATADIR="$HOME/gth-1.6.1-Linux i686-32bit/bin/gthdata"
- 可以指定多个目录,但需要在对应的环境变量中用冒号分隔
3. gth:
3.1. 语法:gth [options] -genomic genseqfiles -cdna cdnafiles -protein proteinfiles
3.2. option介绍
3.2.1. 输入选项
- -genomic:需要预测基因结构的基因组文件;
- -cdna:被剪接、比对到基因组的cDNAs/ESTs;
- -protein:被剪接、比对到基因组的蛋白质;
1.必须要提供基因组文件(要不然比啥呢)。cdna和protein有一个就行。
2.针对输入文件,支持以下格式:
I. multiple FASTA format:以 > 开始。以 > 开头的行包含其后序列的说明;
II. multiple EMBL/SWISSPROT format:以字符串ID开始。ID和DE行包含对应序列的说明。 EMBL格式和SwissProt格式一样;
III. multiple GENBANK format:以字符串LOCUS开始。LOCUS 和DEFINITION-lines包含对应序列的说明;
IV. Plain format:如果不属于上面的三种类型,将整个文件作为输入文件(包括空格)
3.2.2. 参数文件选项
未指定BSSM参数文件时,使用通用剪接位点模型
-
-species:使用针对特定物种的BSSM文件。在运行文件的目录和BSSMDIR里搜索。
-bssm:加载BSSM参数文件。会在当前路径和BSSMDIR里搜索
-scorematrix:氨基酸替换矩阵,用于与蛋白质的剪接比对。默认打分矩阵为BLOSUM62。在运行文件目录和GTHDATADIR里搜索。
class:选用二分类贝叶斯模型还是7分类贝叶斯模型训练参数
对号:表示对应BSSM文件里有该donor或acceptor的的模型
- -translationtable:密码子翻译表
-species 和-bssm不能一起用,否则会报错
3.2.3. 链方向选项
- -f: 只分析基因组的正链
- -r: 只分析基因组的负链
- -cdnaforward: 只比对cnda的正链
- DNA是双链的,对于一个参考基因组,指定其中一条链为forward链,那么另一条就是reverse链,并没有什么生物学意义。
- 不能同时使用-f和-r。但是如果两个都不用的话,默认分析基因组的两条链
3.2.4. 基因组序列位置选项
基因组序列中的位置以1开头。以下选项用于指定需要预测基因结构的基因组序列,只适用于一个基因组序列的情况
- -frompos: 指定要分析的基因组区域的第一个位置i(正整数)
- -topos: 指定要分析的基因组区域的最后一个位置j(正整数)
- -width: 仅分析宽度为w的基因组区域
- 必须要用-frompos,-topos和-width用一个就可以。
- 如果使用选项-frompos,程序将自动设置-inverse,会消耗大量内存。如果可以取出感兴趣的基因组序列,然后再用gth分析的话,便可以避免这个问题
3.2.5. 输出选项
- -v: 提供有关不同步骤以及计算资源要求的报告。 会很长···
- -xmlout: 以xml格式展示结果
- -gff3out: 以gff3格式展示结果。要么是剪接比对(设置 -intermediate),要么是保守剪接比对(设置-skipalignmentout)
- -md5ids: 将MD5指纹作为序列ID
- -o: 重定位输出文件
- -gzip: 用gzip压缩-o指定的输出文件
- -bzip2: 用bzip2压缩-o指定的输出文件
- -force: 强制写入-o指定的输出文件。默认,仅在文件不存在时写入。
- -skipalignment: 跳过剪接、比对的输出
- -mincutoffs:展示完整的拼接比对。 即,在比对的任一侧仅切除插入物和内含子。(不是很理解)
- -showintronmaxlen: 可以展示的内含子的最大长度。如果内含子大于设定值,则显示其缩写形式。设为0时可以显示所有外显子(无论多长)
- -minorflength: 最小阅读框长度(大于0,整数)。默认为64
- -startcodon: ORF必须以起始密码子开头
- -finalstopcodon: 要求最后的ORF必须以终止密码子结尾。
- -showseqnums: 在输出中显示序列号。即在描述用于剪接比对的序列时添加序列编号。从0开始编号
- -pglgentemplate: 在PGL行中展示基因组模版。默认为yes
- -gs2out:以GeneSeqer2的格式输出结果。GeneSeqer2是genome threader的前身
如果同时使用-o和-v,-v产生的输出将不会重定向到-o指定的文件中。我们可以边保存计算结果,边在标准输出中查看进度。
3.2.6. 数据预处理选项
通过内部调用Vmatch包中的mkvtree实现
- -maskpolyatails: 自动屏蔽cDNA/EST序列中poly(A)尾和poly(T)头。这对于正确注释基因结构很重要
- -proteinsamp: 指定用于蛋白质文件索引构建的相关文件。内部调用mkvtree
- -noautoindex: 如果调用的话,就不能自动构建索引文件,需要手动构建
- -createindicesonly: 程序会在构建完索引后停下来。这将有助于genome threader的多个程序同时处理同一文件,而不会产生干扰
- -skipindexcheck: 不检查索引。在genome threader的多个程序在同一文件的多个索引(-createindicesonly)上运行时用。可以加速预处理阶段。详情还是看帮助文档吧
- -maskpolyatails,-noautoindex ,-proteinsmap和-noautoindex 不能同时用。
- -createindicesonly 、 -noautoindex和 -skipindexcheck也不能同时用
3.2.7. 相似性过滤选项
预测和cDNAs/ESTs或蛋白质相似的基因组区域时用。通过内部调用Vmatch实现。
- -inverse: 只会影响cDNAs/ESTs的处理。将query和subject调一下。让基因组当query,cDNAs/ESTs当subject
match query against subject
- -duplicatecheck:设置剪接、比对相似项的标准。常用选项为none, id, desc, seq, or both
3.2.8. 一些乱七八糟的选项
- -intermediate: 把输入文件分成多个部分,分别调用gth。在最后把结果合并起来。对于更新的cDNAs/ESTs或蛋白质数据库,-intermediate可以实现渐进式更新
- -first:指定每个基因组DNA的最大剪接比对数。默认是0,即计算所有可能的剪接比对