TMHMM的安装与运行
0. 简介:
TMHMM是跨膜蛋白胞内区、跨膜区和胞外区识别软件,其在线网站为http://www.cbs.dtu.dk/services/TMHMM/
1. 下载:
https://services.healthtech.dtu.dk/service.php?TMHMM-2.0
下载对应的版本即可,此处以Linux
为例。
2. 安装:
解压:tar -zxvf tmhmm-2.0c.Linux.tar.gz
切换目录:cd tmhmm-2.0c
确认bin/tmhmm 和 tmhmmformat.pl
中perl
的路径是否和Linux上的路径一致,如果不一致,改成自己perl
的路径 (可以用which perl
查看perl
的安装路径)。
3. 运行:
假设bin/
目录下有个名为test.fasta
的文件,那么以它作为输入文件,运行TMHMM (运行命令:perl tmhmm test.fasta
)。运行完成后会在该bin/
目录下生成一个TMHMM
开头的目录,目录中有两个文件(.gnuplot 和 .plp
)。
4. 备注:
TMHMM默认会直接输出Long output format (如下所示):
可以用正则表达是对其中的区域进行获取。比如:获取所有outside
的结果行:
## 以test.fasta为例
from subprocess import check_output
import os
import re
outfile = 'tm_outside.txt'
outF = open(outfile,'w')
os.chdir('tmhmm-2.0c/bin/')
tm_out = check_output('perl tmhmm test.fasta', shell=True)
tm_out = tm_out.decode()
patt = re.compile('([A-Z0-9]+)\s+TMHMM2.0\s+outside\s+(\d+)\s+(\d+)\n', re.MULTILINE) ## 获取outside行
mth = patt.findall(tm_out)
if len(mth) != 0:
for i in range(len(mth)):
outF.write('%s\t%s\t%s\n' % (mth[i][0],mth[i][1],mth[i][2]))
else:
print('%s' % tm_out)