HMMER 是生物信息学上用来分析基因序列的一款软件,可以快速确定两组序列之间的相似程度,目前最新的版本为 3.1。可是HMMER官网 目前只提供 Linux 版,Windows 版处于停更的状态。也许跑序列分析的软件在 Linux 上才能用得顺溜?不过瞥了一眼官方文档,上面说道:「我们从2011年起就在进行 HMMER4 的开发,但一直处于缓慢开发的状态」,这可能才是 Windows 端 HMMER 真正的停更理由。
安装 HMMER
1. 下载
既然不能为了使用 Linux HMMER 特地开个虚拟机(好像也不是不行),那就找找看历史版本。通过已知的 Linux 版下载链接,发现 HMMER 把所有的历史软件都放在这个地方 备份着,因此得知最后一个 Windows HMMER 版本为 3.0。传送门 / 备份
下载、解压之后,是一堆看不懂的东西,没有可以直接双击打开的.exe
文件,大概是需要敲命令才能启动程序。搜索了一下安装方法1,下面详细演示。
2. 安装
Windows HMMER 安装起来还算简单。
Windows10用户打开 控制面板,搜索 环境变量,点击 编辑系统环境变量,选择 环境变量
Windows11用户可以打开「开始菜单」,直接在上方搜索栏中键入「环境变量」。
点击第一个匹配项即可。
在 系统变量 里找到Path
,点击 编辑
点击右边的 新建 按钮,填入 HMMER 所在的 路径
如果不知道啥叫路径,进入你放 HMMER 的地方,按照下图把地址栏里的东西复制下来,粘贴进上面的变量里,添加完成后,一路确定就行。
3. 测试
接下来 测试 看能不能用,需要用到可以输入命令的东西。常用的有 CMD 和 Windows PowerShell,二选一即可。
打开CMD:WINDOWS键 + R ,输入 cmd
,点击确定打开命令提示符
打开Windows PowerShell:对着开始菜单 右键,选择Windows PowerShell
然后输入
hmmscan -h
建议直接复制粘贴,避免出错。如果出现类似下面的东西,就说明安装上了。
使用 HMMER
参考了网上的教程2,演示下我目前用得到的功能:hmmbuild
和hmmsearch
hmmbuild
:创建hmm模型(大概是这样)hmmsearch
:分析相似度(应该没有错)
1. 获取 pfam ID
需要使用该基因的隐马尔科夫模型才能进行序列比对,而获取隐马尔科夫模型需要先得到该基因的保守蛋白结构域在 pfam 的ID。可以通过参考文献中他人的工作,或是自己在NCBI中搜索来获取 pfam id,下面介绍后者。
进入 NCBI蛋白质数据库,输入关键词,物种关键词需要其拉丁学名或是正式英文,以麻疯树的 MADS-box 基因为例,如 “MADS-box Jatropha curcas”
在搜索结果中随便选择一项查看详情,然后点击右侧“Identify Conserved Domains” 搜索分析该蛋白保守域
从结果中可以看到,目标蛋白在 K-box 家族被命中,而且列表中已经给出 pfam id
2. 下载蛋白保守域对比序列
直接点击上图 pfam id,跳转到该蛋白家族的保守结构域详情,点击来源 pfam
在pfam详情页点击 Alignments,选择 Stockholm 格式,点击 generate 下载多重对比序列,得到的文件格式为.txt
3. 下载物种对比序列
下载麻疯树基因组蛋白数据。进入 NCBI 的 FTP站点 ,找到 genomes ,利用Ctrl
+F
在网页搜索其拉丁学名。麻疯树的拉丁学名为 Jatropha curcas ,那么我们可以尝试用 Jatropha 进行搜索
在下一个目录选择 protein ,下载protein.fa.gz
,解压,得到protein.fa
文件,这里也有 备份
4. 对比分析
把上面下载的两个文件全部复制到 HMMER 的文件夹里,当然也可以放在别的文件夹里,然后打开命令提示符。
命令提示符默认是在C:\Users\用户>
这个目录里操作,而我们要切换到 HMMER 所在的目录,才能继续操作。
如果 HMMER 不在C盘,就需要切换盘符,比如D盘,就输入
D:
按下回车,就进入D盘了,其他盘方法类似。然后切换到 HMMER 所在的位置
cd HMMER安装位置
比如
cd D:\hmmer
若是报错,可能是因为路径包含中文或其他非英文字符,需要使用英文的单引号将路径包住,比如这样
cd 'D:\假装有中文\hmmer'
接下来,使用hmmbuild
命令,将获取的蛋白保守域对比序列转换成 hmm 模型,我下载的文件名为PF01486_seed.txt
,那么输入
hmmbuild hmm文件 需要转换的文件
比如
hmmbuild PF01486.hmm PF01486_seed.txt
然后将转换的hmm与麻疯树蛋白序列对比,使用hmmsearch
命令,输入
hmmsearch PF01486.hmm protein.fa > PF01486.out
运行结束,生成PF01486.out
文件,右键以记事本打开
就可以看到比对结果了。
如果这篇文章帮到了你,不妨点击下面的“赏杯咖啡”,给我一些物质上的奖励,这样更能让我有写下去的动力。但不代表本文会持续更新XD
- 简书:windows下安装hmmer软件进行结构域模式扫描 ↩
- OmicsClass:利用NCBI和Pfam数据库查找基因家族保守结构域相关信息 ↩
本文作者:mikusa
本文链接:https://www.himiku.com/archives/hmmer.html
版权声明:所有文章除特别声明外均系本人自主创作,转载及引用请联系作者,并注明出处(作者、原文链接等)。
Hmmer有更新吗
Windows 版早停更了
老师,为什么我输出的out.文件一直是显示0KB啊?
大佬我输入hmmer所在位置以后提示不是内部或外部命令,也不是可运行的程序或批处理文件 是什么意思啊?前面的步骤的没问题呀qaq
环境变量没有添加到系统里吧
是将hmmer添加进path那里吗?我是按照步骤添加到系统变量-path-新建了呀 (ノ °ο°) ノ 重新操作了一遍还是不行
不应该呀,确定准确无误地填了hmmer的路径吗?
解决了谢谢!请问输出结果阈值怎么设置呀?比如怎么筛掉E-value 值高于1e-05 的家族成员呀55555感谢回复!
大佬hmmsearch有教程没有,我自己老是搞不出来,,
出现Failed to open sequence file protein.fa for reading
现在解决了,感谢大佬 ヾ(≧∇≦*)ゝ
意思是说protein.fa这个文件打不开,你看看是不是下载错了?
我这个教程只是逞一时之用,毕竟不是专业的,抱歉啊……
是我搞错了,现在问题解决了,感谢大佬的教程 ୧(๑•̀⌄•́๑)૭
请问你是怎么解决的呢
老哥您好,我想问下HMMER中使用hmmbuild将获取的蛋白保守域对比序列转换成 hmm 模型时报错,显示“Error: Alignment file PF03106_seed.txt doesn't exist or is not readable”,但是我的PF03106_seed.txt文件是在HMMER的文件夹中,这是什么原因呢
如果是不存在的话,会不会是输命令的时候,输错了这个文件名?
如果是这个文件打不开的话,把文件后台关了再试试。
谢谢老哥,已经解决了
你好老哥,我也出现这种“Error: Alignment file PF03106_seed.txt doesn't exist or is not readable”但是后台没打开文件,文件名也没有输错,这是什么原因呢?感谢老哥!
那是不是输错路径了,才会报错文件不存在?
E:\hmmer>hmmsearch.exe PF01535.hmm potato_pep.fasta > PF01535.out
Error: Failed to open hmm file PF01535.hmm for reading.
我好菜,求大佬救我!!!(qq邮箱号接收消息)
说是这个文件打不开,你把文件后台关了再试试
还真是,已经解决了,谢谢
太感谢了~~~~
我可能是傻瓜中的版本,在官网没找它的windows的版本,按照其他人的方法找它的源代码也没有用
找不到的话用我这里的备份吧
大大大大佬,你的hmmer可以正常使用么?最近有没有出现[Alignment file PFxxxxx_seed.txt doesn't exist or is not readable]的提示!我的突然就不能用了艾
这不就是seed文件不存在吗?把文件准备好啊……
是大佬,我死了