GithubHelp home page GithubHelp logo

unixjunkie / abfe_workflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bigginlab/abfe_workflow

0.0 0.0 0.0 16.42 MB

This is a SnakeMake based workflow for ABFE calculations that can be easily scaled in a high-throughput manner via Slurm for example.

License: GNU General Public License v3.0

Shell 2.49% Python 97.51%

abfe_workflow's Introduction

ABFE_workflow

build-package

A snakemake based workflow for ABFE calculations using GMX. The workflow can be scaled on Slurm Queuing systems. Checkout our publication: Ries, B; Alibay, I.; N. M. Anand; Magarkar, A.; Biggin, P. C. Automated Absolute Binding Free Energy Calculation Workflow for Drug Discovery. J. Chem. Inf. Model. 2024

The here provided Cyclophilin D Test systems and experimental values originate from:

Here a visualization of the triggered process:

New Features:

We are currently improving the user experience. The input was simplified to simply only the need of providing a pdb file for the receptor and .sdf files for the ligand.

>cli-abfe -h

usage: cli-abfe [-h] -p PROTEIN_PDB_PATH -l LIGAND_SDF_DIR -o OUTPUT_DIR_PATH [-c COFACTOR_SDF_PATH] [-nc NUMBER_OF_CPUS_PER_JOB] [-nj NUMBER_OF_PARALLEL_JOBS] [-nr NUMBER_OF_REPLICATES] [-submit]
                       [-gpu] [-hybrid]

optional arguments:
  -h, --help            show this help message and exit
  -p PROTEIN_PDB_PATH, --protein_pdb_path PROTEIN_PDB_PATH
                        Input protein pdb file path
  -l LIGAND_SDF_DIR, --ligand_sdf_dir LIGAND_SDF_DIR
                        Input ligand(s) sdf file path
  -o OUTPUT_DIR_PATH, --output_dir_path OUTPUT_DIR_PATH
                        Output approach folder
  -c COFACTOR_SDF_PATH, --cofactor_sdf_path COFACTOR_SDF_PATH
                        Input cofactor(s) sdf file path
  -nc NUMBER_OF_CPUS_PER_JOB, --number_of_cpus_per_job NUMBER_OF_CPUS_PER_JOB
                        Number of cpus per job
  -nj NUMBER_OF_PARALLEL_JOBS, --number_of_parallel_jobs NUMBER_OF_PARALLEL_JOBS
                        Number of jobs in parallel
  -nr NUMBER_OF_REPLICATES, --number_of_replicates NUMBER_OF_REPLICATES
                        Number of replicates
  -nosubmit             Will not automatically submit the ABFE calculations
  -nogpu                don't use gpus for the submissions?
  -nohybrid             don't do hybrid execution (complex jobs on gpu and ligand jobs on cpu (requires gpu flag))

Usage:

An example usage is provided with the examples/example_execution.sh, that uses the ABFE_Calculator.py script. If you remove the submit flag, you can a start a run, that only sets up the folder structure. (checkout our example folder)

Additional script information is provided via:

  conda activate abfe

  cli-abfe -h
  # or
  cli-abfe-gmx -h

Running an ABFE Campaign from Bash:

  conda activate abfe
  cli-abfe -p <path>/receptor.pdb \
           -l <path>/myligands \
           -o <path>/Out  \
           -nogpu -nohybrid -nc 8

Input

The input is suggested to be structured as follows for the commandline option:

  • <ligands>
    • ligand1.sdf
    • ligand2.sdf
    • ligand3.sdf
    • ...
  • receptor.pdb

For the python call:

  • ligand_sdfs:List[str] - paths to sdf files
  • protein_pdb_path: str - path to pdb file

Alternativley you can provide gromacs input files and use the command line tool ABFE_GMX_CLI. Please make sure your ligand is called LIG in the gmx files. The input sturucture should look like this:

  • <rooot_dir>
    • <ligand-1>
      • solvent
        • solvent.gro
        • solvent.top
      • complex
        • complex.gro
        • complex.top
    • <ligand-2>
      • solvent
        • solvent.gro
        • solvent.top
      • complex
        • complex.gro
        • complex.top ...

Checkout the example folder for more clarity on the structures.

Install:

The package can be installed like the following script:

  cd ABFE_workflow
  conda env create --file ./environment.yml
  conda activate abfe
  pip install .

abfe_workflow's People

Contributors

ialibay avatar philbiggin avatar riesben 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.