-
Notifications
You must be signed in to change notification settings - Fork 6
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
One Sim, one Universe: remove multiple Universes functionality #47
Comments
Moving forward with this one upon release of |
Maybe it makes sense for there to be some sort of unsplittable object (ie how do I clearly know which the smallest matryoshka doll is). How is a nested Sim different from a Group of Sims? |
Sorry @richardjgowers, just now plugging back into every loose thread. I'm not sure I understand your question. Since As for Does that help? |
I was just thinking there might be value to creating an object ( In terms of semantics, if I've run multiple simulations, I expect to have to use a container ( So wrt your diagram up top, I'd expect I'm not sure if this breaks the entire model though, I don't really use MDS in complicated ways! |
@richardjgowers functionally you could do either way. You could use a |
something something something preferably one and only one way? |
@richardjgowers fair enough. We considered axing |
Sorry, I think I'm just playing devils avocado at this point. I just don't get how a Sim is multiple things, but maybe it makes sense with other data. |
I think support for axing multiple universes is universal. Like @richardjgowers , I also find it conceptually cleaner to use a If this is the last thing between us an a |
P.S.: I understand where @dotsdl is coming from with the hierarchical ordering in the nested Or in MDS you shield people completely from the |
@orbeckst yeah, the delay has been mostly in implementation, which involves ripping things out of the The main worry in keeping it is that the json schema is more complicated than it needs to be, so if we're going to break it, it needs to be now. |
Sure, break it now. |
@orbeckst the hierarchical ordering is one alternative, but certainly not the only one. Basically, Treants can be nested, and this just works. One could probably use Groups similarly. Depends on individual needs/style; we don't prescribe anything here. |
Aaaaand, they're gone: 7162a99 Need to update docs, then we'll make a release. |
Note: these changes break all Sims you may have been using up until this point. When the dust settles on the release I'll make a conversion script for getting usable Sims back out of existing ones. It should be easier to maintain changes in the future once we have releases to increment them on. |
Something that's become a clear problem from changes in upstream
datreant.core
is the stateSim
instances carry with them, this being their "active" universe. The original idea for this was that for a given simulation one might have several different post-processed trajectories, and therefore perhaps differentMDAnalysis.Universe
definitions along with their own selections. It's not a bad idea, but it means that you will get something different with different instances of the sameSim
when doingSim.universe
depending on what you've done previously.This is an issue especially when working with
Bundle
s ofSim
s, since doing set-style operations between differentBundle
s with overlapping sets ofSim
s (but not the same instances) means that one has no guarantee they get theSim
with the state they expect.I propose to eliminate the "multiple Universes" functionality from
Sim
objects. This will reduce the state of aSim
to that stored in its state file (good!) and that stored in its loadedUniverse
instance (not great, but with new features coming in upstream MDAnalysis, could be mitigated). It will also simplify theSim
API greatly.For those that use the "multiple Universes" functionality, (myself included), I think nesting
Sim
objects might be a good general solution. Something like:will work, and will be easy to use given work being done in upstream
datreant.core
.Thoughts?
The text was updated successfully, but these errors were encountered: