GlimmerHMM指南


官方用户手册

GlimmerHMM是一种De novo的新基因预测软件。

新基因发现基于Generalized Hidden Markov Model (GHMM)。

GlimmerHMM把一个基因看做几种特征序列(状态)的有序切换,这些特征序列包括内含子,基因间隔区,四种外显子(第一个外显子,中间的外显子,最后一个外显子,唯一的外显子),切换的过程形成马尔科夫链。

特征序列内部序列基于Nth-order interpolated Markov models (IMM) (N=8)处理。

描述基因中个特征序列转化关系的马尔科夫状态变化图如下:

特征:

GlimmerHMM使用的模型基于以下几个假设,这些假设导致了GlimmerHMM的一些优点的不足:

- 假设每个基因都开始于起始密码子ATG

- 假设每个基因阅读框内除最后一个密码子外没有终止密码子(no in-frame stop codons)。

- 每个外显子与前一个外显子在同一个阅读框中。(翻译阅读时外显子间没有移框)

优点:GlimmerHMM的搜索范围下降,从而计算效率得以提高。

缺点:真正的移框外显子(genuine frame shifts)无法被检测到。

软件精度

参看官网数据

总体看比Genscan略好


安装

前往官网ftp下载最新版本,解压后即可使用。

Training

由于GlimmerHMM使用的数学模型是HMM,因此需要一个已经研究清楚的物种进行training(学习)之后再对新物种进行prediction(预测),用于trainning的物种应该和需要预测的物种具有较近的亲缘关系。

Input

GHMM的Training需要两个文件输入,即:

mfasta_file

包含序列的fasta文件

>seq1
AGTCGTCGCTAGCTAGCTAGCATCGAGTCTTTTCGATCGAGGACTAGACTT
CTAGCTAGCTAGCATAGCATACGAGCATATCGGTCATGAGACTGATTGGGC
>seq2
TTTAGCTAGCTAGCATAGCATACGAGCATATCGGTAGACTGATTGGGTTTA
TGCGTTA

exon_file

包含外显子位置信息,这个文件要求与mfasta_file一致:序列名称一致,位置序号正确指代mfasta_file的序列,不同的序列之间用空行隔开。

seq1 5 15
seq1 20 34
 
seq1 50 48
seq1 45 36
 
seq2 17 20

这个例子中,序列sep1具有两个基因,第一个在先导链上(the direct strand)后一个在互补链上(the complementary strand),每个基因有两个外显子。这里有一份真实的mfasta_fileexon_file,可用于理解exon_file,即后续程序的测试文件。

Training数据获取

一般来说,Trainning数据的获取主要有:

  • 已经有良好实验背景的该物种基因信息(理想状况,一般不会太多)
  • 从非冗余蛋白数据库(nr)中搜索能够map到基因组上的长ORFs(大于500bp),获取外显子位置信息 (比较常见)

Trainning

training的命令结构如下:

GlimmerHMM/train/trainGlimmerHMM <mfasta_file> <exon_file> [optional_parameters]

如果训练集中序列太少,程序会自动警告并且退出,默认情况下要求至少50个具有完整起始密码子(ATG)和终止密码子(TAA/TAG/TGA)的基因在训练集中。

[optional_parameters]中的参数在首次或常规运行中可以省略。

包括的可选项有:

  • -i ----考虑isochores问题,例如:存在两种isochores,一种gc含量0-40%,另一种40-100%,则写为-i 0,40,100默认为-i 0,100

(isochore是指对温血动物的基因组片段做密度梯度离心实验时,发现的有的基因在离心管中聚集在一层,如同等高(体)线(isochore),这些基因的GC含量被认为相对均匀,长度大多大于300kb,这类DNA片段被命名为isochore。被认为是与脊椎动物的温血、冷血与否有关。)

  • -f -l -n -v分别是在已知上游UTR区、下游UTR区、基因间隔区、基因群周边序列的序列特征值的情况下输入特征值。(一般不需要填写)

  • -b 为splice位点简历1阶或2阶马尔科夫链(默认为1阶)

一般情况请直接输入

GlimmerHMM/train/trainGlimmerHMM <mfasta_file> <exon_file>

Trainning后的手动调整:

一般情况下,Trainning后用户不需要进行手动调整,但是手动调整可以一定程度上提高精度。这是因为,一些Trainning系统中的必要参数对于不同的物种有所区别,而系统并不知道(比如,基因间隔区的平均长度),因此,适当调整这些参数能够提升精度。

Majoros and Salzberg 2004描述了一种梯度渐进修改参数的方法慢慢提升精度。

除了提高精度外,修改参数还有很多意义。选择适当的假阳性和假阴性的容忍率,可以解决大量假阳性事件或者预测量太少的问题,从而在不减少太多预测结果的情况下提高准确率。例如,GlimmerHMM在预测一个剪切位点真实与否的时候会权衡假阳性概率,这会使得你错过一些位点,默认情况下这个假阳性的threshold是低于1%。你可以在调整GHMM的这些参数。

