LOOS  v2.3.2
loos::PDBTraj Class Reference

Class for intepreting separate PDB files as a single trajectory. More...

#include <pdbtraj.hpp>

Inheritance diagram for loos::PDBTraj:
Collaboration diagram for loos::PDBTraj:

Public Member Functions

 PDBTraj (const std::string &s, uint st, uint en, uint str=1)
 PDBTraj (const char *p, uint st, uint en, uint str=1)
std::string description () const
 Return a string describing trajectory format.
virtual uint nframes (void) const
 Number of frames in the trajectory.
virtual uint natoms (void) const

of atoms per frame

virtual std::vector< GCoordcoords (void)
 Returns the current frames coordinates as a vector of GCoords. More...
virtual void updateGroupCoords (AtomicGroup &g)
virtual bool hasPeriodicBox (void) const
virtual GCoord periodicBox (void) const
 Returns the periodic box for the current frame/trajectory.
virtual float timestep (void) const
 Timestep per frame.
std::string currentName (void) const
 Returns the auto-generated name for the file containing the current frame.
PDB currentFrame (void) const
 See CCPDB::currentFrame() for important notes.
virtual bool parseFrame (void)
 Parse an actual frame. More...
- Public Member Functions inherited from loos::Trajectory
 Trajectory (const std::string &s)
 Automatically open the file named s.
 Trajectory (std::istream &fs)
 Open using the given stream...
bool rewind (void)
 Rewinds the readFrame() iterator.
void updateGroupCoords (AtomicGroup &g)
 Update the coordinates in an AtomicGroup with the current frame. More...
void seekNextFrame (void)
void seekFrame (const uint i)
bool readFrame (void)
 Reads the next frame in a trajectory, returning false if at the end.
bool readFrame (const int i)
 Reads a specific frame in a trajectory. More...

Additional Inherited Members

- Protected Attributes inherited from loos::Trajectory
StreamWrapper ifs
bool cached_first
std::string _filename

Detailed Description

Class for intepreting separate PDB files as a single trajectory.

This class takes a set of PDB files following a specified naming pattern and accesses them as though they were a contiguous trajectory. You specify a template string (in boost::format format) and a start and end values along with an optional stride. Frame numbers are then mapped onto this range.

This first frame is read as part of initialization.

Access to the internal PDB object is permitted, however, see the CCPDB::currentFrame() for important information regarding its use.

Definition at line 55 of file pdbtraj.hpp.

Constructor & Destructor Documentation

loos::PDBTraj::PDBTraj ( const std::string &  s,
uint  st,
uint  en,
uint  str = 1 

Use the pattern s with starting index st, ending index en, and option stride str. As an example, suppose you have frames of the trajectory stored in PDB files named: -frame_000.pdb -frame_010.pdb -frame_020.pdb You can manipulate these as a trajectory using,

PDBTraj foo("frame_%03d.pdb", 0, 20, 10);

Definition at line 70 of file pdbtraj.hpp.

Member Function Documentation

std::vector< GCoord > loos::PDBTraj::coords ( void  )

Returns the current frames coordinates as a vector of GCoords.

Some formats, notably DCDs, do not interleave their coordinates. This means that this could be a potentially expensive operation.

Implements loos::Trajectory.

Definition at line 101 of file pdbtraj.cpp.

bool loos::PDBTraj::hasPeriodicBox ( void  ) const

Tests whether or not the given frame/trajectory has periodic boundary information. The presence of periodic box information does not necessarily indicate that said information has been read in yet. For example, the presence of crystal data is in the header so this can be detected before any frame is read, but the crystal data itself is only read when a frame is read in.

Implements loos::Trajectory.

Definition at line 40 of file pdbtraj.cpp.

bool loos::PDBTraj::parseFrame ( void  )

Parse an actual frame.

parseFrame() is expected to read in a frame through the Trajectory's StreamWrapper. It returns a bool indicating whether or not it was able to actually read a frame (i.e. false indicates EOF).

Implements loos::Trajectory.

Definition at line 83 of file pdbtraj.cpp.

void loos::PDBTraj::updateGroupCoords ( AtomicGroup g)

If the passed group to update is the same size as the trajectory frame, then the coordinates a copied straight out of the frame and into the group. If the sizes do not match, then the atomid's of the passed group are assumed to be indices (+1) into the frame.

Definition at line 32 of file pdbtraj.cpp.

The documentation for this class was generated from the following files: