Open FelixMQuintana opened 1 year ago
Really nice, this will be a great enhancement.
I can took a look at you commits and I can also start adding stuff and implementations.
Here is the UML diagram I made:
And a link for you to check it out and edit if you'd like: https://lucid.app/lucidchart/aae34ca7-6dc9-4fb6-988b-0524ddf26756/edit?viewport_loc=-171%2C-67%2C889%2C1267%2C0_0&invitationId=inv_e19dfa8b-6bb7-4ce9-9268-dc31fab7783e#
I will think about what are some of the steps I can take on and I will post in next comment
Ok for now we are cleaning up the file handling. This will be useful as all the file handling stuff right now is spread out through EnGens class and it is very messy.
Two key things that are a part of the file handling:
Loading means taking the path and instantiating PyEmma trajectory (with pyemma.coordinates.source) or the PDB files (with mdtraj.load). This stuff for PDBs: https://github.com/KavrakiLab/EnGens-private/blob/9d418ffa569294163e005b97f9862816d33780e0/engens_code/engens/core/EnGens.py#L78-L87 This stuff for trajectories is a bit spread out through the code and looks like this: https://github.com/KavrakiLab/EnGens-private/blob/9d418ffa569294163e005b97f9862816d33780e0/engens_code/engens/core/EnGens.py#L215
Things to think about:
Aligning means aligning the structures within the trajectory or aligning the structures within the list of PDB files.
These functions: https://github.com/KavrakiLab/EnGens-private/blob/9d418ffa569294163e005b97f9862816d33780e0/engens_code/engens/core/EnGens.py#L149 https://github.com/KavrakiLab/EnGens-private/blob/9d418ffa569294163e005b97f9862816d33780e0/engens_code/engens/core/EnGens.py#L263
Things to think about:
I think action items can be as follows:
always keep in mind the possible memory problems
My branch provides examples of how to expand out your existing Engens class into more independent objects for better reusability. Work is not complete, just something to work off of.