/usr/include/BALL/FORMAT/PDBInfo.h is in libball1.4-dev 1.4.1+20111206-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_FORMAT_PDBINFO_H
#define BALL_FORMAT_PDBINFO_H
#include <vector>
#include <stdexcept>
#ifndef BALL_FORMAT_PDBRECORDS_H
# include <BALL/FORMAT/PDBRecords.h>
#endif
#ifndef BALL_FORMAT_PDBDEFS_H
# include <BALL/FORMAT/PDBdefs.h>
#endif
#ifndef BALL_CONCEPT_PERSISTENCEMANAGER_H
# include <BALL/CONCEPT/persistenceManager.h>
#endif
namespace BALL
{
/** PDB information class.
This class contains holds summary information
on a PDB file read by \link GenericPDBFile \endlink or
\link PDBFile \endlink as well as unparse records.
*/
class BALL_EXPORT PDBInfo
: public PersistentObject
{
public:
BALL_CREATE(PDBInfo)
/** @name Constructors and Destructor */
//@{
///
PDBInfo() ;
///
PDBInfo(const PDBInfo& pdbi) ;
///
virtual ~PDBInfo() ;
/// Reset all attributes to their initial state
virtual void clear();
//@}
/** Assignment
*/
//@{
///
PDBInfo& operator = (const PDBInfo& rhs);
//@}
/** Predicates
*/
//@{
/// Equality operator
bool operator == (const PDBInfo& rhs) const;
/// Inequality operator
bool operator != (const PDBInfo& rhs) const;
//@}
/** Accessors
*/
//@{
/// Return the unparsed records
PDBRecords& getSkippedRecords() { return skipped_records_; }
/// Return the unparsed records
const PDBRecords& getSkippedRecords() const { return skipped_records_; }
/// Return the unparsed records
PDBRecords& getInvalidRecords() { return invalid_records_; }
/// Return the unparsed records
const PDBRecords& getInvalidRecords() const { return invalid_records_; }
/// Return the filename
const String& getFilename() const { return filename_; }
/// Set the filename
void setFilename(const String& filename) { filename_ = filename; }
/// Return the PDB ID
const String& getID() const { return id_; }
/// Set the PDB ID
void setID(const String& id) { id_ = id; }
/// Return the total number of records read
Size getNumberOfRecords() const { return number_of_records_; }
/// Set the number of records
void setNumberOfRecords(Size n) { number_of_records_ = n; }
/// Return the number of models
Size getNumberOfModels() const { return number_of_models_; }
/// Return the number of models
Size& getNumberOfModels() { return number_of_models_; }
/// Set the number of models
void setNumberOfModels(Size n) { number_of_models_ = n; }
/// Return the number of the last model read
Position getCurrentModel() const { return model_read_; }
/// Return the number of the last model read
Position& getCurentModel() { return model_read_; }
/// Set the number of the model read
void setCurrentModel(Position n) { model_read_ = n; }
/// Return the number of atom records read
Size getNumberOfATOMRecords() const { return number_of_atom_records_; }
/// Return the number of atom records read
Size& getNumberOfATOMRecords() { return number_of_atom_records_; }
/// Set the number of atom records read
void setNumberOfATOMRecords(Size n) { number_of_atom_records_ = n; }
/// Return the number of hetatm records read
Size getNumberOfHETATMRecords() const { return number_of_hetatm_records_; }
/// Return the number of hetatm records read
Size& getNumberOfHETATMRecords() { return number_of_hetatm_records_; }
/// Set the number of hetatm records read
void setNumberOfHETATMRecords(Size n) { number_of_hetatm_records_ = n; }
/// Return the name of the system as contained in the HEADER record
const String& getName() const { return name_; }
/// Set the name of the system. This is written to the HEADER record (truncated!).
void setName(const String& name) { name_ = name; }
/** Return a list of indices matchin a specific record type.
This list is constructed by a linear search over all records currently
stored in the skipped indices.
*/
std::list<Position> getRecordIndices(PDB::RecordType record) const;
//@}
/** @name Storable Interface
*/
//@{
/** Persistent stream writing.
*/
//void write(PersistenceManager& pm) const;
void persistentWrite(PersistenceManager& pm, const char* name) const;
/** Persistent stream reading.
*/
//bool read(PersistenceManager& pm);
void persistentRead(PersistenceManager& pm);
//@}
protected:
/// Skipped PDB records (not parsed)
PDBRecords skipped_records_;
/// Invalid PDB records (tried to parse, but failed)
PDBRecords invalid_records_;
/// Filename
String filename_;
/// PDB ID
String id_;
/// Name
String name_;
/// Total file size in bytes
Size number_of_records_;
/// Total number of models
Size number_of_models_;
/// Model last read
Position model_read_;
/// Number of ATOM records
Size number_of_atom_records_;
/// Number of HETATM records
Size number_of_hetatm_records_;
};
} // namespace BALL
#endif // BALL_FORMAT_PDBINFO_H
|