BALL::PDBFile Class Reference

PDB file class. More...

#include <PDBFile.h>

Inheritance diagram for BALL::PDBFile:
Inheritance graph
[legend]

List of all members.


Classes

struct Default
Default values for PDBFile options. More...
struct Option
Symbolic names for option keys. More...

Public Types

typedef HashMap< PDB::Integer,
PDBAtom * >
PDBAtomMap
typedef Quadruple< String,
PDB::Character, PDB::Integer,
PDB::AChar >
ResidueQuadruple
typedef HashMap
< ResidueQuadruple, Residue * >
ResidueMap
typedef std::list
< ResidueQuadruple >
QuadrupleList
typedef std::list
< SecondaryStructure * >
SecStructList

Public Member Functions

virtual bool hasFormat ()
Check whether the current file is in PDB format.
Constructurs and destructor.
PDBFile ()
Default constructor.
PDBFile (const String &filename, File::OpenMode open_mode=std::ios::in) throw (Exception::FileNotFound)
File-like constructor.
PDBFile (const Options &new_options)
Construct with options.
PDBFile (const PDBFile &file) throw (Exception::FileNotFound)
Copy constructor.
virtual ~PDBFile ()
Destructor.
Assignment.
virtual void clear (int state)
Clear the stream state.
virtual void clear ()
Clear all members and close the file.
Accessors.
virtual float getVersion () const
Returns the version number this PDB file reader is able to read.
void selectModel (Index index)
Selects one of multiple models for reading.
Index getSelectedModel () const
Return the model currently selected.
void selectAllModels ()
Selects all models for reading.
Index getCurrentModel () const
Returns the number of the model weare currently reading. (?????).
char * getRecordString ()
Return a mutable pointer to the line buffer.
const char * getRecordString () const
Return a constant pointer to the line buffer.
Index getRecordNumber () const
Returns the number of the record we are currently reading.
PDB::RecordType getRecordType () const
Returns the type of the record we are currently reading.
virtual const char * getAtomElementSymbol (const PDB::Atom atom_name, PDB::Atom element_symbol)
Returns the element symbol of an atom.
virtual const char * getAtomName (const PDB::Atom atom_name)
Returns the atom name.
virtual char getAtomRemotenessIndicator (const PDB::Atom atom_name)
Extract the PDB remoteness indicator of an atom record.
virtual short getAtomBranchDesignator (const PDB::Atom atom_name)
Extract the PDB branch designator of an atom record.
Size countRecordFields () const
Returns the number of record fields.
Size countRecord (PDB::RecordType record_type, bool from_begin_of_file=true)
Returns the number of records of type record_type in the file being read.
Size countRecords (bool from_begin_of_file=true)
Returns the number of all records in the file.
Methods for parsing individual records.
These methods are typically required if you want to implement your own PDB parser (derived from PDBFile or PDBFile).

