Integrated physics-based and ligand-based modeling.

Overview

ComBind

ComBind integrates data-driven modeling and physics-based docking for improved binding pose prediction and binding affinity prediction.

Given the chemical structures of several ligands that can bind a given target protein, ComBind solves for a set of poses, one per ligand, that are both highly scored by physics-based docking and display similar interactions with the target protein. ComBind quantifies this vague notion of "similar" by considering a diverse training set of protein complexes and computing the overlap between protein–ligand interactions formed by distinct ligands when they are in their correct poses, as compared to when they are in randomly selected poses. To predict binding affinities, poses are predicted for the known binders using ComBind, and then the candidate molecule is scored according to the ComBind score w.r.t the selected poses.

Predicting poses for known binders

First, see instructuctions for software installation at the bottom of this page.

Running ComBind can be broken into several components: data curation, data preparation (including docking), featurization of docked poses, and the ComBind scoring itself.

Note that if you already have docked poses for your molecules of interest, you can proceed to the featurization step. If you are knowledgable about your target protein, you may well be able to get better docking results by manually preparing the data than would be obtained using the automated procedure implemented here.

Curation of raw data

To produce poses for a particular protein, you'll need to provide a 3D structure of the target protein and chemical structures of ligands to dock.

These raw inputs need to be properly stored so that the rest of the pipeline can recognize them.

The structure(s) should be stored in a directory structures/raw. Each structure should be split into two files NAME_prot.mae and NAME_lig.mae containing only the protein and only the ligand, respectively.

If you'd prefer to prepare your structures yourself, save your prepared files to structures/proteins and structures/ligands. Moreover, you could even just begin with a Glide docking grid which you prepared yourself by placing it in docking/grids.

Ligands should be specified in a csv file with a header line containing at least the entries "ID" and "SMILES", specifying the ligand name and the ligand chemical structure.

Data preparation and docking

Use the following command, to prepare the structural data using Schrodinger's prepwizard, align the structures to each other, and produce a docking grid.

combind structprep

In parallel, you can prepare the ligand data using the following command. By default, the ligands will be written to seperate files (one ligand per file). You can specify the --multiplex flag to write all of the ligands to the same file.

combind ligprep ligands.csv

Once the docking grid and ligand data have been prepared, you can run the docking. The arguments to the dock command are a list of ligand files to be docked. By default, the docking grid is the alphabetically first grid present in structures/grids; use the --grid option to specify a different grid.

combind dock ligands/*/*.maegz

Featurization

Note that this is the

combind featurize features docking/*/*_pv.maegz

Pose prediction with ComBind

combind pose-prediction features poses.csv

ComBind virtual screening

To run ComBindVS, first use ComBind to

Installation

Start by cloning this git repository (likely into your home directory).

ComBind requires access to Glide along with several other Schrodinger tools and the Schrodinger Python API.

