Giter VIP home page Giter VIP logo

fepsuite's Introduction

    ________________                   _ __     
   / ____/ ____/ __ \      _______  __(_) /____ 
  / /_  / __/ / /_/ /_____/ ___/ / / / / __/ _ \
 / __/ / /___/ ____/_____(__  ) /_/ / / /_/  __/
/_/   /_____/_/         /____/\__,_/_/\__/\___/ (beta)

FEP-suite: scripts and pipelines for free-energy perturbation calculation works

FEP-suite is a collection of programs for calculating various free energy differences. The pipeline uses GROMACS as a backend. There are currently two pipelines:

  • ABFE (absolute binding free energy) estimator, calculating binding free-energy betweeen receptor and ligand (typically protein and drug).
  • FEP/REST (free energy perturbation / replica exchange solute tempering), a relative free-energy difference calculation pipeline with an enhanced sampling technique.

Under both directory named abfe and feprest you can see README.md corresponding to each pipeline and how to use. Have fun!

Note the program is currently in "beta" version.

License

GPL 3 or later (see COPYING for details)

feprest/fepgen/cmdline.h is licensed under BSD 3-clause. See the file for details.

Authors

Main contributor: Shun Sakuraba (National Institutes for Quantum Science and Technology, Japan)

Acknowledgements

This software was supported by following fundings:

  • a Grant-in-aid for Young Scientists (B) (grant no. 16K17778) from Japan Society for the Promotion of Science (JSPS).
  • a Grant-in-aid for Scientific Research on Innovative Areas "Molecular Engine" (grant no. 19H05410) from JSPS.
  • Platform Project for Supporting Drug Discovery and Life Science Research (Basis for Supporting Innovative Drug Discovery and Life Science Research (BINDS)) under Grant Number JP21am0101106, Agency for Medical Research and Development (AMED), Japan
  • Project Focused on Developing Key Technology for Discovering and Manufacturing Drugs for Next-Generation Treatment and Diagnosis from AMED (JP21ae0121005s0101).

fepsuite's People

Contributors

shunsakuraba avatar

Stargazers

Ximi avatar Alexander Matthew Payne avatar  avatar Akos Nyerges avatar  avatar hishizuka avatar shinji iida avatar  avatar Peter Lin avatar  avatar Yasuhiro Matsunaga avatar  avatar

Watchers

James Cloos avatar  avatar Toshiyuki Shimono avatar Kairi Furui avatar

fepsuite's Issues

Error running fepgen in tools/prep_mutation_fep.py for mutations involving GLY

Hi,

When attempting to prepare mutations in PDB:7VYT(chain A, B, C) that involve mutating GLY to another residue or mutating a residue to GLY, an error occurs when running fepgen via the tools/prep_mutation_fep.py script.

For example, when trying to perform the B:S100G mutation, the following error is encountered:

python3 $FEPSUITE_DIR/feprest/tools/prep_mutation_fep.py --faspr $FEPSUITE_DIR/feprest/FASPR/FASPR --pdb 7vyt_colab.pdb --mutation B:S100G --ff amber14sb_OL15_fs1

Error details:
>> /path/to/fepgen -A ../wt/conf.pdb -B ../B:S100G/conf.pdb -a ../wt/topol_can.top -b ../B:S100G/topol_can.top -O fepbase.pdb -o fepbase.top --structureOA fepbase_A.pdb --structureOB fepbase_B.pdb --protein --honor-resnames --generate-restraint CA --disable-cmap-error
DEBUG: dictionary size: 30
Atoms assigned:
Assigned:
 A:SER:100:N -> A:GLY:100:N dist = 0
 A:SER:100:H -> A:GLY:100:H dist = 0
 A:SER:100:CA -> A:GLY:100:CA dist = 0
 A:SER:100:HA -> A:PHE:100:HA dist = 20.144
 A:SER:100:CB -> A:PHE:100:CB dist = 19.7428
 A:SER:100:C -> A:GLY:100:C dist = 0
 A:SER:100:O -> A:GLY:100:O dist = 0
Unssigned in A:
 A:SER:100:HB1
 A:SER:100:HB2
 A:SER:100:OG
 A:SER:100:HG
 A:PHE:100:HA
 A:PHE:100:CB
Unassigned in B:
 A:GLY:100:HA1
 A:GLY:100:HA2
