我试图在我的研究小组的服务器上安装antiSMASH,但在下载相关数据库的最后阶段遇到了一个问题。制造商提供了一个脚本“下载”_数据库.py“为您执行此操作(请参见位于https://bitbucket.org/antismash/antismash/src/718da23d059742048bf044a1ed663806051eb0b2/download_databases.py?at=master&fileviewer=file-view-default的代码)。 可悲的是,似乎存在某种访问问题(我不是root,sudo也帮不上忙)。你知道吗
服务器是RedHat CentOS 7.2.1511
命令运行是“python下载”_数据库.py“在反mash目录中。输出如下:
Creating checksum of Pfam-A.hmm.gz
Extraction of Pfam-A.hmm.gz finished successfully.
Traceback (most recent call last):
File "download_databases.py", line 221, in <module>
main()
File "download_databases.py", line 198, in main
compile_pfam(filename)
File "download_databases.py", line 161, in compile_pfam
execute(command)
File "download_databases.py", line 51, in execute
stderr=subprocess.PIPE)
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
有经验的人知道我需要做什么吗?我已经尝试了Python(2.7)的本地安装,在那里我有读/写权限,但这似乎没有帮助,因为脚本仍然在其他地方寻找子进程脚本(我自己的安装在路径的顶部)。我可能需要安装一些额外的本地安装或自定义安装位置,包括子进程等东西?你知道吗
提前谢谢。我不是专家,非常感谢你的帮助。你知道吗
编辑:我现在觉得自己很蠢。感谢Hannu建议我检查$PATH和脚本试图执行的二进制文件。它原来是antiSMASH的一个依赖项(hmmpress),我还没有将它添加到这台机器的$PATH中。我没有想到在实际运行antiSMASH之前需要它。你知道吗
将
print commands
或类似的内容添加到execute函数中,看看它试图执行什么。得到该命令中的错误的唯一解释是找不到它试图执行的脚本或二进制文件。你知道吗尝试向二进制文件添加完整路径。单凭这一点就可以解决问题。检查命令中是否有拼写错误。记住
commands
需要是一个列表,如果它包含参数,例如[“/usr/bin/foo/myprogram”、“-a”、“42”、“-b”、“/tmp/outputfile”]或者需要传递给程序的任何内容。你知道吗相关问题 更多 >
编程相关推荐