Skip to content

Support for Trajectories #2

@anabiman

Description

@anabiman

ATM the Molecule model stores atomic information for a single frame. Generalizing this to a Trajectory class that stores an array of Molecule would be inefficient especially for classical MD simulation in which the topology remains static. Therefore, I'm leaning towards refactoring the Molecule model into 2 by separating the topology from the atomic attributes (coordinates, velocities, etc.) which would then support time series. This would require either dropping qcelemental's Molecule model as a base, or asking @bennybp to change QCSchema.

The 3 core models would then become:

  • Molecule: stores coordinates, velocities, forces, Topology -> Efficient implementation for static topologies / closed systems typically used in the bio-MD world. Naturally supports trajectories.
  • Topology: stores Molecule connectivity-related info, symbols, residues, etc. -> Generalizable to support time-dependent topologies (Everything is a multi-dimensional array) for use with reactive forcefields, open systems for the materials community, etc.
  • ForceField: stores the inter-atomic potential params mapped to the structure. Important to keep this separate from the molecular topology.

Pinging @IAlibay @lilyminium @fiona-naughton

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions