Shell脚本:使用ligand_dock进行分子对接和测试
这是一个Shell脚本,用于执行分子对接操作并进行测试。脚本首先将当前工作目录切换到'%(workdir)s',然后检查可执行文件'%(bin)s/ligand_dock.%(binext)s'是否存在。如果存在,则运行该可执行文件并传递以下参数和标志:
- ' %(additional_flags)s ': 额外的标志
- '@flags': 预定义的标志集合
- '-database %(database)s': 指定数据库
- '-testing:INTEGRATION_TEST': 进行集成测试
脚本将程序输出重定向到'log'文件,并使用'egrep -vf ../../ignore_list'过滤输出结果,排除在'ignore_list'文件中列出的字符串。最后,脚本检查第一个可执行文件(即'ligand_dock.%(binext)s')的返回值。如果返回值不为'0',则表示程序执行出错,脚本将退出并返回错误代码。
代码示例:
cd %(workdir)s
[ -x %(bin)s/ligand_dock.%(binext)s ] || exit 1
%(bin)s/ligand_dock.%(binext)s %(additional_flags)s @flags -database %(database)s -testing:INTEGRATION_TEST 2>&1 \
| egrep -vf ../../ignore_list \
> log
test "${PIPESTATUS[0]}" != '0' && exit 1 || true # 检查第一个可执行文件是否返回错误
解释:
cd %(workdir)s: 切换到工作目录[ -x %(bin)s/ligand_dock.%(binext)s ] || exit 1: 检查可执行文件是否存在,如果不存在则退出%(bin)s/ligand_dock.%(binext)s %(additional_flags)s @flags -database %(database)s -testing:INTEGRATION_TEST 2>&1: 运行可执行文件并传递参数,将标准错误输出重定向到标准输出| egrep -vf ../../ignore_list: 使用'egrep'过滤输出结果,排除在'ignore_list'文件中列出的字符串> log: 将输出重定向到'log'文件test "${PIPESTATUS[0]}" != '0' && exit 1 || true: 检查第一个可执行文件的返回值,如果返回值不为'0'则退出并返回错误代码
该脚本提供了一个简单的分子对接和测试流程,用户可以根据实际需求修改参数和标志。
原文地址: https://www.cveoy.top/t/topic/g1HN 著作权归作者所有。请勿转载和采集!