-
Notifications
You must be signed in to change notification settings - Fork 34
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
Using Universe #2
Comments
Parser vs Reader is an annoyance, you can "parse coordinates" and "read a topology", the verb doesn't disambiguate. One option is we could rename these (at least in all documentation) to TopologyParser and CoordinateReader so it's extra clear what is getting parsed/read. The So I think you might find that the see also: |
Parsers vs Readers gets even more confusing when we use a single file for both topology and coordinate information. On the other hand, anyone doing MD knows about "topology files" so perhaps the difficulty is more making clear what out "static" data are (atom identities, bonds, charges, ...) and our "dynamic" ones (positions, velocities, forces, box information, ... and auxiliaries for the advanced crowd). I agree to drop the |
In MDAnalysis we talk of a hierarchy of containers: |
I agree that users are unlikely to interact with a Topology.
This seems like a good solution. I think I thought it was important to include this distinction because a trajectory is usually just some kind of Reader object pointing to a frame.
@orbeckst Are fragments used anywhere but in methods for periodic boundary conditions? |
On Sep 9, 2019, at 7:28 AM, Lily Wang ***@***.***> wrote:
@orbeckst <https://github.com/orbeckst> Are fragments used anywhere but in methods for periodic boundary conditions?
@jbarnoud used them extensively for various things, IIRC.
You should also be able to group by fragments.
But I don’t think they are part of the selection language. (That’s another area where harmonization or at least documentation would be good: How can I do X with (1) select_atoms(), (2) methods, (3) pandas-style slicing ag[ag.masses < 2].
|
I indeed use fragments on a regular basis because segments are very ill-defined. The meaning of a fragment varies depending on the input format, so fragment may be the most reliable way of identifying a molecule. |
I realized I mistyped. I meant to say that the meaning of a segment varies from one format to the other. |
@orbeckst @jbarnoud Thanks for summarising fragments and segments for me. There's a third concept in MDAnalysis: molecules. Am I correct that fragments and molecules are synonymous in MD theory but independent in Python implementation: segments are defined by I'm unfamiliar with MD segments. In theory, are they subsets of molecules, or can segments overlap different molecules? Is it the same case in MDAnalysis' implementation? Do the relationships in this diagram make sense? Each monospace greyscale shape is a real class in MDAnalysis, while the orange Helvetica fragment and molecule are just convenient concepts. In this diagram, a molecule is not a collection of segments, but rather a collection of residues. These are the methods that use fragments:
Methods that use molecules:
|
In principle you are right and segment, fragment, and molecule should be synonymous. In practice, however, they are not. A fragment is, indeed, defined by the connectivity. A molecule is, for now at least, a Gromacs only concept: it describes what is defined as a molecule in a Gromacs topology. A Gromacs molecule is, in most cases, a connected ensemble of atoms but it does not have to be. The meaning of a segment is different from one file format to another. Here is an example where all of these concepts are the same: take a multimeric protein where each monomer is attached to a ligand; you read the topology from a Gromacs TPR file. Here, each monomer and each ligand is a fragment, a molecule, and a segment. The segments match the definition of the molecules because it is how we read them from TPR files. If we read the segments from a PDB file, then the segments correspond to the chains so it is very likely that each segment will constitute of a monomer and its ligand. It happens that a multimeric protein is defined in a Gromacs topology as a single molecule. While it is not the default, but a user can choose to do so if they need to create specific interactions between the monomers or to make fixing periodic artefact a little bit easier. Finally, the fragment will be clear cuts in most cases. However, it can happen that some atom will be defined as virtual particles. In such a case, these atoms will not be connected to the rest of the molecule and will appear as their own fragments. This last case can most likely count as a but, though: MDAnalysis/mdanalysis#1954. So, yes, in principle, your schema is correct. But... |
Also, you can do |
Thank you, @jbarnoud . Just to clarify: the difference between
and
is what is included in the |
Fragments is defined by mda based on bonds, so it’s something we calculate as a derived quantity.
Molecules is something read from gromacs, so is more of a primary source where we’re blindly trusting the topology file.
I think.....
…
On Sep 28, 2019 at 23:46, <Lily Wang ***@***.***)> wrote:
Thank you, @jbarnoud (https://github.com/jbarnoud) . Just to clarify: the difference between
>
>
> take a multimeric protein where each monomer is attached to a ligand; you read the topology from a Gromacs TPR file. Here, each monomer and each ligand is a fragment, a molecule, and a segment.
>
>
and
>
>
> It happens that a multimeric protein is defined in a Gromacs topology as a single molecule.
>
>
is what is included in the moleculetype definition?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (#2?email_source=notifications&email_token=ACGSGBYPM4ADIL3OKB5WQIDQL7ND7A5CNFSM4ISSWN42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD73DY7Q#issuecomment-536231038), or mute the thread (https://github.com/notifications/unsubscribe-auth/ACGSGB4REXHJYNT7O5H3R6DQL7ND7ANCNFSM4ISSWN4Q).
|
@lilyminium Yes, "molecule" is based on the "moleculetype" section of a Gromacs topology. @richardjgowers I'd say so, yes. |
Story: As a molecular dynamics scientist who is familiar with packages such as
mdtraj
andcpptraj
, I want to quickly get information such as atom properties and coordinates, so that I can analyse my data.Acceptance criteria:
Topology
,Trajectory
,AtomGroup
, andUniverse
.I understand that there is a difference between a parser and a readernot important (see below)guess_bonds
,all_coordinates
,in_memory
.The text was updated successfully, but these errors were encountered: