19 #ifndef OST_RESIDUE_IMPL_HH
20 #define OST_RESIDUE_IMPL_HH
22 #include <boost/enable_shared_from_this.hpp>
42 namespace ost {
namespace mol {
namespace impl {
48 public boost::enable_shared_from_this<ResidueImpl>
154 return torsion_list_;
195 return torsion_list_;
232 void RemoveAltPositionsForAtom(
const AtomImplPtr& atom);
void SetNumber(const ResNum &num)
void SetChemType(ChemType ct)
void DeleteAtom(const AtomImplPtr &atom)
geom::Vec3 GetCenterOfMass() const
bool SwitchAtomPos(const String &group)
void DeleteAtoms(const String &atom_name)
TorsionImplList & GetTorsionList()
Get all torsions this residue is involved in.
ResidueImpl(const EntityImplPtr &ent, const ChainImplPtr &ch, const ResNum &num, const ResidueKey &key)
std::vector< TorsionImplP > TorsionImplList
bool HasAltAtomGroup(const String &group) const
Test if residue has alternative atoms with a certain name.
Real GetAltAtomBFactor(const AtomImplPtr &atom, const String &group) const
AtomImplPtr FindAtom(const String &aname) const
Find atom by name.
Secondary structure types as defined by DSSP. For convenience, the enum values match the characters u...
TorsionImplP GetPhiTorsion() const
Get phi torsion.
EntityImplPtr GetEntity() const
boost::weak_ptr< ChainImpl > ChainImplW
boost::shared_ptr< ChainImpl > ChainImplPtr
int GetBondCount() const
Get number of bonds of this residue.
ChainImplPtr GetChain() const
void SetSecStructure(SecStructure ss)
Set secondary structure type.
Real GetFloatProperty(Prop::ID prop_id) const
void SetProtein(bool protein)
AtomImplPtr InsertAltAtom(const String &name, const String &alt_group, const geom::Vec3 &pos, const String &ele, Real occ, Real b_factor)
char GetOneLetterCode() const
int GetAtomCount() const
Get number of atoms of this residue.
boost::shared_ptr< AtomImpl > AtomImplPtr
ChemType GetChemType() const
const AtomImplList & GetAtomList() const
boost::shared_ptr< EntityImpl > EntityImplPtr
AtomImplPtr InsertAtom(const String &name, const geom::Vec3 &pos, const String &ele)
void SetOneLetterCode(const char olc)
boost::shared_ptr< TorsionImpl > TorsionImplP
Three dimensional vector class, using Real precision.
ChemClass GetChemClass() const
geom::Vec3 GetAltAtomPos(const AtomImplPtr &atom, const String &group) const
geom::Vec3 GetCenterOfAtoms() const
geom::Vec3 GetCentralNormal() const
void SetCentralAtom(const AtomImplPtr &a)
TorsionImplP GetOmegaTorsion() const
Retrieve omega torsion between this and the previous residue.
std::map< String, AtomGroup > AtomEntryGroups
std::vector< String > GetAltAtomGroupNames() const
String GetQualifiedName() const
Get fully qualified name of the residue, including chain name, residue name and number.
AtomImplList & GetAtomList()
std::vector< AtomImplPtr > AtomImplList
int GetIntProperty(Prop::ID prop_id) const
Real GetAltAtomOcc(const AtomImplPtr &atom, const String &group) const
const ResNum & GetNumber() const
const String & GetCurrentAltGroupName() const
SecStructure GetSecStructure() const
Get secondary structure type. By default, the residue is in COIL conformation.
TorsionImplP FindTorsion(const String &torsion_name) const
void AddTorsion(const TorsionImplP &torsion)
TorsionImplP GetPsiTorsion() const
Get psi torsion.
base class for the implementation
void AddAltAtomPos(const String &group, const AtomImplPtr &atom, const geom::Vec3 &position, Real occ, Real b_factor)
void SetIsLigand(bool flag)
const ResidueKey & GetKey() const
void UpdateTransformedPos()
Real GetAverageBFactor() const
retrieve average temperature factor of residue.
AtomImplPtr GetCentralAtom() const
const TorsionImplList & GetTorsionList() const
void SetKey(const ResidueKey &key)
boost::weak_ptr< EntityImpl > EntityImplW
geom::AlignedCuboid GetBounds() const
void Apply(EntityVisitor &v)
String GetStringProperty(Prop::ID prop_id) const
void SetChemClass(ChemClass cc)
const String & GetName() const
Get name of residue. At the moment an alias for GetKey.