*** Warning: unmatched connectivity ***
100:CA(A): N HA CB C 
100:CA(B): N C HA1 HA2 
Sanity check: 
i = 3080, Ai = 3080, Bi = 3080
BofA[Ai] = 3080, Anames[Ai] = CA
AofB[Bi] = 3080, Bnames[Bi] = CA
Raw As: 3078 3081 3082 3087
Raw Bs: 3078 3087 5036 5037
*** Warning: unmatched connectivity ***
100:HA(A): CA 
100:HA(B): CA 
Sanity check: 
i = 3081, Ai = 3081, Bi = 4851
BofA[Ai] = 4851, Anames[Ai] = HA
AofB[Bi] = 3081, Bnames[Bi] = HA
Raw As: 3080
Raw Bs: 4854
*** Warning: unmatched connectivity ***
100:CB(A): CA HB1 HB2 OG 
100:CB(B): CA HB1 HB2 CG 
Sanity check: 
i = 3082, Ai = 3082, Bi = 4852
BofA[Ai] = 4852, Anames[Ai] = CB
AofB[Bi] = 3082, Bnames[Bi] = CB
Raw As: 3080 3083 3084 3085
Raw Bs: 4854 4857 4858 4859
*** Warning: unmatched connectivity ***
100:CA(A): N HA CB C 
100:CA(B): HA CB N C 
Sanity check: 
i = 4854, Ai = 4854, Bi = 4850
BofA[Ai] = 4850, Anames[Ai] = CA
AofB[Bi] = 4854, Bnames[Bi] = CA
Raw As: 4852 4855 4856 4870
Raw Bs: 3081 3082 4852 4870
*** Warning: unmatched connectivity ***
100:HB1(A): CB 
100:HB1(B): CB 
Sanity check: 
i = 4857, Ai = 4857, Bi = 4853
BofA[Ai] = 4853, Anames[Ai] = HB1
AofB[Bi] = 4857, Bnames[Bi] = HB1
Raw As: 4856
Raw Bs: 3082
*** Warning: unmatched connectivity ***
100:HB2(A): CB 
100:HB2(B): CB 
Sanity check: 
i = 4858, Ai = 4858, Bi = 4854
BofA[Ai] = 4854, Anames[Ai] = HB2
AofB[Bi] = 4858, Bnames[Bi] = HB2
Raw As: 4856
Raw Bs: 3082
*** Warning: unmatched connectivity ***
100:CG(A): CB CD1 CD2 
100:CG(B): CB CD1 CD2 
Sanity check: 
i = 4859, Ai = 4859, Bi = 4855
BofA[Ai] = 4855, Anames[Ai] = CG
AofB[Bi] = 4859, Bnames[Bi] = CG
Raw As: 4856 4860 4868
Raw Bs: 3082 4860 4868
Number of warning exceeds max-warning
Traceback (most recent call last):
  File "/path/to/fepsuite/feprest/tools/prep_mutation_fep.py", line 447, in <module>
    dirname, refdirs = generator.generate(args.mutation, args.mutation, base_muts=args.base_mutation, base_name=args.base_mutation, base_mut_separator=args.base_mut_separator)
  File "/path/to/fepsuite/feprest/tools/prep_mutation_fep.py", line 376, in generate
    check_call_verbose([f"{self.fepsuite}/feprest/fepgen/fepgen"] + f"-A ../{fepdir[0]}/conf.pdb -B ../{fepdir[1]}/conf.pdb -a ../{fepdir[0]}/topol_can.top -b ../{fepdir[1]}/topol_can.top -O fepbase.pdb -o fepbase.top --structureOA fepbase_A.pdb --structureOB fepbase_B.pdb --protein --honor-resnames --generate-restraint CA --disable-cmap-error".split())
  File "/path/to/fepsuite/feprest/tools/prep_mutation_fep.py", line 33, in check_call_verbose
    subprocess.check_call(cmdline)
  File "/path/to/miniforge3/envs/fepsuite/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['fepsuite/feprest/fepgen/fepgen', '-A', '../wt/conf.pdb', '-B', '../B:S100G/conf.pdb', '-a', '../wt/topol_can.top', '-b', '../B:S100G/topol_can.top', '-O', 'fepbase.pdb', '-o', 'fepbase.top', '--structureOA', 'fepbase_A.pdb', '--structureOB', 'fepbase_B.pdb', '--protein', '--honor-resnames', '--generate-restraint', 'CA', '--disable-cmap-error']' returned non-zero exit status 1.

7vyt_protein_ABC.pdb.txt

Notably, the tutorial example using 2LZM works fine for mutations involving GLY, and other mutations in 7VYT that don't involve GLY also work without issues in the preparation step.

Is this error due to an issue with the PDB structure, or could it be a bug in fepgen?

I hope this issue report is helpful in some way. Please let me know if any additional details would be useful.

My bests.

CHARMM force field + fepgen (feprest) may cause instability

During the field-test I found that simulations get unstable with CHARMM force field, and stability further drops when the system contains the triple bond. This is presumably due to angle potential with k=0 and angle = 0 or = 180 gives unwanted force due to rounding errors. While the problem for normal angle was already fixed in 2020 and 2021+ but for Urey-Bradley potential it remains. Will add a patch upon next release.

[BUG] Installation command error and gromacs version issue

Dear Prof.Sakuraba, Thanks for the very detail installation guideline!

But while installing, I found out that a command in fepsuite/feprest/README has wrong:
line 57: g++ --ffast-math -O3 -o FASPR src/*.cpp
It should be g++ -ffast-math -O3 -o FASPR src/*.cpp

Also I've try before installing Gromacs 2020, 2020.2, and failed in the command
patch -p1 < /path/to/fepsuite/feprest/gmx_patch/gromacs-2020-hrex.patch and remaining command.
According to the file in gmx_patch, maybe it is better to specfiy the gromacs version should be 2020.7? Installing gromacs 2020.7 is totally works find to me.

Thanks for the beautiful code for the project!

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.