xmol::io::PdbInputFile class

PDB file.

Base classes

class xmol::trajectory::TrajectoryInputFile
Forward read-only re-enterable trajectory coordinate file.

Public types

enum class Dialect { STANDARD_V3, AMBER_99 }
PDB file dialect.

Constructors, destructors, conversion operators

PdbInputFile(std::string filename, Dialect dialect = Dialect::STANDARD_V3, bool read_now = true) explicit

Public functions

auto read() -> PdbInputFile&
auto frames() const -> const std::vector<Frame>&
auto n_frames() const -> size_t final
Number of frames.
auto n_atoms() const -> size_t final
Number of atoms per frame.
void read_frame(size_t index, Frame& frame) final
void advance(size_t shift) final

Enum documentation

enum class xmol::io::PdbInputFile::Dialect

PDB file dialect.

Enumerators
STANDARD_V3

AMBER_99

PDB v3.3 standard (http://www.wwpdb.org/documentation/file-format-content/format33/v3.3.html)

compatibility with AMBER tools

Function documentation

void xmol::io::PdbInputFile::read_frame(size_t index, Frame& frame) final

Read index 'th frame into coordinates

Note: trajectory without cell info should ignore cell argument. Precondition: index must match current position of internal data pointer

void xmol::io::PdbInputFile::advance(size_t shift) final

Advance internal data pointer by shift frames and be prepared to read coordinates

When internal data pointer shifted beyond n_frames() file handles must be closed

Note: advance(0) prepares file to be read by read_coordinates()