Awesome
Please Note: This repository is the specific pluggin intended to Protac-invent. Source code for our paper "3D Based Generative PROTAC Linker Design with Reinforcement Learning"
Minor modification were conducted for resolving some incompatibility issues of Python environment
In default docking component of Protac-invent, we choose "AutoDock Vina" as docking backends
- 1.The version of AutoDock Vina changed to "AutoDock-Vina-1.2.3" (default: autodock_vina_1_1_2_linux_x86). Because the older version do not support "local only" mode. Two Version also locate in DockStreamCommunity.
- 2.The source code of "DockStream-master/dockstream/core/Autodockvina" is modified.
- 3.The rest of the code can remain unchanged.
DockStream
Description
DockStream is a docking wrapper providing access to a collection of ligand embedders and docking backends. Docking execution and post hoc analysis can be automated via the benchmarking and analysis workflow. The flexilibity to specifiy a large variety of docking configurations allows tailored protocols for diverse end applications. DockStream can also parallelize docking across CPU cores, increasing throughput. DockStream is integrated with the de novo design platform, REINVENT, allowing one to incorporate docking into the generative process, thus providing the agent with 3D structural information.
Supported Backends
Ligand Embedders
Docking Backends
Note: The CCDC
package, the OpenEye
toolkit and Schrodinger
's tools require you to obtain the respective software from those vendors.
Tutorials and Usage
Detailed Jupyter Notebook
tutorials for all DockStream
functionalities and workflows are provided in
DockStreamCommunity. The DockStream
repository here
contains input JSON
templates located in examples.
The templates are organized as follows:
target_preparation
: Preparing targets for dockingligand_preparation
: Generating 3D coordinates for ligandsdocking
: Docking ligandsintegration
: Combining different ligand embedders and docking backends into a single inputJSON
to run successively
Using DockStream in REINVENT
DockStream provides a flexible implementation of molecular docking as a scoring function component in REINVENT. The generative agent is able to gradually generate compounds that satisfy the DockStream component, i.e, achieve favourable docking scores. A tutorial notebook is provided.
Requirements
Two Conda environments are provided: DockStream
via environment.yml
and DockStreamFull
via environment_full.yml
.
DockStream
suffices for all use cases except when CCDC GOLD
software is used, in which case DockStreamFull
is required.
git clone <DockStream repository>
cd <DockStream directory>
conda env create -f environment.yml
conda activate DockStream
Enable use of OpenEye software (from REINVENT README)
You will need to set the environmental variable OE_LICENSE to activate the oechem license. One way to do this and keep it conda environment specific is: On the command-line, first:
cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh
Then edit ./etc/conda/activate.d/env_vars.sh
as follows:
#!/bin/sh
export OE_LICENSE='/opt/scp/software/oelicense/1.0/oe_license.seq1'
and finally, edit ./etc/conda/deactivate.d/env_vars.sh :
#!/bin/sh
unset OE_LICENSE
Unit Tests
After cloning the DockStream
repository, enable licenses, if applicable (OpenEye
, CCDC
, Schrodinger
). Then execute the following:
python unit_tests.py
Contributors
Christian Margreitter (christian.margreitter@astrazeneca.com) Jeff Guo (jeff.guo@astrazeneca.com) Alexey Voronov (alexey.voronov1@astrazeneca.com)