Git Product home page Git Product logo

safep_tutorial's Introduction

SAFEP_tutorial

This repository contains all the files needed to calculate the binding free energy of phenol to lysozyme following the SAFEP Tutorial. Available here: https://www.biorxiv.org/content/10.1101/2022.12.09.519809v1

Related tools can be found in the SAFEP repository: https://github.com/BranniganLab/safep

Structure of supplementary files:

├── Binding_Tutorial.pdf
├── common
│   ├── CHARMM36m_FF
│   │   ├── par_all36_carb.prm
│   │   ├── par_all36_cgenff.prm
│   │   ├── par_all36_lipid.prm
│   │   ├── par_all36_na.prm
│   │   ├── par_all36_prot.prm
│   │   ├── toppar_all36_lipid_cationpi_wyf.str
│   │   └── toppar_water_ions_namd.str
│   ├── common_config.namd
│   ├── fep.tcl
│   ├── protein_tilt.colvars
│   ├── structures
│   │   ├── phenol_gas_phase.pdb
│   │   ├── phenol_gas_phase.psf
│   │   ├── phenol_lysozyme.pdb
│   │   ├── phenol_lysozyme.psf
│   │   ├── phenol_water.pdb
│   │   └── phenol_water.psf
│   ├── TI.tcl
│   └── TI_template.colvars
├── file_structure.txt
├── README.md
├── SAFEP_Tutorial_Notebook.ipynb
├── stepA_create_DBC
│   ├── inputs
│   │   ├── unbiased_sample.dcd
│   │   └── vmdscene.tga
│   ├── sample_outputs
│   │   └── DBC_restraint.colvars
│   └── step0_unbiased_simulation
│       ├── inputs
│       │   └── run_unbiased.namd
│       └── outputs
├── stepB_alchemy_site
│   ├── inputs
│   │   └── run.namd
│   ├── outputs
│   └── sample_outputs
│       ├── alchemy_site.fepout
│       ├── alchemy_site.pdb
│       ├── bound_convergence.pdf
│       └── bound_generalFigures.pdf
├── stepC_restraint_perturbation
│   ├── inputs
│   │   └── run.namd
│   ├── outputs
│   └── sample_outputs
│       ├── DBC_restraint_RFEP.colvars
│       ├── RFEP.colvars.traj
│       └── TI_general.pdf
├── stepD_alchemy_bulk
│   ├── inputs
│   │   └── run.namd
│   ├── outputs
│   └── sample_outputs
│       ├── alchemy_bulk.fepout
│       ├── alchemy_bulk.pdb
│       ├── bulk_convergence.pdf
│       ├── bulk_convergence.svg
│       └── bulk_generalFigures.pdf
├── text_src
│   ├── Figures
│   │   ├── AFEP2.png
│   │   ├── AFEP2-prob.png
│   │   ├── AFEP2-solution.png
│   │   ├── AFEP-decoupling-lambda.png
│   │   ├── AFEP-decoupling-sum.png
│   │   ├── DBC.png
│   │   ├── DBCsym.png
│   │   ├── example_symmetry_labels.png
│   │   ├── histogram_nosym.png
│   │   ├── histogram.png
│   │   ├── HSELEU.jpg
│   │   ├── ipynb-cell4.png
│   │   ├── ipynb.png
│   │   ├── lyso5-new.jpg
│   │   ├── phenol-permutation.jpg
│   │   ├── phenol-permutation-new.jpg
│   │   ├── probability.png
│   │   ├── RFEP-log.png
│   │   ├── RFEP.png
│   │   ├── scheme.jpg
│   │   ├── scheme.vsdx
│   │   ├── thermo-cycle.jpg
│   │   └── Thermo-cycle.vsdx
│   ├── livecoms.cls
│   ├── livecoms-template-tutorials.tex
│   ├── Ref.bib
│   ├── tutorial.tex
│   └── vancouver-livecoms.bst
└── titration_curve.pdf

23 directories, 70 files

safep_tutorial's People

Contributors

ezrystiago avatar jessesandberg avatar jhenin avatar minae9i avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

safep_tutorial's Issues

Unexpected behavior when using Colvars with FEP

In the branch colvarsIssue, stepD input/run.namd

#############################################################

COLVARS

#############################################################

colvars on
if {$useSampleFiles} {
colvarsConfig ../../stepA_create_DBC/sample_outputs/DBC_restraint.colvars
} else {
colvarsConfig ../../stepA_create_DBC/outputs/DBC_restraint.colvars
}
cv configfile ../../common/protein_tilt.colvars

#############################################################

FEP PARAMETERS

#############################################################

source ../../common/fep.tcl

alch on
alchType FEP

results in the error:

TCL: Setting parameter alch to on
FATAL ERROR: Alchemy must be enabled at startup to disable and re-enable in script.
FATAL ERROR: Alchemy must be enabled at startup to disable and re-enable in script.
[Partition 0][Node 0] End of program

BUT commenting out "cv configfile ..." runs normally (but without the Colvars defined in protein_tilt.colvars.

Protein tilt restraint documentation clarification

We need to clarify that these lines are essential:

colvars on
colvarsConfig $CVconfig

But this line can be removed if the user doesn't have protein restraints:

cv configfile ../../common/protein_tilt.colvars

TODOs based on tester feedback

  • Fix kJ/mol instead of kcal/mol in notebook
  • Step A.1.d : say where the « atomPermutation » line should be added
  • Step B.2.a and other namd runs: change path of log file, add error output
  • Step C.3.a : Error in the Colvar module, due to typo in TI.tcl « outputEnergies on » instead of « outputEnergy on »
  • Step E.6 : The abscissa axis is in mM in the PDF tutorial but the notebook outputs it in μM

Notebook Variable Names

Some variable names are reused in the notebook. Those should be changed to avoid mismatched analysis (especially if the user isn't running everything sequentially).

Typos and other revisions

  • broken links
  • "constant constant"
  • "TI" is used before "thermodynamic integration"
  • Sign error in caption of thermodynamic cycle
  • Axis labels for COM and DBC time course
  • Missing resids for system building (truncation of lysozyme)
  • Cite Zacharias .. McCammon 94 and Ebrahimi & Henin 22 in the discussion of softcore potential
  • Clarify KDE in the summary figure
  • Remove x from the dG_V function and just use $L~V_R$
  • Y axis label of bottom plot in figure 7 (should be partial G/partial lambda)
  • emphasize reversibility in discussion of IDWS (justification, appendix B1)

TI calculation has cosmesis/sustainability issues

I'm already starting on this in refactorTI here and alternativeTI on the safep repo.

  1. The TI blocks in the notebook are long and hard to read
  2. The notebook block requires manual editing for alternative lambda schedules, force constants, etc. (error-prone!)
  3. The back-end assumes an accurate lambda schedule. The schedule is currently generated in a hacky way in the notebook, but is WRONG for many samples near the points that the lambda value changes. This doesn't affect the overall estimate for large data sets, but shouldn't be present.

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.