Stardust is a library that defines Structure object that is fully featured for structural biology applications.
NOTE: This repo is a WIP, and should be considered hot lava code at the moment. Don't build on it. We are still working to get the concepts right!
Stardust implements two primary abstractions:
-
A structure module that helps manage topology, coordinate, B-factor, and occupancy information. It defines a powerful
Structureobject, as well as code that is crucial for converting and interoperating with different coordinate representations in use. -
losslab. This specifies an interface for loss/likelihood functions that facilitates interoperability between different refinement projects. Because these loss functions depend on attributes of a
Structure(for example, the Cartesian coordinate positions or B-factors), designing these interfaces for compatability withStructureenables maximum interoperability. Further, in addition to aStructureinterface, validlosses will have an overloaded pure-array interface, which maximizes compatability.
Stardust does not generate or sample structures/coordinates.
Stardust assumes your are working with a discrete list of cartesian coordinates that represent atomic positions. Models that use densities, continous distributions, etc. are out of scope.