wongyouki 发表于 2015-4-20 21:13:17

学习写autodock脚本,在最后一步出错:

参照论坛里的教程,自己写了脚本,很好的生成了dpf文件,但在bash中使用autodock4却出错,cannot executed binary file:Exec format error,又来向大家求助了

wongyouki 发表于 2015-4-20 21:22:16

#! /bin/bash
cd /home/admin815/program/mgltools/VirtualScreen/ligand
ls *.pdbqt > ../etc/ligand.list
cd ../docking
for i in $(cat ../etc/ligand.list)
do
f=${i%.pdbqt}
mkdir $f
cd $f
cp ../../ligand/$i .
ln -s ../../receptor/receptor.pdbqt .
ln -s ../../receptor/*map* .
../pythonsh /home/admin815/program/mgltools/VirtualScreen/script/prepare_dpf4.py -l $i -r \
receptor.pdbqt [-o ${f}_receptor.dpf] -p ga_num_evals=1750000 \
-p ga_pop_size=150 \
-p ga_run=20 \
-p rmstol=2.0
cd ..   
done

这是第一个脚本,成功运行了

wongyouki 发表于 2015-4-20 21:23:22

#! /bin/bash
cd ../docking
for i in $(cat ../etc/ligand.list)
do
f=${i%.pdbqt}
cd $f
autodock4 -p ${f}_receptor.dpf -l ${f}_receptor.dlg
cd ..
done
这个就不行了,cannot executed binary file:Exec format error
请大家帮忙看看

wongyouki 发表于 2015-4-21 17:01:32

解决了,我在命令行中以命令的形式写进第二个脚本中的内容,成功了。
但是回去检查时发现了一个错误,dpf中参数全为默认格式,未能实现参数修改,就又回头修改了脚本1,如下:
#! /bin/bash
cd /home/admin815/program/mgltools/VirtualScreen/ligand
ls *.pdbqt > ../etc/ligand.list
cd ../docking
for i in $(cat ../etc/ligand.list)
do
f=${i%.pdbqt}
mkdir $f
cd $f
cp ../../ligand/$i .
ln -s ../../receptor/receptor.pdbqt .
ln -s ../../receptor/*map* .
../pythonsh /home/admin815/program/mgltools/VirtualScreen/script/prepare_dpf4.py -l $i -r receptor.pdbqt \
-p ga_num_evals=1750000 -p ga_pop_size=150 -p ga_run=20 -p rmstol=2.0
cd ..   
done
参数得到了修改
期待和大家交流

wongyouki 发表于 2015-4-24 08:34:13

我查了查有人说是bash无法运行二进制程序,我觉得很不合理啊,我一定是在哪里犯了最基本的错误
页: [1]
查看完整版本: 学习写autodock脚本,在最后一步出错: