Replies: 11 comments 1 reply
-
According to
The targets are resampled, but this doesn't sound quite like the bag of conformations described in the paper. |
Beta Was this translation helpful? Give feedback.
-
Discussion Notes:
What we could do:
Clean Process:
For user friendliness: "You might want to provide one conformation, # conformations equal to ensemble, or any arbitrary # of conformations. You might want to explicitly map to ensemble members or you might want randomly assign ensembles." We provide:
Developer Notes:
|
Beta Was this translation helpful? Give feedback.
-
Discussion Notes: Priorities:
How to:
Minimum requirements:
To do:
|
Beta Was this translation helpful? Give feedback.
-
Note that there seems to be some (possibly incomplete) prior work on this. I just noticed |
Beta Was this translation helpful? Give feedback.
-
Looks to me that
Not sure if these classes are aiming to handle what we're interested in re: multiple initial conformations, I think we should still make a Although perhaps we can alter those classes enough to impact any initial bootstrapping... |
Beta Was this translation helpful? Give feedback.
-
I think the idea was that these would be the tools for managing the data associated with multiple ensemble members in an ensemble-aware fashion. We should try to determine how complete the implementation is, and see whether there are any design lessons to be learned from what is there. Beyond that, there's no priority on re-using or extending dead code, but we should try to tidy up a bit.
It appears that was at least the original intention. I'll look more closely in the next few days.
Certainly. You on it? ;-)
I don't currently have an opinion on what would be easier or cleaner. I.e. no preference on recycling bin or compost pile. |
Beta Was this translation helpful? Give feedback.
-
Notes from initial pull request:
|
Beta Was this translation helpful? Give feedback.
-
Discussion Notes:utilities.py
|
Beta Was this translation helpful? Give feedback.
-
TasksA: Update RunData (#23 ): a new field
We need to update the various member functions of RunData, and its documentation, to reflect this. B: Establish state at the level of C: Write some utility functions (#25) to collect the paths of prev_state files for completed iterations. D: Decide whether to randomly select an input from the ensemble or to use user-provided bootstrapping information, and update RunConfig.run(). Requires all of the above. E: (Optional) Provide utility functions for users to provide bootstrapping inputs more flexibly than an array of one TPR-file-per-member. Partial solution A: class SimulationInput(typing.TypedDict):
schema_version: typing.ClassVar[int]
tpr_file: str
checkpoint: typing.Optional[str]
def simulation_input(tpr_file: str, checkpoint: typing.Optional[str] = None) -> SimulationInput:
return {'schema_version': 2, 'tpr_file': tpr_file, 'checkpoint': checkpoint} Alternative: @dataclasses.dataclass
class SimulationInput:
schema_version: int = dataclasses.field(default=2, init=False)
tpr_file: str
checkpoint: typing.Optional[str] = None
# and use dataclasses.asdict() in RunData.as_dictionary() |
Beta Was this translation helpful? Give feedback.
-
update: we will have one simulation input record for each phase (as available) in the state file for a given iteration + ensemble member. |
Beta Was this translation helpful? Give feedback.
-
I'm having a hard time following this issue in its current form. I'm going to move it to a Discussion, and extract smaller issues from there. |
Beta Was this translation helpful? Give feedback.
-
We have been using a single starting conformation for entire ensembles of BRER sampling, and relying on the convergence phase to get us close to the target conformation for each production run.
However, the published method describes sampling starting conformations from a pool of conformations. We should clarify the degree to which this is or isn't supported in the current code, and consider more complete support before a 2.0 release.
Related to kassonlab/run_brer#18 : We should consider that the pool of conformations from which to sample is not necessarily coupled to the array of simulations for any one job submission. We should consider how, if at all, run_brer should track/manage persistent workflow data over multiple jobs.
Beta Was this translation helpful? Give feedback.
All reactions