GeneMarkS则是GeneMark.hmm程序的扩展。
GeneMark程序可以预测基因,以及蛋白质编码区阅读框的位移。在使用GeneMark程序前,首先要利用makemat或GeneMarkS程序生成相应的GeneMark模型,而GeneMark.hmm在使用前,同样要先确定其预测时所需的模型,该模型一方面可以利用probuild或GeneMarkS生成。
GeneMarkS除了可以预测基因外,正如上述所言,GeneMarkS程序还能为GeneMark.hmm或GeneMark生成一些统计学模型。所以,GeneMarkS能以两种方式运行:
A、作为统计模型生成程序和基因发现程序
B、作为统计模型生成程序
这问题我也遇到了,网上找半天没找到合适的方案,于是自己写了一个,代码如下
import glob # 都是标准库的东西import os
# 把你想建hmm的fasta文件(比对好的)和本程序放在同一个文件夹里,然后运行本程序直接跑hmmbuild
os.chdir(os.path.dirname(__file__))
fs = glob.glob('*.fasta') # 获取每个fasta文件,如果你的fasta文件里有不是.fasta后缀名的,可以改这里,或者直接改成'*.fa*'
for f in fs:
hmm = os.path.splitext(f)[0] + '.hmm'
stockholm = os.path.splitext(f)[0] + '.sto'
with open(f, 'r') as fhandle: # 这个是读fasta文件用的,把所有fasta文件都保存到列表里
fastas = ['>' + tmp.replace('\n', '\r', 1).replace('\n', '').replace('\r', '\n') for tmp in tuple(filter(None, (fhandle.read().split('>'))))]
for i in range(len(fastas)):
fastas[i] = fastas[i].split('\n')
fastas[i][0] = fastas[i][0].split()[0][1:10]
tmp = []
for j in range(len(fastas[i][1]) // 80 + 1):
tmp.append(fastas[i][1][80 * j : 80 * j + 80])
fastas[i][1] = tmp
with open(stockholm, 'w') as out: # 这里在写sto文件
out.write('# STOCKHOLM 1.0\n\n')
for j in range(len(fastas[0][1]) - 1):
for i in range(len(fastas)):
out.write('% -12s%s\n' % (fastas[i][0], fastas[i][1][j]))
out.write('\n')
for i in range(len(fastas)):
out.write('% -12s%s\n' % (fastas[i][0], fastas[i][1][-1]))
out.write('//')
os.system('hmmbuild --amino %s %s' % (hmm, stockholm)) # 这里在跑hmmbuild,你可以自行修改里面的参数
不是。它是真核基因预测小工具。
FGENSH是商业软件,由Softberry公司负责维护和发布,用户只能联网小量使用。若需要大量使用或本地化运行,则需要付费。
FgeneSH是用来预测基因组DNA序列中多个基因的程序。FgeneSH是最快(比GenScan快50到100倍)和最准确的基因探测仪。下面主要为大家分享FGENESH(基于HMM)的使用方法,在首页点击Run Programs Online或Gene Finding in Eukaryota,第一个工具即是我们所需的。工具的界面很简单,主要包括一个核酸序列输入框、一个用于上传序列文件的“选择文件”按钮,以及用于提交任务的“search”按钮。软件的用法很简单,将fasta格式的DNA序列复制粘贴到序列输入框,或者点击“选择文件”按钮,上传DNA序列文件,然后搜索并选择核酸序列所对应的物种,比如我这里的范例文件是人的序列,然后只需点击“search”按钮提交任务即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)