The Schrodinger suite of tools can be accessed on Sherlock by running ml chemistry schrodinger. This will add many of the Schrodinger tools to your path and sets the SCHRODINGER environmental variable. (Some tools are not added to your path and you'll need to write out $SCHRODINGER/tool.) After running this you should be able to run Glide by typing glide in the command line.

You can only access the Schrodinger Python API using their interpretter. Creating a virtual environment that makes their interpretter the default python interpretter is the simplest way to do this. To create the environment and upgrade the relevant packages run the following:

cd
$SCHRODINGER/run schrodinger_virtualenv.py schrodinger.ve
source schrodinger.ve/bin/activate
pip install --upgrade numpy sklearn scipy pandas

cd combind
ln -s  ~/schrodinger.ve/bin/activate schrodinger_activate

This last line is just there to provide a standardized way to access the activation script.

Run source schrodinger_activate to activate the environment in the future, you'll need to do this everytime before running ComBind. This is included in the setup_sherlock script; you can source the script by running source setup_sherlock.

Comments
  • Execution killed during Featurization

    Execution killed during Featurization

    Execution killed while executing the command;

    Featurization combind featurize features docking//_pv.maegz

    The following message was received; Extracting glide scores. Extracting names. Computing RMSDs to native poses Computing interaction fingerprints. Killed I ran the command again and received the error below Fatal Python error: Bus error

    Then the execution stops, any assistance will be appreciated

    opened by matany58 3
  • Diverse Docking Benchmark Set

    Diverse Docking Benchmark Set

    Are you able to provide the full set of data used for the docking benchmark?

    From my understanding of the paper, this would consist of:

    • a list of the 245 unique ligands and which of the 30 target proteins they are docked to
      • Are these the ligands present in the PDB structures enumerated in stats_data/pdbs.txt?
    • the helper ligands from Chembl for each of the 245 ligands (SMILES strings would be great)
    • denote which helper ligands are utilized when focusing on one of the two criteria:
      1. highest affinity binders that do not share a chemical scaffold
      2. ligands that share the largest chemical substructure with the query ligand
    opened by drewnutt 1
  • Availability of Similarity Statistics Dataset

    Availability of Similarity Statistics Dataset

    In the paper, you provide a summarized list of the structures and number of ligands used for calculating the similarity statistics used in the negative log-likelihood portion of the ComBind score (Supplementary Table 2). Do you have this dataset available for others to use or alternatively, do you have a list of the PDB IDs used in this dataset?

    I believe this dataset would be required for me to determine the constant C for a new docking program when used in the ComBind pipeline.

    opened by drewnutt 1
  • Shape similarity

    Shape similarity

    Is the shape similarity computed with shape_screen included in the original manuscript? All I can find in the paper for the pairwise scoring is the use of three interaction types for protein-ligand interaction similarity (hydrogen bonds, salt bridges, and hydrophobic) and the maximum common substructure RMSD between pairs of poses.

    If this shape similarity was not included in the original manuscript, do you have any docking results comparing using the shape similarity vs not using the shape similarity in the ComBind score?

    opened by drewnutt 1
  • How to run ComBind VS?

    How to run ComBind VS?

    The README.md part where it provides the instructions to run ComBind VS was cut off. I would like to request for the instructions to run ComBind VS. Thank you! :)

    opened by yipy0005 1
  • Do you need to multiply by 2 when calculating the combined score of Best Pose?

    Do you need to multiply by 2 when calculating the combined score of Best Pose?

    https://github.com/drorlab/combind/blob/01ba5b845a2b8dd62ea6224da11665045b021af5/score/pose_prediction.py#L160

    Here only half of is calculated, which does not match the formula

    image

    opened by chrisxu2016 1
  • Featurization Error

    Featurization Error

    I noticed the error below while executing combind featurize features docking//_pv.maegz

    assert os.path.exists(csv) AssertionError

    Does anyone know which CSV file is missing and in which directory/folder

    opened by matany58 12
  • Question regarding poses.csv output

    Question regarding poses.csv output

    I ran combind and received the following output for poses.csv

    ID,POSE,COMBIND_RMSD,GLIDE_RMSD,BEST_RMSD
    ligand_6,0,0.883745269850613,0.883745269850613,0.22876830274335147
    ligand_7,0,-1.0,-1.0,-1.0
    ligand_8,1,-1.0,-1.0,-1.0
    ligand_9,0,-1.0,-1.0,-1.0
    ligand_a,0,-1.0,-1.0,-1.0
    ligand_b,0,-1.0,-1.0,-1.0
    

    Should I be concerned that only one ligand has RMSD's that are not -1? Can you help me understand what this output means. Thank you!

    opened by hnisonoff 5
Owner
Dror Lab
Ron Dror's computational biology laboratory at Stanford University
Dror Lab
A lane detection integrated Real-time Instance Segmentation based on YOLACT (You Only Look At CoefficienTs)

