这是一个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'则退出并返回错误代码

该脚本提供了一个简单的分子对接和测试流程,用户可以根据实际需求修改参数和标志。

Shell脚本:使用ligand_dock进行分子对接和测试

原文地址: https://www.cveoy.top/t/topic/g1HN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录