salilab / pmi

Python Modeling Interface
https://integrativemodeling.org/nightly/doc/ref/namespaceIMP_1_1pmi.html
11 stars 11 forks source link

Port all systems to PMI2 #216

Closed benmwebb closed 4 years ago

benmwebb commented 7 years ago

We should port each of the IMP systems to PMI2. This should ensure that these systems continue to work in the future, expose any areas where PMI2 is lacking relative to PMI1, and allow us to promote PMI2 as the default PMI.

For each system this requires the following steps:

  1. Create a develop branch in the GitHub repository (the master branch is required to work with the last IMP stable release) and make any necessary changes there.
  2. Change scripts to use PMI2.
  3. Verify that the system behaves qualitatively the same as the old PMI1 system (one would assume very similar or identical representations, restraints and movers are set up, although the final models will doubtless be different).
  4. If something isn't right, fix PMI2 as necessary and add test cases to make sure it stays fixed.
  5. Once all the systems work, we'll make a new IMP release that incorporates all the needed changes, at which point I'll merge the changes back into the system's master branch.

@saltzberg has already volunteered to handle the IMP tutorial. I'll handle the glycophorin and integrin example systems to start with, before moving on to "real" systems.

procyon777 commented 7 years ago

I misunderstood what you suggested, and I deleted my previous comment. Sorry about it

saltzberg commented 7 years ago

I'll work on other systems that I'm familiar with, namely the mediator, exosome and phoq.

benmwebb commented 7 years ago

Since I'm not that familiar with PMI2, I added a wiki page cheat sheet for transitioning from PMI1 to PMI2. Please take a look at that wiki page and make corrections where necessary and add more notes. This will eventually go into the manual to help others transition to PMI2.

Obviously there won't always be a 1:1 mapping between PMI1 and PMI2 methods. Where this isn't the case, a note pointing to the new PMI2 way of doing things would be helpful.

Pellarin commented 7 years ago

We should follow the imp_tutorial/develop example as much as possible

benmwebb commented 6 years ago

Note that realistically it will take a long time to transition published applications to PMI2, and there's little benefit to doing so. salilab/imp#997 may be a better solution. We should definitely transition examples and tutorials though.

benmwebb commented 6 years ago

We should follow the imp_tutorial/develop example as much as possible

This would require the development version of the tutorial to work, which isn't yet the case. See the latest Travis failures.

benmwebb commented 4 years ago

All tutorials and examples should now use PMI2. Legacy systems will continue to use PMI1, although new applications use PMI2.