完成trainGlimmerHMM后,系统会在training产生的目录(就在工作目录下)下产生一个log文件来记录这次Trainning后GHMM自动产生的参数。

这个参数文件为train_0_100.cfg(前文Trainning时isochores没有被考虑时文件名是这样的,否则每个isochore会产生一个对应的cfg文件)每个可以改变的参数在这个文件中为一行,下表是参数和参数的描述(翻译后可能会失真,请阅读英文翻译)。

line in the .cfg file Description
acceptor_threshold value acceptor site threshold value; the false negative/false positive rates for different acceptor thresholds can be consulted from the false.acc file.
donor_threshold value donor site threshold value; the false negative/false positive rates for different donor thresholds can be consulted from the false.don file.
ATG_threshold value start codon threshold value; the false negative/false positive rates for different start codon thresholds can be consulted from the false.atg file.
Stop_threshold value stop codon threshold value; the false negative/false positive rates for different stop codon thresholds can be consulted from the false.stop file.
split_penalty value a factor penalizing the gene finder's tendency to split genes.
intergenic_val value the minimum intergenic distance espected between genes.
intergenic_penalty value a penalty factor for genes situated closer than the intergenic_val value.
MeanIntergen value the average size of intergenic regions.
BoostExon value a factor to increase the sensitivity of exon prediction.
BoostSplice value a factor to increase the score of good scoring splice sites.
BoostSgl value a factor to increase the predicted number of single exon genes.
onlytga value set this value to 1 if TGA is the only stop codon in the genome.
onlytaa value set this value to 1 if TAA is the only stop codons in the genome.
onlytag value set this value to 1 if TAG is the only stop codons in the genome.

Running

GlimmerHMM的input文件包括两个,一个是fasta的序列文件,另一个是包含trainning结果的目录,一般来说,最好把他们放在一个工作目录下,这一步没有别的调整值(需要调整的都在*.cfg文件中完成)

GlimmerHMM/bin/glimmerhmm_linux fasta.file -d ./arabidopsis/

GlimmerHMM指南的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  3. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  4. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  5. const extern static 终极指南

    const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...

  6. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  7. HA 高可用软件系统保养指南

    又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...

  8. 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南

    欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...

  9. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

随机推荐

  1. [对对子队]会议记录5.20(Scrum Meeting7)

    今天已完成的工作 马嘉 ​ 工作内容:录制新手引导视频 ​ 相关issue:优化顺序关卡新手引导功能 ​ 相关签入:feat: 录制了新的新手引导视频 吴昭邦 ​ 工作内容:增加加速功能 ​ 相关is ...

  2. 团队任务拆解(alpha)

    团队任务拆解(alpha阶段) 项目 内容 班级:2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业:团队任务拆解 团队任务拆解 我们在这个课程中的目标 写出令客户和自己都满意的代码同 ...

  3. Noip模拟63 2021.9.27(考场惊现无限之环)

    T1 电压机制 把题目转化为找那些边只被奇数环包含. 这样的话直接$dfs$生成一棵树,给每个点附上一个深度,根据其他的非树边都是返祖边 可以算出环内边的数量$dep[x]-dep[y]+1$,然后判 ...

  4. NKOJ-4573 Falsita

    问题描述: 到海边了呢...... 如果没有那次选择,现在是不是会好些呢...... 都过去了. 仰望着星空,迎面吹过一阵阵海风,倚靠着护栏,Fine 在海边静静地伫立着,在一个个无际的长夜后,Fin ...

  5. 记录编译QGIS(3.4+Qt5.11+VS2015)的整个过程

    编译运行整个QGIS耗时耗力,由于本人比较愚钝,来来回回花了大概两个星期最终编译成功,记录一下整个过程,一方面备忘,另一方面可能也给别人一点借鉴. 1.准备工作 参考了许多网上的教程,李民录大神的&l ...

  6. hdfs基本操作命令

    hdfs文件的相关操作主要使用hadoop fs.hadoop dfs.hdfs dfs 命令,以下对最常用的相关命令进行简要说明. hadoop fs -ls  显示当前目录结构,-ls -R 递归 ...

  7. CPU使用率和平均负载

    转载: https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247487782&idx=3&sn=3f04bb053d ...

  8. Kill杀死Linux中的defunct进程(僵尸进程)

    一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...

  9. 2021 ICPC Gran Premio de Mexico 2da Fecha部分题题解

    前面的水题,在队友的配合下,很快就拿下了,剩下几道大毒瘤题,一直罚座三个小时,好让人自闭...但不得不说,这些题的质量是真的高! H. Haunted House 首先看这个题,大眼一扫,觉得是某种数 ...

  10. tarjan知识点梳理

    tarjan在图论中还是挺重要的.这里就简要的梳理一下tarjan的知识点. tarjan算法与无向图连通性. 首先说一下图中割点和桥的定义. 桥:也称割边,定义类似,在无向图中,若去掉某条边,导致整 ...