/QSPRpred

A tool for creating Quantitative Structure Property/Activity Relationship (QSPR/QSAR) models.

Primary LanguageJupyter NotebookMIT LicenseMIT

Main Build and Deploy Documentation Multi-OS Complete Test PyPI - Version Documentation

Dev Build and Deploy Documentation Multi-OS Complete Test Documentation

QSPRpred

QSPRpred is open-source software libary for building Quantitative Structure Property/Activity Relationship (QSPR/QSAR) models developed by Gerard van Westen's Computational Drug Discovery group. It provides a unified interface for building QSPR models based on different types of descriptors and machine learning algorithms. We developed this package to support our research, recognizing the necessity to reduce repetition in our model building workflow and improve the reproducibility and reusability of our models. In making this package available here, we hope that it may be of use to other researchers as well. QSPRpred is still in active development, and we welcome contributions and feedback from the community.

QSPRpred is designed to be modular and extensible, so that new functionality can be easily added. A command line interface is available for basic use cases to quickly, explore varying scenarios. For more advanced use cases, the Python API offers extra flexibility and control, allowing more complex workflows and additional features.

Internally, QSPRpred relies heavily on the RDKit and scikit-learn libraries. Furthermore, for scikit-learn model saving and loading, QSPRpred uses ml2json for safer and interpretable model serialization. QSPRpred is also interoperable with Papyrus, a large scale curated dataset aimed at bioactivity predictions, for data collection. Models developed with QSPRpred are compatible with the group's de novo drug design package DrugEx.

Quick Start

Installation

QSPRpred can be installed with pip like so (with python >= 3.10):

pip install qsprpred

Note that this will install the basic dependencies, but not the optional dependencies. If you want to use the optional dependencies, you can install the package with an option:

pip install qsprpred[<option>]

The following options are available:

  • extra : include extra dependencies for PCM models and extra descriptor sets from packages other than RDKit
  • deep : include deep learning models (torch and chemprop)
  • chemprop: include the ChemProp integration (only ChemProp versions < 2.0.0 supported at the moment)
  • full : include all optional dependecies (requires cupy, pip install cupy-cudaX, replace X with your cuda version)

Note on PCM Modelling

If you plan to optionally use QSPRpred to calculate protein descriptors for PCM, make sure to also install Clustal Omega. You can get it via conda (for Linux and MacOS only):

conda install -c bioconda clustalo

or install MAFFT instead:

conda install -c biocore mafft

This is needed to provide multiple sequence alignments for the PCM descriptors. If Windows is your platform of choice, these tools will need to be installed manually or a custom implementation of the MSAProvider class will have to be made.

Use

After installation, you will have access to various command line features and you can use the Python API directly ( see Documentation). For a quick start, you can also check out the Jupyter notebook tutorials, which document the use of the Python API to build different types of models. The tutorials as well as the documentation are still work in progress, and we will be happy for any contributions where it is still lacking.

Contributions

Contributions and issue reports are more than welcome. Pull requests can be made directly to the main branch and we will transfer them to contrib when scheduled for the next release.

Workflow

image

Current Development Team