Gromacs
2021.3
|
Provides basic functions to handle writing of new coordinate files.
The methods included in the coordinateio module implement the basics for manipulating and writing coordinate trajectory files and changing metadata in the underlying datastructures. Included are a container for storing modules that change trajectory data, as well as a manager to write output files that uses those methods. It can be used from within Framework for Trajectory Analysis (trajectoryanalysis), and uses methods from:
The methods in coordinateio provide the infrastructure to perform operations on coordinate data files and structures during data analysis. It implements ways to change the information in coordinate data structures as well as checking that both input data and output method are matching for a given coordinate file writing operation. For this components verify first that all the requirements can be satisfied. Then components are build that will change the coordinate information accordingly.
The main parts are the outputadapters implemented using the IOutputAdapter interface to change information in a local (deep) copy of t_trxframes stored in the coordinatefile.
Each OutputAdapter module implements the same IOutputAdapter interface and has to set its requirements for final processing as a flag from the enum in requirementflags. During processing, they implement a custom version of the processFrame directive that modifies the stored trajectory data before writing a new file to disk.
The interaction between the CoordinateFile and the OutputAdapter modules derived from IOutputAdapter is shown in the diagram below.
Once the CoordinateFile object and its registered modules are created, they can be used to iterate over input data to write new coordinate frames.
Classes | |
class | gmx::TrajectoryFileOpener |
Low level method to take care of only file opening and closing. More... | |
class | gmx::TrajectoryFrameWriter |
Writes coordinate frames to a sink, e.g. a trajectory file. More... | |
class | gmx::IOutputAdapter |
OutputAdapter class for handling trajectory file flag setting and processing. More... | |
class | gmx::OutputSelector |
OutputSelector class controls setting which coordinates are actually written. More... | |
class | gmx::SetAtoms |
SetAtoms class controls availability of atoms data. More... | |
class | gmx::SetBox |
Allows changing box information when writing a coordinate file. More... | |
class | gmx::SetForces |
SetForces class allows changing writing of forces to file. More... | |
class | gmx::SetPrecision |
SetPrecision class allows changing file writing precision. More... | |
class | gmx::SetStartTime |
SetStartTime class allows changing trajectory time information. More... | |
class | gmx::SetTimeStep |
SetTimeStep class allows changing trajectory time information. More... | |
class | gmx::SetVelocities |
SetVelocities class allows changing writing of velocities to file. More... | |
Files | |
file | coordinatefile.h |
CoordinateFile takes care of opening files and writing output to them. | |
file | ioutputadapter.h |
Declares gmx::IOutputAdapter interface for modifying coordinate file structures before writing them to disk. | |
file | outputadaptercontainer.h |
Declares gmx::OutputAdapterContainer, a storage object for multiple outputadapters derived from the IOutputadaper interface. | |
file | outputselector.h |
Declares gmx::OutputSelector. | |
file | setatoms.h |
Declares gmx::SetAtoms. | |
file | setbox.h |
Declares gmx::SetBox. | |
file | setforces.h |
Declares gmx::SetForces. | |
file | setprecision.h |
Declares gmx::SetPrecision. | |
file | setstarttime.h |
Declares gmx::SetStartTime. | |
file | settimestep.h |
Declares gmx::SetTimeStep. | |
file | setvelocities.h |
Declares gmx:SetVelocities. | |
file | outputadapters.h |
Public API convenience header for accessing outputadapters. | |
file | requirements.h |
Storage object for requirements to build coordinate file writer. | |