Glimmer简介
Glimmer用于原核生物的基因预测,特别是细菌、古细菌、和病毒等的基因组。Glimmer(Gene Locator and Interpolated Markov ModelER)采用内插马尔可夫模型(interpolated Markov models,IMMs)来识别编码区域和从非编码的DNA中区分出来。Glimmer最新版本为3.02,运行速度与预测精确度都有很大提升,并且是一个免费开源的软件必须在Linux或者Mac OSX系统上才能使用。TIGR(Institute for Genomic Research,美国基因组研究所)作为Glimmer的开发者,就是以其作为预测微生物基因的主要工具,至令已经预测了超过100种细菌的基因组。(本段参考来源:http://liucheng.name/999/)
本人在Ubuntu12.10上安装与运行Glimmer3.02的过程中遇到不少问题,但最终在生物之窗的朋友帮助下顺利解决,虽然都是些基础性的问题,但对于初入门的朋友来说可能就会在这上面浪费不少时间而不得其解。希望下文可以起到抛砖引玉的作用,不妥之处,敬请大家指正。
先是安装一个把打开终端加入右键菜单的包,可以免去不少麻烦。
Ctrl+Alt+T打开终端,输入命令sudo apt-get install nautilus-open-terminal(sudo即是以root运行),注销后在桌面或文件夹的空白处点击右键,菜单内有“在终端中打开”的快捷方式。
然后是软件包的下载
Glimmer主页:http://www.cbcb.umd.edu/software/glimmer/
Glimmer下载
Download Glimmer v3.02: http://www.cbcb.umd.edu/softwa ... ar.gz
Glimmer的运行可能还需要ELPH程序,其作用下文会介绍。
ELPH主页
http://cbcb.umd.edu/software/ELPH/
Glimmer安装
待软件包下载完成先行解压
打开终端:
tar zcvf glimmer302.tar.gz (解压后目录为glimmer3.02)
cd glimmer3.02/src(进入src目录)
make(安装)或充分利用图形界面,使用归档管理器打开glimmer302.tar.gz,提取即解压缩。
打开glimmer3.02/src,打开终端,输入命令make,进行编译。
但出现如下错误
出错的原因是g++未安装,若先编译ELPH情况也是相同的,安装g++。
打开终端,sudo apt-get install g++,或使用新立得软件包管理器安装。(推荐),安装完毕再次make编译。
仍然出现错误,说是在此作用域中尚未声明。
查了很多资料,仍无法解决,只能采取一个诡异的办法
sudo apt-get install glimmer
然后把得到的文件放入bin文件夹中,即可。
编译ELPH
打开ELPH/sources
打开终端,输入命令make
把ELPH整个文件夹剪切到glimmer3.02中。
Glimmer用法
glimmer3.02/docs/notes.pdf (docs目录下的notes.pdf里有详细的用法介绍)。
脚本程序
在scripts目录中有几个C-shell的脚本对于运行GLIMMER3是很有用的。每个脚本的开头指定GLIMMER执行目录和Awk脚本的目录。用户需根据自己的安装路径修改开始行的set glimmerpath 和 set awkpath。
g3-from-scratch.csh 使用long-orfs找到训练基因接着运行glimmer3。如果需要改变glimmer3选项可修改set glimmeropts。运行:g3-from-scratch.csh genom.seq run1
genom.seq 是需预测基因的fasta格式的基因组序列, run1是输出文件的前缀。这个脚本将运行下列运行行:
long-orfs -n -t 1.15 genom.seq run1.longorfs
extract -t genom.seq run1.longorfs
run1.train
build-icm -r run1.icm < run1.train
glimmer3 -o50 -g110 -t30 genom.seq run1.icm run1
g3-from-training.csh 使用一系列基因位置去抽提训练集,接着运行glimmer3. 这个脚本使用elph(www.tigr.org/software/ELPH)由位置清单列表中的起启位点的上游区域建立一个PWM。它也使用训练集中的第一个密码子来评估在基因组中的起始密码子的分布。
运行:g3-from-training.csh genom.seq train.coords run2
genom.seq 是需预测基因的fasta格式的基因组序列,train.coords是训练序列的位置, run2是输出文件的前缀.
这个脚本将运行下列命令行:
extract -t genom.seq train.coords
run2.train
build-icm -r run2.icm < run2.train
upstream-coords.awk 25 0 train.coords | extract genom.seq -
run2.upstream
elph run2.upstream LEN=6 | get-motif-counts.awk
run2.motif
set startuse = ‘start-codon-distrib -3 genom.seq train.coords‘
glimmer3 -o50 -g110 -t30 -b run2.motif -P $startuse genom.seq run2.icm run2
g3-inerated.csh 结合了前两个脚本。它使用第一次预测到的结果为第二次运行建立训练集。第二次运行的原因是第一次运行的结果会将比来自long-orfs的结果的更高的起始位点的正确性。
运行:g3-iterated.csh genom.seq run3
genom.seq 是需预测基因的fasta格式的基因组序列, run1是输出文件的前缀。
这个脚本将运行下列命令行:
long-orfs -n -t 1.15 genom.seq run3.longorfs
extract -t genom.seq run3.longorfs
run3.train
build-icm -r run3.icm < run3.train
glimmer3 -o50 -g110 -t30 genom.seq run3.icm run3.run1
tail +2 run3.run1.predict
run3.coords
upstream-coords.awk 25 0 run3.coords | extract genom.seq -
run3.upstream
elph run3.upstream LEN=6 | get-motif-counts.awk
run3.motif
set startuse = ‘start-codon-distrib -3 genom.seq run3.coords‘
glimmer3 -o50 -g110 -t30 -b run3.motif -P $startuse genom.seq run3.icm run3
下面主要以g3-iterated.csh为例
首先需要根据安装路径修改开始行的set glimmerpath 和 set awkpath。
以文本编辑器打开g3-iterated.csh,在开头不远处找到这三行
set awkpath = /fs/szgenefinding/Glimmer3/scripts
set glimmerpath = /fs/szgenefinding/Glimmer3/bin
set elphbin = /nfshomes/adelcher/bin/elph
由于本例的Glimmer安装在home目录下,ELPH在Glimmer3.02目录下,所以这3行应相应的更改为:
set awkpath = /home/neo/glimmer3.02/scripts
set glimmepath = /home/neo/glimmer3.02/bin
set elphbin = /home/neo/ELPH/sources/elph
保存
打开终端,运行./scripts/g3-iterated.csh genom.seq run3
提示错误:
原因是没有安装csh,安装csh或tcsh后即可解决。再次尝试运行,仍然出现问题。。。
结果是failed to create PWM(描述基因的核糖体结合位点的位置权重矩阵,可用这个选项提高启始位点预测的正确性)
出错原因是upstream-coords.awk与get-motif-counts.awk第一行的awk路径与系统默认的不一致,以文本编辑器打开,把第一行#!/bin/awk -f改为#!/usr/bin/awk -f。
至此Glimmer3的安装调试完毕。