原文网址:https://www.youyong.top/article/115942911e3dd
使用Schrodinger的过程中,执行了如下命令:
ifd "-NGLIDECPU" "1" "-NPRIMECPU" "1" "InducedFit_1.inp" "-HOST" "localhost" "-SUBHOST" "localhost" "-TMPLAUNCHDIR" "-ATTACHED"
报错截图如下:
路径错了,应该是/usr/bin/perl,但怎么会路径错误那?
虽然没接触过Python,但应该也好定位问题,于是就让她发来报错的那个文件(jobcontrol.py)。
定位到报错行(1002),从下图可知,是 cmd[0] 有问题,往上看cmd,发现了这句:
cmd = fix_cmd(cmd, expandvars)
于是想看看,方法fix_cmd对变量cmd做了哪些操作,不了解Python,还是直接打日志吧
于是,让她打印了日志
print cmd
cmd = fix_cmd(cmd, expandvars)
print cmd
日志输出结果如下图,从图中可知,就是方法 fix_cmd 把 perl 变成了/usr/share/perl
因为我调试不方便,就没有立即去调试方法 fix_cmd, 先让她注释掉 cmd = fix_cmd(cmd, expandvars),运行试试。
日志输入如下,没有报错。
任务也都正常启动了。
可是,根本问题还没有找到,这个加的这个前缀/usr/share,肯定在外部可以修改的。
看方法 fix_cmd 的时候,看到了这句
cmd = _fix_program_path(cmd[0]) + cmd[1:]
这个应该就是处理路径的。
在方法 _fix_program_path中,打印
print('search_path----',search_path)
日志输出如下:
可见就是
os.environ['SCHRODINGER']
导致的。
但是我们俩都不知道怎么修改 os.environ['SCHRODINGER'] 的值,尝试过修改系统的环境变量,如下图,也不好使!
鉴于我俩对Python,都不熟悉,就采用了注释掉 cmd = fix_cmd(cmd, expandvars) 的办法。
等以后知道 怎么修改 os.environ['SCHRODINGER'] 的时候,再补充上。
有知道的麻烦告知!
后续处理 : Schrodinger 后遗症 no such program align_binding_sites
我自己顺便脑补了一下Schrodinger
Schrödinger(薛定谔)是药物发现的完整软件包,包括:基于受体和配体结构的诱导契合和柔性对接模式;基于受体结构及配体极性的对接模式;基于受体结构及溶液环境性质的对接模式;组合化学库设计及基于组合库的对接模式;基于配体结构的药物设计,药效团和3D-QSAR;生物分子结构模拟,蛋白、糖、核酸、小肽等;基于靶点的药物设计;ADME性质预测。
我一直的价值观就是,看不懂的就是牛逼的,膜拜中...
原文网址:https://www.youyong.top/article/115942911e3dd