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

Feature merge #175

Closed
wants to merge 53 commits into from
Closed

Feature merge #175

wants to merge 53 commits into from

Conversation

chryswoods
Copy link
Contributor

This PR brings in a draft version of the new merge and mutate code. I'm submitting it to check that everything builds ok, and also to give a heads up to check things work with BioSimSpace. The only changes now are debugging and adding in more documentation and examples. There should be no major changes now before the end of month release.

  • I confirm that I have merged the latest version of devel into this branch before issuing this pull request (e.g. by running git pull origin devel): [y]
  • I confirm that I have added a test for any new functionality in this pull request: [y]
  • I confirm that I have added documentation (e.g. a new tutorial page or detailed guide) for any new functionality in this pull request: [n - will do in a separate branch]
  • I confirm that I have added a changelog entry to the changelog (we will add a link to this PR as part of the review): [n - will do in a separate branch]
  • I confirm that I have permission to release this code under the GPL3 license: [y]

Suggested reviewers:

@lohedges

Any additional context of information?

I don't plan to merge this - this is just to test things via GH Actions, plus to give you something stable against which to test BSS (i.e. this has changed the properties, and added lots of underlying code changes). I'll continue working in feature_merge2 adding in more tests, tutorials, optimisations etc. The real PR will be feature_merge2, which will hopefully be less work because you've already seen feature_merge.

…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
@chryswoods
Copy link
Contributor Author

CI errors look like a crash on Linux in mol/test_mapping.py, and on Windows pulling in kartograf doesn't work as it can't find a matching ambertools...

A good example of the benefit of a WIP PR...

@chryswoods
Copy link
Contributor Author

I've found and fixed the source of the crash locally, and have removed kartograf from Windows. Hopefully this will work...

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.

1 participant