Real-time Instance Segmentation and Lane Detection This is a lane detection integrated Real-time Instance Segmentation based on YOLACT (You Only Look

Jin 4 Dec 30, 2022
The deployment framework aims to provide a simple, lightweight, fast integrated, pipelined deployment framework that ensures reliability, high concurrency and scalability of services.

savior是一个能够进行快速集成算法模块并支持高性能部署的轻量开发框架。能够帮助将团队进行快速想法验证(PoC),避免重复的去github上找模型然后复现模型;能够帮助团队将功能进行流程拆解,很方便的提高分布式执行效率;能够有效减少代码冗余,减少不必要负担。

Tao Luo 125 Dec 22, 2022
PyDeepFakeDet is an integrated and scalable tool for Deepfake detection.

PyDeepFakeDet An integrated and scalable library for Deepfake detection research. Introduction PyDeepFakeDet is an integrated and scalable Deepfake de

Junke, Wang 49 Dec 11, 2022
Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. It's also a suite of learning algorithms to train agents to operate in these environments (PPO, SAC, evolutionary strategy, and direct trajectory optimization are implemented).

Google 1.5k Jan 2, 2023
Pytorch Implementation of Interaction Networks for Learning about Objects, Relations and Physics

Interaction-Network-Pytorch Pytorch Implementraion of Interaction Networks for Learning about Objects, Relations and Physics. Interaction Network is a

null 117 Nov 5, 2022
ivadomed is an integrated framework for medical image analysis with deep learning.

Repository on the collaborative IVADO medical imaging project between the Mila and NeuroPoly labs.

null 144 Dec 19, 2022
Discretized Integrated Gradients for Explaining Language Models (EMNLP 2021)

Discretized Integrated Gradients for Explaining Language Models (EMNLP 2021) Overview of paths used in DIG and IG. w is the word being attributed. The

INK Lab @ USC 17 Oct 27, 2022
Official PyTorch implementation of "AASIST: Audio Anti-Spoofing using Integrated Spectro-Temporal Graph Attention Networks"

AASIST This repository provides the overall framework for training and evaluating audio anti-spoofing systems proposed in 'AASIST: Audio Anti-Spoofing

Clova AI Research 56 Jan 2, 2023
Examples of using f2py to get high-speed Fortran integrated with Python easily

f2py Examples Simple examples of using f2py to get high-speed Fortran integrated with Python easily. These examples are also useful to troubleshoot pr

Michael 35 Aug 21, 2022
Physics-Aware Training (PAT) is a method to train real physical systems with backpropagation.

Physics-Aware Training (PAT) is a method to train real physical systems with backpropagation. It was introduced in Wright, Logan G. & Onodera, Tatsuhiro et al. (2021)1 to train Physical Neural Networks (PNNs) - neural networks whose building blocks are physical systems.

McMahon Lab 230 Jan 5, 2023
Official PyTorch implementation of "Physics-aware Difference Graph Networks for Sparsely-Observed Dynamics".

Physics-aware Difference Graph Networks for Sparsely-Observed Dynamics This repository is the official PyTorch implementation of "Physics-aware Differ

USC-Melady 46 Nov 20, 2022
Original code for "Zero-Shot Domain Adaptation with a Physics Prior"

Zero-Shot Domain Adaptation with a Physics Prior [arXiv] [sup. material] - ICCV 2021 Oral paper, by Attila Lengyel, Sourav Garg, Michael Milford and J

Attila Lengyel 40 Dec 21, 2022
Must-read Papers on Physics-Informed Neural Networks.

PINNpapers Contributed by IDRL lab. Introduction Physics-Informed Neural Network (PINN) has achieved great success in scientific computing since 2017.

IDRL 330 Jan 7, 2023
A python implementation of Physics-informed Spline Learning for nonlinear dynamics discovery

PiSL A python implementation of Physics-informed Spline Learning for nonlinear dynamics discovery. Sun, F., Liu, Y. and Sun, H., 2021. Physics-informe

Fangzheng (Andy) Sun 8 Jul 13, 2022
Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs

PhyCRNet Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs Paper link: [ArXiv] By: Pu Ren, Chengping Rao, Yang

Pu Ren 11 Aug 23, 2022
McGill Physics Hackathon 2021: Reaction-Diffusion Models for the Generation of Biological Patterns

DiffuseAnimals: Reaction-Diffusion Models for the Generation of Biological Patterns Introduction Reaction-diffusion equations can be utilized in order

Austin Szuminsky 2 Mar 7, 2022
PyTorch implementation for the visual prior component (i.e. perception module) of the Visually Grounded Physics Learner [Li et al., 2020].

VGPL-Visual-Prior PyTorch implementation for the visual prior component (i.e. perception module) of the Visually Grounded Physics Learner (VGPL). Give

Toru 8 Dec 29, 2022
PINN(s): Physics-Informed Neural Network(s) for von Karman vortex street

PINN(s): Physics-Informed Neural Network(s) for von Karman vortex street This is

ShotaDEGUCHI 2 Apr 18, 2022
[ICLR 2022] Contact Points Discovery for Soft-Body Manipulations with Differentiable Physics

CPDeform Code and data for paper Contact Points Discovery for Soft-Body Manipulations with Differentiable Physics at ICLR 2022 (Spotlight). @InProceed

(Lester) Sizhe Li 29 Nov 29, 2022