Skip to main content

ConPLex

ConPLex Schematic

ConPLex Releases PyPI Build Documentation Status License Code style: black

🚧🚧 Please note that ConPLex is currently a pre-release and is actively being developed. For the code used to generate our PNAS results, see the manuscript code 🚧🚧

Abstract

Sequence-based prediction of drug-target interactions has the potential to accelerate drug discovery by complementing experimental screens. Such computational prediction needs to be generalizable and scalable while remaining sensitive to subtle variations in the inputs. However, current computational techniques fail to simultaneously meet these goals, often sacrificing performance on one to achieve the others. We develop a deep learning model, ConPLex, successfully leveraging the advances in pre-trained protein language models ("PLex") and employing a novel protein-anchored contrastive co-embedding ("Con") to outperform state-of-the-art approaches. ConPLex achieves high accuracy, broad adaptivity to unseen data, and specificity against decoy compounds. It makes predictions of binding based on the distance between learned representations, enabling predictions at the scale of massive compound libraries and the human proteome. Experimental testing of 19 kinase-drug interaction predictions validated 12 interactions, including four with sub-nanomolar affinity, plus a novel strongly-binding EPHB1 inhibitor ($K_D = 1.3nM$). Furthermore, ConPLex embeddings are interpretable, which enables us to visualize the drug-target embedding space and use embeddings to characterize the function of human cell-surface proteins. We anticipate ConPLex will facilitate novel drug discovery by making highly sensitive in-silico drug screening feasible at genome scale.

Installation

Install from PyPI

You should first have a version of cudatoolkit compatible with your system installed. Then run

pip install conplex-dti
conplex-dti --help

Compile from Source

git clone https://github.com/samsledje/ConPLex.git
cd ConPLex
conda create -n conplex-dti python=3.9
conda activate conplex-dti
make poetry-download
export PATH="[poetry  install  location]:$PATH"
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
make install
conplex-dti --help

Usage

Download benchmark data sets and pre-trained models

conplex-dti download --to datasets --benchmarks davis bindingdb biosnap biosnap_prot biosnap_mol dude
conplex-dti download --to . --models ConPLex_v1_BindingDB

Run benchmark training

conplex-dti train --run-id TestRun --config config/default_config.yaml

Make predictions with a trained model

conplex-dti predict --data-file [pair predict file].tsv --model-path ./models/ConPLex_v1_BindingDB.pt --outfile ./results.tsv

Format of [pair predict file].tsv should be [protein ID]\t[molecule ID]\t[protein Sequence]\t[molecule SMILES]

Visualize co-embedding space

...

Reference

If you use ConPLex, please cite Contrastive learning in protein language space predicts interactions between drugs and protein targets by Rohit Singh*, Samuel Sledzieski*, Bryan Bryson, Lenore Cowen and Bonnie Berger.

@article{singh2023contrastive,
  title={Contrastive learning in protein language space predicts interactions between drugs and protein targets},
  author={Singh, Rohit and Sledzieski, Samuel and Bryson, Bryan and Cowen, Lenore and Berger, Bonnie},
  journal={Proceedings of the National Academy of Sciences},
  volume={120},
  number={24},
  pages={e2220778120},
  year={2023},
  publisher={National Acad Sciences}
}

Thanks to Ava Amini, Kevin Yang, and Sevahn Vorperian from MSR New England for suggesting the use of the triplet distance contrastive loss function without the sigmoid activation. The default has now been changed. For the original formulation with the sigmoid activation, you can set the --use-sigmoid-cosine flag during training.

Manuscript Code

Code used to generate results in the manuscript can be found in the development repository

Metadata

Release files for conplex-dti 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for conplex-dti 0.1.12
File Size Uploaded
conplex_dti-0.1.12.tar.gz 34.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for conplex-dti 0.1.12
File Interpreter ABI Platform
conplex_dti-0.1.12-py3-none-any.whl Python 3 none any Details

Total release size: 71.6 kB

Release files / conplex_dti-0.1.12.tar.gz

Download URL conplex_dti-0.1.12.tar.gz
Size 34.6 kB
Tags Source
SHA-256 checksum
How to use checksums
afa5f7fe0a33af2d4588de6496258daf8d759ec63ec645afc85b764c2b38e8fd
BLAKE2b-256 checksum
How to use checksums
724980936e8366c26b9631be7f7c5b4106bc7c8d507a09e4c127a4b5df27b34f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.9.18 Linux/5.4.0-164-generic

Release files / conplex_dti-0.1.12-py3-none-any.whl

Download URL conplex_dti-0.1.12-py3-none-any.whl
Size 37.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe42bcd9dfe3c77428ae000a4ba04939fbb53a3e8426445874a9ec9e68663703
BLAKE2b-256 checksum
How to use checksums
490e3377791cbba20ee03bb5304a0a3b54e983c7890445664765035f99babaa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.2 CPython/3.9.18 Linux/5.4.0-164-generic

Release history Release notifications | RSS feed

This release

0.1.12 This release

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page