Skip to main content

A Python-based library to perform IFD and MMGBSA calculations on different targets using a polypharmacological approach.

Project description

Polypharm

A Python-based library to perform induced fit docking (IFD) and MM/GBSA calculations on different targets using a polypharmacological approach.

Refer to the official documentation for details about installation, usage, methodology, and developer interface.

Installation

The version at the Python Package Index (PyPI) is always the latest stable release that is relatively bug-free and can be installed via pip:

pip install polypharm

The minimum Python version is 3.9, and requires the pandas and Jinja2 packages. Refer to the Installation page of the documentation for more details.

NOTE: The main functionality (i.e., IFD and MM/GBSA) does require a working Schrödinger Suite installation (2018-4 or greater) including the Glide and Prime modules.

Usage

polypharm can be used either programmatically or from the command line. There is Jupyter Notebook at the examples folder that shows the common usage. In any case, below is a brief example.

import glob
import os

import polypharm as ppm

# required to run docking and binding energy calculation
os.environ["SCHRODINGER_PATH"] = "/path/to/schrodinger"

# gather input files and configuration
prot_files = glob.glob(os.path.join("proteins", "*.mae*"))
lig_files = glob.glob(os.path.join("molecules", "*.mae*"))
resid_map = {
    "6lqa": ["B:1462", "B:1466", "B:1760", "B:1767"],
    "6rv3": [
        "A:126", "A:171", "A:194", "A:198", "A:199", "A:234", "A:235",
        "A:236", "A:238"
    ],
}
parallel = 10

# 1. Run induced-fit cross docking
ppm.cross_dock(prot_files, lig_files, resid_map, tasks=parallel)
# 2. Rescore generated IFD poses using MM/GBSA
ppm.rescore_docking(
    glob.glob(os.path.join("ifd", "**", "*", "*-out.maegz")),
    tasks=parallel,
)
# 3. Generate a report from MM/GBSA output
maefiles = glob.glob(os.path.join("mmgbsa", "**", "*-out.maegz"))
results = ppm.report(maefiles, resid_map, tasks=parallel)
# 4. Rank molecules by their docking performance
ranked_results = ppm.rank_molecules(results)

The same workflow can be performed via command line:

$ vim resids.txt # write residues into a file
$ mkdir ifd && cd ifd
$ python -m polypharm dock -p ../proteins -r ../resids.txt -t 5 ../ligands
$ cd ..
$ mkdir mmgbsa && cd mmgbsa
$ python -m polypharm rescore -t 5 ../ifd
$ cd ..
$ python -m polypharm report -o report.csv -c 6 -t 5 mmgbsa
$ python -m polypharm rank -o rank.csv report.csv

Please refer to the official documentation for more information.

Citing

If you use polypharm in your research, please consider citing the following article:

To be added

Contributors

License

Licensed under the MIT license, see the separate LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polypharm-0.4.3.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polypharm-0.4.3-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file polypharm-0.4.3.tar.gz.

File metadata

  • Download URL: polypharm-0.4.3.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for polypharm-0.4.3.tar.gz
Algorithm Hash digest
SHA256 a2126e46bc155b0f28354ac9b834cdbe44d96ff1d0ddb7a34c79e96b0f600aa3
MD5 63370da5e240c5abf7de36011c5b6985
BLAKE2b-256 5a0096e02c5ffaccdca40573deabf577625d8a4da8b625a850c1b1923e424734

See more details on using hashes here.

File details

Details for the file polypharm-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: polypharm-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for polypharm-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0c6f46185c3131ba288674126b25de566d5945c3495ae21272040e66311935f5
MD5 7f06b1abe6ca1a0840a4be31d9568ca4
BLAKE2b-256 3abd3e17dac1549decc687a3ee382765c9a3f5b0d883bd1c04e1820baaa4bba4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page