Skip to content

nisargjoshi10/dockstring

Repository files navigation

dockstring

CI Tests Code Style: yapf

This is a forked repo from the original dockstring code, a python package for easy molecular docking and docking benchmarking. This code is modfied to incorporate automated docking of protein bining ligands from LLMs.

What's changed: - Incorporated timeout block (The code spends 15 minutes to try to find the docking site, after 15 minutes it restarts the docking process). The motivation behind this code block is to avoid the code getting stuck at a certain site and to accelerate docking process. - Prints out time taken to dock a single ligand to a protein target.

For details, see paper and website:

García-Ortegón, Miguel, et al. "DOCKSTRING: easy molecular docking yields better benchmarks for ligand design." Journal of Chemical Information and Modeling (2021).

Installation

Supported platforms: To install run pip install .

You might have to do chmod +x dockstring/build/lib/dockstring/resources/bin/{VINA_FILE} if you get Permission_denied error.

For rdkit installation: conda install -c conda-forge rdkit For openbabel installation: pip install openbabel-wheel.

  1. Check whether the installation was successful by running a test script. Running without error indicates a successful install.

    python tutorials/simple_example.py
  2. (optional) Install PyMol for target, search box and ligand visualization:

    conda install -c conda-forge pymol-open-source
  3. (optional) Check whether your local version of dockstring matches the dockstring dataset. This is only necessary if you plan to mix pre-computed docking scores from the dockstring dataset with locally-computed scores, or if you want to compare results with the dockstring paper.

    We have created a pytest test which randomly docks N molecules from the dockstring dataset and checks whether they match. The value of N can be changed by setting the environment variable num_dockstring_test_molecules. We recommend starting with N=50, then progressing to N=1000 to do a full test. The test can be run with the following commands:

    conda install -c conda-forge pytest  # only if not installed already
    num_dockstring_test_molecules=1000 python -m pytest tests/test_dataset_matching.py  # change "1000" to the number you wish to dock

    If the test passes then your local version of docktring matches the dataset exactly! 🥳 If the test does not pass, we encourage you to look how the error rate (this will be displayed in the error messages). If 99%+ of scores match then it is probably ok to use dockstring in the benchmarks, but there will of course be some error and this should be noted.

Tutorials

  • See dockstring's basic usage here.
  • Learn how to visualize docking poses here

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6