VirtualFlow教程 | Enamine数据库的更新及其虚拟筛选
前言
之前我们移值了开源高通量虚拟筛选系统VirtualFlow及其数据库Real Database到cloudam的云E算例平台上1,已经开始为广大用户服务。由于Real数据库需要定制,因而供货周期比现货更长、价格也更贵,不少用户反馈希望能有现货数据库可用。经过上海陶素许可,将Enamine的2020年5月份Adance与HTS两个现货数据库也准备成VirtulFlow可用的格式并与大家分享。
本文用了一个“不同于”云计算教程 | 在云端用VirtualFlow实现超高通量虚拟筛选的流程来完成虚拟筛选,但其本质是一样的:本文只是将前文脚本createworkflow.sh拆解为一行一行的命令分别执行罢了。这么拆解脚本的目的是让大家更方便的自定义参数进行虚拟筛选。
ENAMINE数据库简介
经过更新之后,目前有三个ENAMINE数据库可以使用,分别介绍如下:
1、Enamine REAL
2020/07/20从www.virtual-flow.org移值过来,包含了14.6 亿化合物,供应商为enamine(上海陶素代理),需定制。位置:$LIBRARY/enamine/ligand-library
todo.all生成与空间坐标:从www.virtual-flow.org在线获取。
2、Enamine Advance
2020年5月版本,包含了448388个化合物,供应商为enamine(上海陶素代理),现货。位置:$LIBRARY/enamine-adv-202005/ligand-library
todo.all生成:见数据库目录里的todo.all,空间坐标解释见README。
3、Enamine HTS
2020年5月版本,包含了1756280个化合物,供应商为enamine(上海陶素代理),现货。位置:$LIBRARY/enamine_hts_vfvs_202005/ligand-library
todo.all生成:见数据库目录里的todo.all, 空间坐标解释见README。
其中环境变量LIBRARY定义如下:
export VFVS_ROOT=/public/software/.local/easybuild/software/virtualflow
export LIBRARY=$VFVS_ROOT/libs
虚拟筛选的准备
作步骤
以BCR-ABL激酶抑制剂的虚拟筛选为例,假设你准备好了如下文件:
1、Dokcing计算用蛋白文件:1iep_prot.pdbqt
2、QVINA2用的Docking配置文件:config.txt
3、VirtualFlow配置文件:ctrl.all
该文件的设置主要与使用的计算节点核心数有关系,我这里准备
了3各种情况:4核心、8核心与16核心节点的配置文件,这些
配置文件已经配置好,适合于用qvina进行虚拟筛选。
4、对接用的化合物列表:todo.all
在本算例中,用Enamine advance,todo.all文件在该数据库
目录下。
Virtulflow的使用
1设定项目文件目录
假设计划在HOME下的VFVS_ABL目录开始一个虚拟筛选计算,那么我们需要创建该目录做为管理该项目的目录。为了方便后续管理,并建立一个VFVS_DIR环境变量指向该目录:
cd ~
mkdir VFVS_ABL
export VFVS_DIR=/home/cloudam/VFVS_ABL
2 准备input-files目录
2.1 创建input-files目录
首先,我们需要创建一个input-files,用于保存输入文件。
cd $VFVS_DIR
mkdir input-files
2.2 指定用于虚拟筛选的数据库
鉴于我们需要对Enamine advance进行虚拟筛选,所以将该该库放入input-files目录,用软链接即可:
ln -fs $LIBARARY/enamine-adv-202005/ligand-library $VFVS_DIR/input-files
2.3 创建受体文件目录并放置受体文件
mkdir -p $VFVS_DIR/input-files/receptors
cp 1iep_prot.pdbqt $VFVS_DIR/input-files/receptors
2.4 创建对接场景目录并放置对接参数文件
mkdir -p $VFVS_DIR/input-files/qvina02_rigid_receptor1
cp config.txt $VFVS_DIR/input-files/qvina02_rigid_receptor1/config.txt
3. 准备tools目录
先将Virtual flow的tools复制到项目目录
cp -fr $VFVS_ROOT/vfvs/tools $VFVS_DIR
复制todo.all到tools里:
cp $VFVS_DIR/input-files/ligand-library/todo.all $VFVS_DIR/tools/templates/todo.all
复制Virtualfollow配置文件
cp all.ctrl-c4 $VFVS_DIR/tools/templates/all.ctrl
其中all.ctrl-c4是我实先准备好的Virtual Flow配置文件,适合于4核心计算节点。相应的有8核心与16核心的配置文件。
检查一下现在的项目文件里的内容:
[cloudam@master 1_input]$ tree
.
├── input-files
│ ├── ligand-library -> /public/software/.local/easybuild/software/virtualflow/libs/enamine-adv-202005/ligand-library
│ ├── qvina02_rigid_receptor1
│ │ └── config.txt
│ └── receptors
│ └── 1iep_prot.pdbqt
├── output-files
└── tools
├── bin
│ ├── qvina02
│ ├── qvina_w
│ ├── smina
│ ├── sqs
│ ├── time_bin
│ ├── vina
│ ├── vina_carb
│ └── vina_xb
├── slave
│ ├── continue-jobline.sh
│ ├── copy-templates.sh
│ ├── copy-templates.sh.clodam
│ ├── copy-templates.sh.old
│ ├── exchange-continue-jobline.sh
│ ├── exchange-jobfile.sh
│ ├── prepare-todolists-cloudam.sh
│ ├── prepare-todolists.sh
│ ├── prepare-todolists.sh.old.old
│ ├── show_banner.sh
│ ├── submit.sh
│ └── sync-jobfile.sh
├── templates
│ ├── all.ctrl
│ ├── one-queue.sh
│ ├── one-step.sh
│ ├── template1.lsf.sh
│ ├── template1.pbs.sh
│ ├── template1.sge.sh
│ ├── template1.slurm.sh
│ ├── template1.slurm.sh.old
│ ├── template1.torque.sh
│ └── todo.all
├── tmp
│ └── README.md
├── vf_continue_all.sh
├── vf_continue_jobline.sh
├── vf_prepare_folders.sh
├── vf_redistribute_collections_multiple.sh
├── vf_redistribute_collections_single.sh
├── vf_report.sh
├── vf_start_jobline.sh
└── vf_start_jobline.sh.old
10 directories, 41 files
4. 准备工作流目录(workflow)
cd $VFVS_DIR/tools
./vf_prepare_folders.sh
5. 开始虚拟筛选
假设我们用200个节点进行虚拟筛选,用vf_start_jobline.sh开始虚拟筛选:
cd $VFVS_DIR/tools
NODE_NUMBER = 200
./vf_start_jobline.sh 1 $NODE_NUMBER templates/template1.slurm.sh submit 1
6. 进度查看与对接结果统计
cd $VFVS_DIR/tools
./vf_report.sh -c vs -d qvina02_rigid_receptor1
虚拟筛选的后处理:列出top化合物与pose提取
1. 复制VFTools
首先需要将VFTools复制一份到本地:
cd $VFVS_DIR
cp -r $VFVS_ROOT/vftools/VFTools .
export PATH=$VFVS_DIR/VFTools/bin:$PATH
在VirtualFlow计算完毕,还可以对所有的化合物进行排序。创建专用的目录pp,键入命令:
cd $VFVS_DIR
mkdir -p pp/ranking
cd pp/rankin
对所有的化合物排序:
vfvs_pp_ranking_all.sh ../../output-files/complete/ 2 meta_tranche
如果不能正常使用,请键入:
vfvs_pp_ranking_all.sh -h
根据帮助,确保参数都是正确的。同时确认已将VFTools/bin加入到PATH环境变量。
给出打分最佳前100个化合物的列表,保存为compound:
head -n 100 qvina02_rigid_receptor1/firstposes.all.minindex.sorted.clean > compounds
3.提取打分最靠前100个化合物的对接结合模式(pose)
创建新的目录,用来保存pose
cd $VFVS_DIR/pp
mkdir -p docking_poses/qvina02_rigid_receptor1
cd docking_poses/qvina02_rigid_receptor1
根据第上一步的列表(componds),将top 100化合物的pose提取出来:
cp ../../ranking/compounds . #复制列表到当前目录
vfvs_pp_prepare_dockingposes.sh ../../../output-files/complete/qvina02_rigid_receptor1/results/ meta_tranch compounds dockingsposes overwrite
生成三个文件,两个目录:
compounds compounds.energies compounds.energies.uniq.csv dockingsposes dockingsposes.plain
每个打分最佳的pose已经按排名顺序以PDB格式保存在dockingsposes.plain目录里,可以直接用可视化软件对结果进行分析,推荐用FlareViewer(免费)做为可视化软件对结果进行分析。
致谢
Enamine 2020年5月份版本的HTS与Advance数据库由上海陶素提供,网站:https://www.tsbiochem.com
相关
最新
技术
关于云端
深圳云端软件有限公司(Cloudam)是弹性算力与云成本优化的技术领导者,为企业打造一站式的算力云平台及自动化云成本优化服务。云端软件推出的云E算力平台整合了全球主流公有云近50个地域的高性能计算资源,能为人工智能、仿真模拟、生物科技、材料化学等行业提供弹性、高效、经济的算力支持。
Cloudam成立于瑞典斯德哥尔摩,在深圳及斯德哥尔摩两地运营,团队核心成员来自于Oracle、Ericsson、IBM、华为等知名企业,拥有15年以上的世界500强企业技术服务经验和研发背景,已成功为欧洲及中国多家企业提供产品和技术服务。
分享、在看与点赞
了解更多高性能计算与云的知识