bool parseLine (const char *line, Size size, const char *format_string,...)
Parse a line from a PDBFile. This is a helper function for readLine().
bool readLine (char *line, Size size, bool extract_values)
Read and parse a line from a PDB file.
bool readFirstRecord (bool read_values=true)
Read the firts record of a file.
bool readNextRecord (bool read_values=true)
Read the next record of a PDB file.
bool readRecords ()
Reads all records of a file.
virtual bool readUnknownRecord (const char *line)
Called for unknown PDB records.
virtual bool readInvalidRecord (const char *line)
Called an invalid record by simply returning true.
bool skipCurrentRecord ()
Skip the current record.
virtual bool interpretRecord (const PDB::RecordANISOU &record)
Reads an anisotropic temperature factor record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordANISOU &record)
virtual bool parseRecordANISOU (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordATOM &record)
Reads an atom record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordATOM &record)
virtual bool parseRecordATOM (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordAUTHOR &record)
Reads an author record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordAUTHOR &record)
virtual bool parseRecordAUTHOR (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordCAVEAT &record)
Reads a caveat record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordCAVEAT &record)
virtual bool parseRecordCAVEAT (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordCISPEP &record)
Reads a record specifying peptides in cis conformation.
virtual bool fillRecord (const char *line, Size size, PDB::RecordCISPEP &record)
virtual bool parseRecordCISPEP (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordCOMPND &record)
Reads the title record containing macroscopic compoubd information.
virtual bool fillRecord (const char *line, Size size, PDB::RecordCOMPND &record)
virtual bool parseRecordCOMPND (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordCONECT &record)
Reads a connection record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordCONECT &record)
virtual bool parseRecordCONECT (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordCRYST1 &record)
Reads the record specifying the unit cell parameters, space group, and Z value for crystographically determined structures.
virtual bool fillRecord (const char *line, Size size, PDB::RecordCRYST1 &record)
virtual bool parseRecordCRYST1 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordDBREF &record)
Reads a record containing database cross-reference links.
virtual bool fillRecord (const char *line, Size size, PDB::RecordDBREF &record)
virtual bool parseRecordDBREF (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordEND &record)
Reads the record defining the end of a PDB file.
virtual bool fillRecord (const char *line, Size size, PDB::RecordEND &record)
virtual bool parseRecordEND (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordENDMDL &record)
Reads a model ending record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordENDMDL &record)
virtual bool parseRecordENDMDL (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordEXPDTA &record)
Reads a record containing data about the experiment.
virtual bool fillRecord (const char *line, Size size, PDB::RecordEXPDTA &record)
virtual bool parseRecordEXPDTA (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordFORMUL &record)
Reads a record containing the chemical formula of a non-standard group.
virtual bool fillRecord (const char *line, Size size, PDB::RecordFORMUL &record)
virtual bool parseRecordFORMUL (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordFTNOTE &record)
Reads a record containing a footnote.
virtual bool fillRecord (const char *line, Size size, PDB::RecordFTNOTE &record)
virtual bool parseRecordFTNOTE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHEADER &record)
Reads the header recors which contains the idCode field, entry classification and deposition date.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHEADER &record)
virtual bool parseRecordHEADER (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHELIX &record)
Reads a helix defining record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHELIX &record)
virtual bool parseRecordHELIX (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHET &record)
Reads a record defining a non-standard residue.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHET &record)
virtual bool parseRecordHET (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHETATM &record)
Reads atomic coordinates for atoms in non-standard groups.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHETATM &record)
virtual bool parseRecordHETATM (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHETNAM &record)
Reads a record defining the name of a non-standard group.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHETNAM &record)
virtual bool parseRecordHETNAM (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHETSYN &record)
Reads a record defining synonyms of a non-standard group.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHETSYN &record)
virtual bool parseRecordHETSYN (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordHYDBND &record)
Reads a record defining a hydrogen bond.
virtual bool fillRecord (const char *line, Size size, PDB::RecordHYDBND &record)
virtual bool parseRecordHYDBND (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordJRNL &record)
Reads a record containing a journal reference.
virtual bool fillRecord (const char *line, Size size, PDB::RecordJRNL &record)
virtual bool parseRecordJRNL (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordKEYWDS &record)
Reads a record containing keywords for this entry.
virtual bool fillRecord (const char *line, Size size, PDB::RecordKEYWDS &record)
virtual bool parseRecordKEYWDS (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordLINK &record)
Reads a record containing supplemental connectivity information.
virtual bool fillRecord (const char *line, Size size, PDB::RecordLINK &record)
virtual bool parseRecordLINK (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMASTER &record)
Reads the master record containing numerous counts for bookkeeping purposes.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMASTER &record)
virtual bool parseRecordMASTER (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMODEL &record)
Reads a record indicating the beginning of a new model.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMODEL &record)
virtual bool parseRecordMODEL (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMODRES &record)
Reads a record identifying residue modifications.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMODRES &record)
virtual bool parseRecordMODRES (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMTRIX1 &record)
Reads a record defining transformations expressing non-crystallographic symmetry.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMTRIX1 &record)
virtual bool parseRecordMTRIX1 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMTRIX2 &record)
Reads a record defining transformations expressing non-crystallographic symmetry.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMTRIX2 &record)
virtual bool parseRecordMTRIX2 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordMTRIX3 &record)
Reads a record defining transformations expressing non-crystallographic symmetry.
virtual bool fillRecord (const char *line, Size size, PDB::RecordMTRIX3 &record)
virtual bool parseRecordMTRIX3 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordOBSLTE &record)
Reads a record indicating that this structura has been withdrawnform the database.
virtual bool fillRecord (const char *line, Size size, PDB::RecordOBSLTE &record)
virtual bool parseRecordOBSLTE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordORIGX1 &record)
Reads a record defining the transformation from the orthogonal coordinates contained in the entry to the submitted coordinates.
virtual bool fillRecord (const char *line, Size size, PDB::RecordORIGX1 &record)
virtual bool parseRecordORIGX1 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordORIGX2 &record)
Reads a record defining the transformation from the orthogonal coordinates contained in the entry to the submitted coordinates.
virtual bool fillRecord (const char *line, Size size, PDB::RecordORIGX2 &record)
virtual bool parseRecordORIGX2 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordORIGX3 &record)
Reads a record defining the transformation from the orthogonal coordinates contained in the entry to the submitted coordinates.
virtual bool fillRecord (const char *line, Size size, PDB::RecordORIGX3 &record)
virtual bool parseRecordORIGX3 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordREMARK &record)
Reads a record containing remarks.
virtual bool fillRecord (const char *line, Size size, PDB::RecordREMARK &record)
virtual bool parseRecordREMARK (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordREVDAT &record)
Reads a record containing a revision history.
virtual bool fillRecord (const char *line, Size size, PDB::RecordREVDAT &record)
virtual bool parseRecordREVDAT (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSCALE1 &record)
Reads a scale transformation record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSCALE1 &record)
virtual bool parseRecordSCALE1 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSCALE2 &record)
Reads a scale transformation record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSCALE2 &record)
virtual bool parseRecordSCALE2 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSCALE3 &record)
Reads a scale transformation record.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSCALE3 &record)
virtual bool parseRecordSCALE3 (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSEQADV &record)
Sequence information conflicts between atom records and dbref content.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSEQADV &record)
virtual bool parseRecordSEQADV (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSEQRES &record)
Reads a record containing the sequence of residues.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSEQRES &record)
virtual bool parseRecordSEQRES (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSHEET &record)
Reads a record defining a beta-sheet.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSHEET &record)
virtual bool parseRecordSHEET (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSIGATM &record)
Reads a record giving the standard deviation of atomic coordinates.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSIGATM &record)
virtual bool parseRecordSIGATM (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSIGUIJ &record)
Reads a record giving the standard deviation of anisotropic temperature factors.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSIGUIJ &record)
virtual bool parseRecordSIGUIJ (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSITE &record)
Reads a record containing groups comprising a site.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSITE &record)
virtual bool parseRecordSITE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSLTBRG &record)
Reads a record defining a salt bridge.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSLTBRG &record)
virtual bool parseRecordSLTBRG (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSOURCE &record)
Reads a record specifies the chemical/biological source of each molecule in the entry.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSOURCE &record)
virtual bool parseRecordSOURCE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSPRSDE &record)
List of entries this file supersedes.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSPRSDE &record)
virtual bool parseRecordSPRSDE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordSSBOND &record)
Reads a record specifying a disulfide bond.
virtual bool fillRecord (const char *line, Size size, PDB::RecordSSBOND &record)
virtual bool parseRecordSSBOND (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordTER &record)
Reads a record terminating molecule.
virtual bool fillRecord (const char *line, Size size, PDB::RecordTER &record)
virtual bool parseRecordTER (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordTITLE &record)
Reads a record specifying the title of the experiment or anaysis.
virtual bool fillRecord (const char *line, Size size, PDB::RecordTITLE &record)
virtual bool parseRecordTITLE (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordTURN &record)
Reads a record specifying a turn.
virtual bool fillRecord (const char *line, Size size, PDB::RecordTURN &record)
virtual bool parseRecordTURN (const char *line, Size size)
virtual bool interpretRecord (const PDB::RecordTVECT &record)
Reads a record specifying the translation vector for infinite covalently connected structures.
virtual bool fillRecord (const char *line, Size size, PDB::RecordTVECT &record)
virtual bool parseRecordTVECT (const char *line, Size size)
Reading and writing
PDBFile & operator>> (Protein &protein) throw (Exception::ParseError)
Read a protein from the file.
PDBFile & operator>> (Molecule &molecule) throw (Exception::ParseError)
Read a molecule from the file.
PDBFile & operator>> (System &system) throw (Exception::ParseError)
Stream operator for reading a system.
PDBFile & operator<< (const Protein &protein) throw (File::CannotWrite)
Write a protein to the file.
PDBFile & operator<< (const System &system) throw (File::CannotWrite)
Stream operator for writing a system of molecules.
PDBFile & operator<< (const Molecule &molecule) throw (File::CannotWrite)
Stream operator for writing a system of molecules.
bool read (Protein &protein) throw (Exception::ParseError)
bool read (Molecule &protein) throw (Exception::ParseError)
bool read (System &system) throw (Exception::ParseError)
Read a system.
Molecule * read () throw (Exception::ParseError)
Read a molecule.
bool write (const Protein &protein) throw (File::CannotWrite)
bool write (const Molecule &molecule) throw (File::CannotWrite)
Write a molecule.
bool write (const System &system) throw (File::CannotWrite)
Write the molecules of a system.
bool write (const System &system, const PDBInfo &info) throw (File::CannotWrite)

