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

Support for neutral point mutation #98

Closed
wants to merge 46 commits into from

Conversation

JohannesKarwou
Copy link
Member

@JohannesKarwou JohannesKarwou commented Nov 15, 2022

A first attempt, to support point mutations of simple RNA/DNA strands. The basic idea is to calculate RBFE between the complex (the double helix solvated in water) and the waterbox (the single strand solvated in water). In this case, there will be no specific small molecule parameters in a unk folder. There are a few modifications:

  • in the system.py file: I created a function called create_sdf_file which creates a sdf file of the rna/dna from the file provided in waterbox/step3_input.pdb. It will remove all atoms which are not part of segid RNAA!
  • in the state.py file: if there are no ligand specific folders, TF will not stop from running
  • in the mutate.py file: Some modifications when the ligand1 (the whole chain RNAA of system 1) is compared to ligand2 (the whole chain RNAA of system 2). It's now ensured that only atoms which are from the same residue are compared, that is currently solved a little bit complicated, but there are some special cases, e.g. there is a residue called GUA which has different atom types (depending on the position of GUA), we now have to ensure that always the same GUA residues are compared

ATTENTION Currently some parts are hard-coded, expecting always a chain called RNAA and one called RNAB, while RNAB is always considered to be identical for both systems.

self.get_common_core_idx_mol1() + self.dummy_region_cc1.lj_default,
self.get_common_core_idx_mol2() + self.dummy_region_cc2.lj_default,
self.get_common_core_idx_mol1(),
self.get_common_core_idx_mol2(),
self.psfs["m1"],
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if we can remove the self.dummy_region_cc1.lj_default variable, but in my opinion I think it's not necessary since this atom (the lj default atom) is not part of the common core anymore and thus can vary between different ligands

@codecov-commenter
Copy link

Codecov Report

Merging #98 (58191de) into master (8eb4ceb) will decrease coverage by 1.04%.
The diff coverage is 67.71%.

❗ Current head 58191de differs from pull request most recent head 5221929. Consider uploading reports for the commit 5221929 to get more accurate results

❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

Additional details and impacted files

@JohannesKarwou
Copy link
Member Author

Point mutations are now fully supported for the CHARMM Force Field in this PR #116

@JohannesKarwou JohannesKarwou deleted the support_point_mutation branch June 5, 2024 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants