Giter Site home page Giter Site logo

mdcao / dockstring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dockstring/dockstring

0.0 0.0 0.0 16.34 MB

A Python package for molecular docking with an extensive, highly-curated dataset and a set of realistic benchmark tasks for drug discovery.

License: Apache License 2.0

Python 53.19% Jupyter Notebook 46.81%

dockstring's Introduction

dockstring

CI Tests Code Style: yapf

A Python package for easy molecular docking and docking benchmarking. We can dock molecules in a few lines of code from just a SMILES string! For details, see our paper and our 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

Currently this package is only supported on Linux, and we do not plan to add support for Mac/Windows. See this issue for more information on why this is (feel free to re-open it if you want to help us provide Mac/Windows support).

To ensure compatibility with the dockstring dataset, the package has very strict versioning requirements for its main dependencies (rdkit and openbabel). As such, we recommend you install it in the following way.

  1. Clone this repository.
  2. Choose whether to install into an existing environment or create a new environment.
    • To install into an existing environment, install the correct version of openbabel and rdkit:
      conda install -c conda-forge rdkit=2021.03.3 openbabel=3.1.1
    • To install into a new environment, run:
      conda env create -f environment.yml
      conda activate dockstring
  3. Install the dockstring package with pip from this repository:
    pip install .
  4. Check whether the installation was successful by running a test script. Running without error inducates a successful install.
    python tutorials/simple_example.py

If this method of installation does not work for you, please raise a github issue and we will try to help.

Optional

Install PyMol for target, search box and ligand visualization:

conda install -c conda-forge pymol-open-source 

Tutorials

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

See our website for linkks to tutorials for our dataset and benchmarks.

Development

We use pre-commit to enforce code formatting and style. Install by running:

conda install -c conda-forge pre-commit
pre-commit install

We use pytest to test our code. You can install pytest by running conda install -c conda-forge pytest. Before committing, please run the following to make sure that all tests pass:

python -m pytest tests/

Alternatively, to skip a variety of slow tests, run:

python -m pytest -m "not slow" tests/

Citation

If you use the dockstring package/dataset/benchmark in your work, please use the following citation:

@article{garciaortegon2022dockstring,
    author = {García-Ortegón, Miguel and Simm, Gregor N. C. and Tripp, Austin J. and Hernández-Lobato, José Miguel and Bender, Andreas and Bacallado, Sergio},
    title = {DOCKSTRING: Easy Molecular Docking Yields Better Benchmarks for Ligand Design},
    journal = {Journal of Chemical Information and Modeling},
    volume = {62},
    number = {15},
    pages = {3486-3502},
    year = {2022},
    doi = {10.1021/acs.jcim.1c01334},
    URL = {https://doi.org/10.1021/acs.jcim.1c01334}
}

dockstring's People

Contributors

gncs avatar mgarort avatar austint avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.