Public Attributes

Options
Options options
The options for parsing the file.
PDBInfo info
Summary information on the last file read.

Protected Member Functions

PDBFile (const File &pdbf) throw (Exception::FileNotFound)
PDBFile & operator= (const PDBFile &pdbf)
void init_ ()
void postprocessSSBonds_ ()
void postprocessHelices_ ()
void postprocessSheetsTurns_ (QuadrupleList &sectruct_list, SecStructList &new_secstruct_list)
void postprocessRandomCoils_ ()
void write_ (const AtomContainer &ac, const PDBInfo &info=PDBInfo())
void writeRecord_ (PDB::RecordType record,...)
Write a record to the stream using a predefined record type.
void writeCONECTRecords_ (PDB::Structure::ConectAtomList &cl)
void writeRawRecord_ (const char *format, const char *tag,...)
Write a record to the stream using a predefined format string.
void addAllRecords_ (const PDBInfo &info, PDB::RecordType type)
Add all records of a specific type in the info object to the current stream.
void writeRecord_ (const PDB::RecordSEQRES &seqres)
Write a SEQRES record to the current stream.
void writeRecord_ (const PDB::RecordHELIX &helix)
Write a HELIX record to the current stream.
void writeRecord_ (const PDB::RecordSHEET &helix)
Write a SHEET record to the current stream.
void writeRecord_ (const PDB::RecordTURN &helix)
Write a TURN record to the current stream.
void writeRecord_ (const PDB::RecordSSBOND &helix)
Write a SSBOND record to the current stream.
void writeRecord_ (const PDB::RecordCONECT &helix)
Write a CONECT record to the current stream.
void writeAtom_ (const PDB::Structure::AtomEntry &atom, PDB::AdditionalAtomInfo &cr, bool hetatm=false)
void writeTitleSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writePrimaryStructureSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeHeterogenSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeSecondaryStructureSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeConnectivityAnnotationSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeMiscellaneousFeaturesSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeCrystallographicSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeCoordinateSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeConnectivitySection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeBookKeepingSection_ (const PDB::Structure &structure, const PDBInfo &info)
void writeSEQRESSection_ (const std::vector< std::pair< char, String > > &chain_residues)
void writeHELIXSection_ (const PDB::Structure &structure)
void writeSHEETSection_ (const PDB::Structure &structure)
void writeTURNSection_ (const PDB::Structure &structure)
void writeSSBONDSection_ (const PDB::Structure &structure)
void writeHYDBNDSection_ (const PDB::Structure &structure)
void writeSLTBRGSection_ (const PDB::Structure &structure)

