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

PR into main for 2024.2.0 release #207

Closed
wants to merge 169 commits into from
Closed

PR into main for 2024.2.0 release #207

wants to merge 169 commits into from

Conversation

chryswoods
Copy link
Contributor

2024.2.0 prep

…tomMapping

objects to mutate or merge molecules.
…ed at both end states.

This means we now have the full information in this object to be able to properly construct
merged and mutated molecules.

Added a unit test to verify this works for mapping an alanine to a lysine within a protein
(mapping works on subsets of molecules, meaning we can do a region of interest mapping
and merge just be passing in the residues that we want to map - see test_match.py)

Also, removed the C++ code for mutate as I realised that mutation is a merge
followed by extracting the perturbed state.

This is still a WIP - have got matching working, and have added the necessary info
to AtomMapping. The next step is to fill in the C++ code for merge based on the
information in AtomMapping.
…ntial energy

of internal terms via the Cursor
Gone a little down the rabbit hole in the merge code by adding in support for alternate
names for atoms and residues. This will enable the names of the perturbed end state
to be saved, so that we can get something sensible out when we extract the end states.

Will not compile
…ernate atom

and residue names. Needs testing, plus then integrating with the merge code
…t hole and ready

to go back to the merge code ;-)
…to store

the mappings - and then this could be passed to the properties so that they
can update themselves internally
Working on the code to move the merge into the properties themselves (where
they know what they are doing)
…ters.

Also beginning to fill in the various merge functions
…e, so that

we can emit debug, log, warning and error messages from C++ that correctly get
printed up in the Python layer (and can be properly customised and controlled
in the Python layer).

This is the first step to consolidating all of the messaging into a single
Python logging-compatible framework (i.e. also removing some of the rich.console
layer)
…Properties, plus have generated

the new wrappers. Mostly compiling now - just need to fill in missing atomidxmapping.h includes
in the wrappers.
…ses, and have

now added all of the python wrappers. This all compiles, links and passes unit
tests.

Next step is to actually write the underlying merge code...
…merge the connectivities

together, as well as create a single merged connectivity.
…st only in the

perturbed state are copied into the reference state
…re now merging

angles, dihedrals and impropers. But this all needs testing. Will do that after I have
added in the code to merge the CLJNBPairs
…bonds/angles/dihedrals for

atoms unmapped in the perturbed state copied from the match in the reference state
lohedges and others added 29 commits May 21, 2024 11:50
Changed `fix_ghost_sigmas` into `fix_perturbable_zero_sigmas` and moved the test into
PerturbableOpenMMMolecule. Added ability to pass `map` to this constructor so that
the option can be passed through to the right place.

Most of the diff is because I had to regeneate the wrappers, and so the MM wrappers
all got the new copy<T>() functions for their copy and deepcopy functions.
…eys is

not iterable, so should be a list.

Not triggering CI as this is a minor fix. Adding it here as it isn't
big enough to warrant a new branch and PR

[ci skip]
Add map option to prevent peturbation of the LJ sigma value for ghost atoms
…hangelog

and defined QT_NO_SIGNALS_SLOTS_KEYWORDS at the gccxml level when generating
headers.

[ci skip]
…AtomIdx order.

This works really well, except that it fails when merging submolecules, because the
CGAtomIdx order changes on commit. I need to fix this. I suspect it will be by converting
merged proteins into a single cutgroup?
…m is correct

for its position in the molecule (i.e. is one higher than the AtomIdx of the last
atom in the residue)
…plus legacy.System.System).

Also added "origin" and "zero" as recognised options for constructing vectors, e.g.

```
c = mols.cursor()
c.make_whole(center="origin")
```

will work.
@chryswoods chryswoods closed this Jun 29, 2024
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.

2 participants