16#ifndef RD_MONOMERINFO_H
17#define RD_MONOMERINFO_H
21#include <boost/shared_ptr.hpp>
28 typedef enum { UNKNOWN = 0, PDBRESIDUE, OTHER } AtomMonomerType;
34 : d_monomerType(typ), d_name(std::move(nm)) {}
36 : d_monomerType(other.d_monomerType), d_name(other.d_name) {}
38 const std::string &
getName()
const {
return d_name; }
39 void setName(
const std::string &nm) { d_name = nm; }
46 AtomMonomerType d_monomerType{UNKNOWN};
56 d_serialNumber(other.d_serialNumber),
57 d_altLoc(other.d_altLoc),
58 d_residueName(other.d_residueName),
59 d_residueNumber(other.d_residueNumber),
60 d_chainId(other.d_chainId),
61 d_insertionCode(other.d_insertionCode),
62 d_occupancy(other.d_occupancy),
63 d_tempFactor(other.d_tempFactor),
64 df_heteroAtom(other.df_heteroAtom),
65 d_secondaryStructure(other.d_secondaryStructure),
66 d_segmentNumber(other.d_segmentNumber) {}
69 std::string altLoc =
"", std::string residueName =
"",
70 int residueNumber = 0, std::string chainId =
"",
71 std::string insertionCode =
"",
double occupancy = 1.0,
72 double tempFactor = 0.0,
bool isHeteroAtom =
false,
73 unsigned int secondaryStructure = 0,
74 unsigned int segmentNumber = 0)
76 d_serialNumber(serialNumber),
77 d_altLoc(std::move(altLoc)),
78 d_residueName(std::move(residueName)),
79 d_residueNumber(residueNumber),
80 d_chainId(std::move(chainId)),
81 d_insertionCode(std::move(insertionCode)),
82 d_occupancy(occupancy),
83 d_tempFactor(tempFactor),
84 df_heteroAtom(isHeteroAtom),
85 d_secondaryStructure(secondaryStructure),
86 d_segmentNumber(segmentNumber) {}
90 const std::string &
getAltLoc()
const {
return d_altLoc; }
91 void setAltLoc(
const std::string &val) { d_altLoc = val; }
96 const std::string &
getChainId()
const {
return d_chainId; }
97 void setChainId(
const std::string &val) { d_chainId = val; }
120 unsigned int d_serialNumber = 0;
121 std::string d_altLoc =
"";
122 std::string d_residueName =
"";
123 int d_residueNumber = 0;
124 std::string d_chainId =
"";
125 std::string d_insertionCode =
"";
126 double d_occupancy = 1.0;
127 double d_tempFactor = 0.0;
129 bool df_heteroAtom =
false;
130 unsigned int d_secondaryStructure = 0;
131 unsigned int d_segmentNumber = 0;
RDKIT_GRAPHMOL_EXPORT std::ostream & operator<<(std::ostream &target, const RDKit::AtomPDBResidueInfo &apri)
allows AtomPDBResidueInfo objects to be dumped to streams
The abstract base class for atom-level monomer info.
void setName(const std::string &nm)
virtual ~AtomMonomerInfo()
const std::string & getName() const
AtomMonomerInfo(AtomMonomerType typ, std::string nm="")
virtual AtomMonomerInfo * copy() const
void setMonomerType(AtomMonomerType typ)
AtomMonomerInfo(const AtomMonomerInfo &other)
AtomMonomerType getMonomerType() const
Captures atom-level information about peptide residues.
void setIsHeteroAtom(bool val)
double getTempFactor() const
void setResidueNumber(int val)
void setOccupancy(double val)
AtomMonomerInfo * copy() const override
void setSecondaryStructure(unsigned int val)
double getOccupancy() const
void setInsertionCode(const std::string &val)
void setChainId(const std::string &val)
bool getIsHeteroAtom() const
int getResidueNumber() const
void setAltLoc(const std::string &val)
const std::string & getInsertionCode() const
const std::string & getChainId() const
void setSerialNumber(int val)
AtomPDBResidueInfo(const AtomPDBResidueInfo &other)
unsigned int getSegmentNumber() const
int getSerialNumber() const
AtomPDBResidueInfo(const std::string &atomName, int serialNumber=0, std::string altLoc="", std::string residueName="", int residueNumber=0, std::string chainId="", std::string insertionCode="", double occupancy=1.0, double tempFactor=0.0, bool isHeteroAtom=false, unsigned int secondaryStructure=0, unsigned int segmentNumber=0)
void setResidueName(const std::string &val)
const std::string & getResidueName() const
unsigned int getSecondaryStructure() const
void setSegmentNumber(unsigned int val)
const std::string & getAltLoc() const
void setTempFactor(double val)
#define RDKIT_GRAPHMOL_EXPORT