Dawnstar 发表于 2019-11-11 17:28:16

linux 运行shell脚本 Error: could not open "input.txt" for reading.

本帖最后由 Dawnstar 于 2019-11-13 09:04 编辑

linux系统中我想运行一个shell脚本,脚本如下:
cd receptor
for f in *.pdb
do
$path/pythonsh $adtpy/prepare_receptor4.py -r $f -o "$f"qt
done
cd ..

$path/pythonsh $adtpy/prepare_ligand4.py -l ligand.pdb -o ligand.pdbqt
for c in receptor/*.pdbqt; do
    b=`basename $c .pdbqt`
    echo Processing receptor $b
    mkdir -p Docking/$b
    vina --config /data/home/test/conf/conf$f.txt --receptor $c --out Docking/${b}/out.pdbqt --log Docking/${b}/log.txt
done

文件准备:
运行脚本的文件夹下包含:
conf—文件夹
receptor--文件夹
ligand.pdb--文件
vina.sh--脚本文件

脚本运行:
$ sh vina.sh #运行脚本

出现错误:

setting PYTHONHOME environment
adding gasteiger charges to peptide
setting PYTHONHOME environment
adding gasteiger charges to peptide
setting PYTHONHOME environment
adding gasteiger charges to peptide
setting PYTHONHOME environment
adding gasteiger charges to peptide
setting PYTHONHOME environment
adding gasteiger charges to peptide
setting PYTHONHOME environment
Processing receptor 1a0n


Error: could not open "/data/home/zmx/zmxdata/Reverse_docking/reverse_docking_LL-SH-test/conf/conf1A3K.pdb.txt" for reading.
Processing receptor 1a1n


Error: could not open "/data/home/zmx/zmxdata/Reverse_docking/reverse_docking_LL-SH-test/conf/conf1A3K.pdb.txt" for reading.
Processing receptor 1a1u


Error: could not open "/data/home/zmx/zmxdata/Reverse_docking/reverse_docking_LL-SH-test/conf/conf1A3K.pdb.txt" for reading.
Processing receptor 1a1x


Error: could not open "/data/home/zmx/zmxdata/Reverse_docking/reverse_docking_LL-SH-test/conf/conf1A3K.pdb.txt" for reading.
Processing receptor 1A3K


Error: could not open "/data/home/zmx/zmxdata/Reverse_docking/reverse_docking_LL-SH-test/conf/conf1A3K.pdb.txt" for reading.
grep: 1a0n/log.txt: No such file or directory
grep: 1a1n/log.txt: No such file or directory
grep: 1a1u/log.txt: No such file or directory
grep: 1a1x/log.txt: No such file or directory
grep: 1A3K/log.txt: No such file or directory

百度一下说是conf文件夹下conf*.txt 文件的文件格式错误,
$ vi conf*.txt
:set ff
fileformat=doc
:set ff=unix#修改文件格式
:wq #保存

$ sh vina.sh
仍然报错,错误内容没变。

想请各位大神指教,到底是什么地方出现了错误。



Dawnstar 发表于 2019-11-13 21:23:24

今天自己又一步步排查了一下,发现把conf文件夹下的文件放到当前目录下就可以正常运行,
即把代码第13行的路径去掉即可运行。

vina --config conf.txt --ligand $f --out Docking/${b}/out.pdbqt --log Docking/${b}/log.txt

虽然可以正常运行了,但是还是不知道为什么放在文件夹下就不行,我已经查看每一级目录都具有可执行权限。

希望有了解的大神可以帮忙解疑。
页: [1]
查看完整版本: linux 运行shell脚本 Error: could not open "input.txt" for reading.