Static Protected Member Functions

static void extractStructure_ (const AtomContainer &ac, PDB::Structure &structure)
Extract the atom and bond information from an atom container prior to writing a PDB file.
static bool isHeteroAtom_ (const Atom &atom)
Determine whether an atom is a hetero atom or part of a standard amino acid or nucleotide.
static void updateAdditionalAtomInfo_ (const PDB::Structure::AtomEntry &atom, PDB::AdditionalAtomInfo &cr)
Compute the current name and id of chain and residue.

Protected Attributes

char line_buffer_ [PDB::SIZE_OF_PDB_LINE_BUFFER]
String residue_name_
Index residue_sequence_number_
Index current_model_
Index current_record_
Size record_fields_
PDB::RecordType current_record_type_
PDB::RecordTypeFormat compare_record_type_format_
PDBAtomMap PDB_atom_map_
ResidueMap residue_map_
QuadrupleList ssbond_list_
QuadrupleList helix_list_
QuadrupleList sheet_list_
QuadrupleList turn_list_
SecStructList new_helix_secstruc_list_
SecStructList new_sheet_secstruc_list_
SecStructList new_turn_secstruc_list_
PDB::AChar insertion_code_
PDB::Character chain_ID_
PDB::Integer sequence_number_
PDB::AChar code_
Protein * current_protein_
const Protein * current_const_protein_
Chain * current_chain_
const Chain * current_const_chain_
Residue * current_residue_
const Residue * current_const_residue_
PDBAtom * current_PDB_atom_
const Atom * current_const_atom_
String name_
HashMap< const Atom *, Position > atom_map_
PDB::BookKeeping book_keeping_
Book keeping struct for the number of records written.
int verbosity_
_Verbosity level
bool strict_line_checking_
Index selected_model_
The selected model_.
bool store_skipped_records_
Store the skipped records in info?
bool ignore_xplor_pseudo_atoms_
Ignore XPLOR pseudo atoms?
bool parse_partial_charges_
Read partial charges from cols 76-80?

Detailed Description

PDB file class.

Member Function Documentation

static void BALL::PDBFile::extractStructure_ ( const AtomContainer & ac,
PDB::Structure & structure
) [static, protected]

Extract the atom and bond information from an atom container prior to writing a PDB file.

