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