-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Representations and operations on collections of coordinates crop up in a handful of places in polymerist, often with significant overlap. It is intended to pull out and reduce redundant facility where possible, and to make coordinate operations as dependency-agnostic and class-agnostic as possible, ideally operating on (as close to) pure numpy array as possible. Namely, the following changes are proposed:
- Have get_lammps_unit_cell() return LatticeParameter objects, rather than raw unit cell data (also mentioned in Phasing out OpenMM-unit defaults throughout in favor of Pint-style units #13)
- Divest the base Coordinates class into:
- A module of coordinate operations which act directly on arrays
- Absorb maths.linearalg.affine into this module
- Also absorb numerical coponents of openfftools.boxvectors
- Protocol-based typehinting with generics to indicate Coordinate-like objects (with given numeric types) without the need for direct inheritance
- A module of coordinate operations which act directly on arrays
- Consider if parts or all of CubicIntegerLattice and LatticeParameters could be replaced by mBuild's Lattice data structure
- Make conformer-specific coordinate operations agnostic of molecular format
- Move functionality from rdcoords outside of rdutils (perhaps a "conformers" toplevel? subpackage?)
- Rewrite OpenFF Molecule-based topology_from_molecule_onto_lattice() based on this, specifically in a way that does NOT depend on conversion to-and-from RDKit (acts directly on Conformer)
Metadata
Metadata
Assignees
Labels
No labels