This method is called by write_.

virtual const char* BALL::PDBFile::getAtomElementSymbol ( const PDB::Atom atom_name,
PDB::Atom element_symbol
) [virtual]

Returns the element symbol of an atom.

If element_symbol is invalid we try to reconstruct the element symbol from the atom name.

static bool BALL::PDBFile::isHeteroAtom_ ( const Atom & atom ) [static, protected]

Determine whether an atom is a hetero atom or part of a standard amino acid or nucleotide.

This test is performed by checking for the corresponding properties defined in Residue.

PDBFile& BALL::PDBFile::operator<< ( const Molecule & molecule ) throw (File::CannotWrite) [virtual]

Stream operator for writing a system of molecules.

Calls write()

Reimplemented from BALL::GenericMolFile.

PDBFile& BALL::PDBFile::operator<< ( const System & system ) throw (File::CannotWrite) [virtual]

Stream operator for writing a system of molecules.

Calls write(const System& system) const .

Reimplemented from BALL::GenericMolFile.

PDBFile& BALL::PDBFile::operator>> ( System & system ) throw (Exception::ParseError) [virtual]

Stream operator for reading a system.

Calls read(System&) .

Reimplemented from BALL::GenericMolFile.

Molecule* BALL::PDBFile::read ( ) throw (Exception::ParseError) [virtual]

Read a molecule.

This method will load the first (or the next, on subsequent invocation) molecule from the file. If the file format does not support multiple molecules, only the first call to read will be successful. This method will create an instance of molecule and its the user's responsibility to destroy that molecule.

Returns:
a pointer to a molecule, 0 if the file was not open, empty, or at its end
Exceptions:
Exception::ParseError if the contents of the file could not be parsed

Reimplemented from BALL::GenericMolFile.

bool BALL::PDBFile::read ( System & system ) throw (Exception::ParseError) [virtual]

Read a system.

This method will read all molecules contained in the file and add them to the system.

The default implementation calls read() until false is returned and adds the molecules read to the system.
Returns:
true if anything could be read
Exceptions:
Exception::ParseError if the file could not be parsed while reading a molecule

Reimplemented from BALL::GenericMolFile.

bool BALL::PDBFile::readRecords ( )

Reads all records of a file.

Returns:
true if all records were parsed without error

false otherwise

virtual bool BALL::PDBFile::readUnknownRecord ( const char * line ) [virtual]

Called for unknown PDB records.

The default implementation does nothing, it always returns true.

Returns:
true

void BALL::PDBFile::selectModel ( Index index )

Selects one of multiple models for reading.

Default behaviour is reading model 1. If a file does not contain a MODEL specifier, all coordinates will be assigned to model 1.

bool BALL::PDBFile::skipCurrentRecord ( )

Skip the current record.

If storeSkippedRecords is set to true, the records are added to the skipped records of info. Otherwise, they are just ignored. This method should be called by those readRecord methods that want to skip a particular record (this is the default behavior implemented in PDBFile).

Returns:
true

static void BALL::PDBFile::updateAdditionalAtomInfo_ ( const PDB::Structure::AtomEntry & atom,
PDB::AdditionalAtomInfo & cr
) [static, protected]

Compute the current name and id of chain and residue.

This method guesses more or less correct values for names and IDs or uses decent default values. It does so only of the pointers to the residue and chain in cr differ from the values in atom.

bool BALL::PDBFile::write ( const System & system ) throw (File::CannotWrite) [virtual]

Write the molecules of a system.

If the file format does not support multiple molecules in a single file, a warning should be printed and only the first molecule should be stored.

The default implementation iterates over the system and calls write(const Molecule& molecule) for each molecule.

Reimplemented from BALL::GenericMolFile.

bool BALL::PDBFile::write ( const Molecule & molecule ) throw (File::CannotWrite) [virtual]

Write a molecule.

Repeated invocations of this method append molecules to the same file.

The default implementation does nothing.

Reimplemented from BALL::GenericMolFile.

void BALL::PDBFile::writeRawRecord_ ( const char * format,
const char * tag,
...
) [protected]

Write a record to the stream using a predefined format string.

You should not use this method unless you know what you are doing. Use writeRecord_ instead, as this method also updates the record book keeping required for the MASTER record. If you use it, you'll have to update the book keeping structure yourself!

void BALL::PDBFile::writeRecord_ ( PDB::RecordType record,
...
) [protected]

Write a record to the stream using a predefined record type.

This method updates the internal book keeping data structure required for writing the MASTER record.

See also:
PDB::RecordType

Generated on Thu Aug 6 18:30:30 2009 for BALL by doxygen 1.5.8