GlimmerHMM指南
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_file和exon_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指南的更多相关文章
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- UE4新手之编程指南
虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...
- JavaScript权威指南 - 对象
JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- const extern static 终极指南
const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...
- Atitit.研发管理软件公司的软资产列表指南
Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...
- HA 高可用软件系统保养指南
又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...
- 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南
欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...
- Visual Studio Code 配置指南
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...
随机推荐
- Beta实际开发与初始计划的比较
零.说明 本篇博客为Beta阶段开始十天后,实际开发工作与初始计划的比较 截止至本篇博客发布为止,团队所有成员已完成计网考试,将在本周日进行充分的接口测试 一.比较 1.与初始计划对比 初始计划 实际 ...
- 【二食堂】Beta - Scrum Meeting 5
Scrum Meeting 5 例会时间:5.18 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 划词功能已经实现,继续开发,完善文本区域交互,调用API issue 1. ...
- Intellij IDEA 2021.2.3 最新版免费激活教程(可激活至 2099 年,亲测有效)
申明,本教程 Intellij IDEA 最新版破解.激活码均收集与网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除.如条件允许,建议大家购买正版. 本教程更新于:2021 年 10 月 ...
- 使用nexus搭建一个docker私服
使用nexus搭建docker私服 一.需求: 二.实现步骤 1.编写`docker-compose`文件,实现`nexus`的部署 2.修改/usr/lib/systemd/system/docke ...
- Go语言核心36讲(Go语言进阶技术八)--学习笔记
14 | 接口类型的合理运用 前导内容:正确使用接口的基础知识 在 Go 语言的语境中,当我们在谈论"接口"的时候,一定指的是接口类型.因为接口类型与其他数据类型不同,它是没法被实 ...
- Noip模拟16 2021.7.15
题目真是越来越变态了 T1 Star Way To Heaven 首先,你要看出这是一个最小生成树的题(妙吧?) 为什么可以呢? 我们发现从两点连线的中点过是最优的,但是上下边界怎么办呢? 我们把上下 ...
- Luogu P1525 [NOIp2010提高组]关押罪犯 | 并查集
题目链接 这一道题,我用了并查集来做.在此题中,并查集的作用就是:将同一个监狱里的罪犯合并到一起. 思路:将每对罪犯之间的怨气值从大到小排序,再依次把他们分到不同的两个监狱里,当发现这一对罪犯已经在同 ...
- cf17A Noldbach problem(额,,,素数,,,)
题意: 判断从[2,N]中是否有超过[包括]K个数满足:等于一加两个相邻的素数. 思路: 枚举. 也可以:筛完素数,枚举素数,直到相邻素数和超过N.统计个数 代码: int n,k; int prim ...
- Vue-cli4.xPC端项目Rem适配
适配准备 安装 (amfe-flexible) 和(postcss-px2rem) 1, 安装依赖并在main.js中引入该依赖 npm i amfe-flexible import "am ...
- Flink入门-第一篇:Flink基础概念以及竞品对比
Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...