Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: AlchemicalFE-Systems #220

Draft
wants to merge 6 commits into
base: release3
Choose a base branch
from
Draft

WIP: AlchemicalFE-Systems #220

wants to merge 6 commits into from

Conversation

RiesBen
Copy link
Collaborator

@RiesBen RiesBen commented Feb 23, 2022

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
Copy link
Collaborator Author

RiesBen commented Feb 23, 2022

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

@codecov
Copy link

codecov bot commented Feb 23, 2022

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%) ⬇️

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%) ⬇️
pygromos/files/topology/top.py 63.63% <0.00%> (-0.97%) ⬇️
...os/files/gromos_system/ff/serenityff/serenityff.py 12.90% <0.00%> (-0.87%) ⬇️
pygromos/files/blocks/imd_blocks.py 76.87% <0.00%> (-0.09%) ⬇️
pygromos/files/simulation_parameters/imd.py 65.24% <0.00%> (+0.24%) ⬆️

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.

@RiesBen RiesBen mentioned this pull request Feb 23, 2022
@lgtm-com
Copy link

lgtm-com bot commented Feb 23, 2022

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

new alerts:

  • 1 for Unused import
  • 1 for Syntax error

@candidechamp
Copy link
Collaborator

candidechamp commented Feb 24, 2022

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

@lgtm-com
Copy link

lgtm-com bot commented Feb 24, 2022

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

new alerts:

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

@RiesBen RiesBen removed their assignment Mar 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants