narupatools.openmm.converter

Conversion functions between OpenMM objects and Narupa objects.

Functions

frame_to_openmm_system

Generate an OpenMM system from a Narupa FrameData.

frame_to_openmm_topology

Convert a Narupa FrameData to an OpenMM topology.

get_openmm_masses

Get the masses defined in an OpenMM in daltons.

openmm_context_to_frame

Convert an OpenMM context to a Narupa FrameData.

openmm_simulation_to_frame

Convert an OpenMM simulation to a Narupa FrameData.

openmm_state_to_frame

Convert an OpenMM state object to a Narupa FrameData.

openmm_topology_to_frame

Convert an OpenMM topology object to a Narupa FrameData.

narupatools.openmm.converter.frame_to_openmm_system(frame: narupa.trajectory.frame_data.FrameData, /)openmm.openmm.System

Generate an OpenMM system from a Narupa FrameData.

Parameters

frame – Narupa FrameData containing masses.

Raises

ValueError – Frame does not have masses to create a system.

Returns

OpenMM system generated using masses.

narupatools.openmm.converter.frame_to_openmm_topology(frame: narupa.trajectory.frame_data.FrameData, /)openmm.app.topology.Topology

Convert a Narupa FrameData to an OpenMM topology.

Parameters

frame – FrameData to convert.

Returns

OpenMM topology populated from the provided FrameData.

narupatools.openmm.converter.get_openmm_masses(simulation: openmm.app.simulation.Simulation)numpy.ndarray[Any, numpy.dtype[numpy.float64]]

Get the masses defined in an OpenMM in daltons.

Parameters

simulation – OpenMM simulation to extract masses from.

narupatools.openmm.converter.openmm_context_to_frame(context: openmm.openmm.Context, /, *, fields: infinite_sets.infinite_sets.InfiniteSet[str] = frozenset({'particle.positions', 'system.box.vectors'}), existing: Optional[narupa.trajectory.frame_data.FrameData] = None)narupa.trajectory.frame_data.FrameData

Convert an OpenMM context to a Narupa FrameData.

By converting the context instead of the state, a state can be generated which only has the data that is asked for in properties.

Parameters
  • context – OpenMM context to convert.

  • fields – Properties to read from frame.

  • existing – Prexisting FrameData to populate.

Returns

FrameData with requested fields populated from an OpenMM context.

narupatools.openmm.converter.openmm_simulation_to_frame(simulation: openmm.app.simulation.Simulation, /, *, fields: infinite_sets.infinite_sets.InfiniteSet[str] = frozenset({'bond.count', 'bond.pairs', 'chain.count', 'chain.names', 'particle.count', 'particle.elements', 'particle.names', 'particle.residues', 'residue.chains', 'residue.count', 'residue.names', 'system.box.vectors'}), existing: Optional[narupa.trajectory.frame_data.FrameData] = None)narupa.trajectory.frame_data.FrameData

Convert an OpenMM simulation to a Narupa FrameData.

Parameters
  • simulation – OpenMM simulation to convert.

  • fields – Properties to read from frame.

  • existing – Prexisting FrameData to populate.

Returns

FrameData with requested fields populated from an OpenMM simulation.

narupatools.openmm.converter.openmm_state_to_frame(state: openmm.openmm.State, /, *, fields: infinite_sets.infinite_sets.InfiniteSet[str] = frozenset({'particle.positions', 'system.box.vectors'}), existing: Optional[narupa.trajectory.frame_data.FrameData] = None)narupa.trajectory.frame_data.FrameData

Convert an OpenMM state object to a Narupa FrameData.

Parameters
  • state – OpenMM state to convert.

  • fields – A list of properties to include.

  • existing – Prexisting FrameData to populate.

Returns

FrameData populated with the requested properties that could be obtained from the state object.

narupatools.openmm.converter.openmm_topology_to_frame(topology: openmm.app.topology.Topology, /, *, fields: infinite_sets.infinite_sets.InfiniteSet[str] = frozenset({'bond.count', 'bond.pairs', 'chain.count', 'chain.names', 'particle.count', 'particle.elements', 'particle.names', 'particle.residues', 'residue.chains', 'residue.count', 'residue.names', 'system.box.vectors'}), existing: Optional[narupa.trajectory.frame_data.FrameData] = None)narupa.trajectory.frame_data.FrameData

Convert an OpenMM topology object to a Narupa FrameData.

Parameters
  • topology – OpenMM topology to convert.

  • fields – List of properties to include.

  • existing – Prexisting FrameData to populate.

Returns

FrameData populated with the requested properties that could be obtained from the topology object.

Classes

OpenMMConverter()

Frame converter for the OpenMM package.