PyGromosTools icon indicating copy to clipboard operation
PyGromosTools copied to clipboard

WIP: AlchemicalFE-Systems

Open RiesBen opened this issue 3 years ago • 5 comments

Description

This branch contains the automatic generation functions for pairwise and multistate Alchemical Free Energy calculations approaches like: single, hybrid and dual topology.

We want to merge the code for this by @candidechamp and me.

Todos

Notable points that this PR has either accomplished or will accomplish.

  • [ ] Utils:

    • [ ] add PertubedAtoms
    • [ ] generate-topology
    • [ ] generate-ptp
    • [ ] generate-cnf
  • [ ] PyGromosPP-Functions:

    • [ ] generate_dual_topology
    • [ ] generate_single_topology
    • [ ] generate_hybrid_topology
  • [ ] Gromos System:

    • [ ] Alchemical System

Status

  • [ ] Ready to go

RiesBen avatar Feb 23 '22 14:02 RiesBen

Hi @SalomeRonja, just a headsup, this is what we discussed on the PyGromosDay. :)

RiesBen avatar Feb 23 '22 14:02 RiesBen

Codecov Report

Merging #220 (173d118) into release3 (4ebc4ff) will decrease coverage by 0.16%. The diff coverage is 0.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##           release3     #220      +/-   ##
============================================
- Coverage     53.59%   53.42%   -0.17%     
============================================
  Files            93       94       +1     
  Lines         12794    12658     -136     
============================================
- Hits           6857     6763      -94     
+ Misses         5937     5895      -42     
Flag Coverage Δ
unittests 53.42% <0.00%> (-0.17%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...s/gromos/pyGromosPP/generate_FETopologyApproach.py 0.00% <0.00%> (ø)
pygromos/simulations/modules/ti_modules.py 94.87% <0.00%> (-5.13%) :arrow_down:
pygromos/files/topology/top.py 63.63% <0.00%> (-0.97%) :arrow_down:
...os/files/gromos_system/ff/serenityff/serenityff.py 12.90% <0.00%> (-0.87%) :arrow_down:
pygromos/files/blocks/imd_blocks.py 76.87% <0.00%> (-0.09%) :arrow_down:
pygromos/files/simulation_parameters/imd.py 65.24% <0.00%> (+0.24%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 4ebc4ff...173d118. Read the comment docs.

codecov[bot] avatar Feb 23 '22 14:02 codecov[bot]

This pull request introduces 2 alerts when merging 773c17b62b9413ed3e09f1535fad7ffe231eb6ee into 683c52eea0addcc0376c6790641a36d5e0176b3b - view on LGTM.com

new alerts:

  • 1 for Unused import
  • 1 for Syntax error

lgtm-com[bot] avatar Feb 23 '22 15:02 lgtm-com[bot]

The previous commit contains code (still under development) to generate hybrid topologies. The code doing the work is found in hybrid_topology_maker.py and can be called from the notebook generate_hybrid_topologies.ipynb.

note: This code requires input files which were too big to place on github, but anyone interested in testing this can email me.

The plan is to combine the code building the topology up such that it can prepare hybrid and dual topologies.

As input, a user will provide a list of .cnf and .top files of each ligand to be merged/added (note: all parameters need to be the same in the single ligand topologies).

Then the idea is to have the following steps:

  1. Maximum common substructure search to determine which part of the molecule is the core. note: this step needs to allow manual involvement after the step if a user is not ok with the MCS results.

  2. Build a list of PerturbedAtoms which contain the information related to which atoms map onto which. note: for hybrid topologies, the "core" atoms are added to this list during the MCS step, and the -R group atoms are added during the building of the new topology as each new ligand atom is added.

  3. Build the new topology step by step based on the atom mappings and the single topologies

  4. Build hybrid conformations based on single conformations and atom mappings

  5. Build perturbation topology (.ptp) based on atom mappings and hybrid topology

candidechamp avatar Feb 24 '22 13:02 candidechamp

This pull request introduces 16 alerts when merging 173d1183935e556977efbf89e7f91adea0e14c3f into 741acbf240d4ff0c3bbab2a4a6dc6b45f7b3fa34 - view on LGTM.com

new alerts:

  • 8 for Unreachable code
  • 6 for Unused import
  • 1 for Unused local variable
  • 1 for Syntax error

lgtm-com[bot] avatar Feb 24 '22 13:02 lgtm-com[bot]