indigoX
Residue Class Reference

#include <indigox/classes/residue.hpp>

Classes

struct  Impl
 

Public Types

using ResidueAtoms = eastl::vector_set< Atom >
 
enum  Type
 

Public Member Functions

 Residue ()=default
 
 Residue (const Residue &)=default
 
 Residue (Residue &&)=default
 
 ~ Residue ()=default
 
const ResidueAtomsGetAtoms () const
 
Type GetType ()
 Determine the type of the residue. More...
 
bool HasAtom (const Atom &atom) const
 
bool IsAlphaAminoAcid ()
 
bool IsAminoAcid ()
 Determine if the residue is an amino acid. More...
 
bool IsBetaAminoAcid ()
 
bool IsDeltaAminoAcid ()
 
bool IsGammaAminoAcid ()
 
bool IsLipid ()
 
bool IsNucleicAcid ()
 
bool IsSugar ()
 
 operator bool () const
 
bool operator!= (const Residue &res) const
 
bool operator< (const Residue &res) const
 
bool operator<= (const Residue &res) const
 
Residueoperator= (const Residue &)=default
 
Residueoperator= (Residue &&)=default
 
bool operator== (const Residue &res) const
 
bool operator> (const Residue &res) const
 
bool operator>= (const Residue &res) const
 

Friends

class cereal::access
 
class Molecule
 
std::ostream & operator<< (std::ostream &os, const Residue &res)
 

Member Typedef Documentation

◆ ResidueAtoms

using ResidueAtoms = eastl::vector_set<Atom>

Member Enumeration Documentation

◆ Type

enum Type
strong
Enumerator
Unspecified 
AminoAcid 
NucleicAcid 
Sugar 
Lipid 
NonSpecific 

Constructor & Destructor Documentation

◆ Residue() [1/3]

Residue ( )
default

◆ Residue() [2/3]

Residue ( const Residue )
default

◆ Residue() [3/3]

Residue ( Residue &&  )
default

◆ ~ Residue()

~ Residue ( )
default

Member Function Documentation

◆ GetAtoms()

const ResidueAtoms& GetAtoms ( ) const

◆ GetType()

Type GetType ( )

Determine the type of the residue.

Checks if the residue matches each of the specific residue types, in order. The first type which matches is the returned type. If you want to check if a residue is also another type, use the IsType methods directly.

◆ HasAtom()

bool HasAtom ( const Atom atom) const

◆ IsAlphaAminoAcid()

bool IsAlphaAminoAcid ( )

◆ IsAminoAcid()

bool IsAminoAcid ( )

Determine if the residue is an amino acid.

The algorithm for determining if a residue is an amino acid is as follows. First, all potential carboxylic acid and amine atoms are identified. For carbon atoms, they are classed as potential carboxylic acid atoms if they are 3 co-ordinate, have a carbonyl bond and another neighbouring oxygen atom. The additional neighbouring oxygen atom can also be accounted for by a bond between this residue and the next. For nitrogen atoms, they are classed as potential amine atoms if they have a hydrogen bond or a bond to the next residue. This allows for proline to be identified as an amino acid even though it technically is not.

Once all potential carboxylic and amine atoms are identified, shortest paths between all pairs of them are checked. If one of these paths consists of only carbon atoms, the residue is regarded as being an amino acid.

◆ IsBetaAminoAcid()

bool IsBetaAminoAcid ( )

◆ IsDeltaAminoAcid()

bool IsDeltaAminoAcid ( )

◆ IsGammaAminoAcid()

bool IsGammaAminoAcid ( )

◆ IsLipid()

bool IsLipid ( )

◆ IsNucleicAcid()

bool IsNucleicAcid ( )

◆ IsSugar()

bool IsSugar ( )

◆ operator bool()

operator bool ( ) const
inline

◆ operator!=()

bool operator!= ( const Residue res) const
inline

◆ operator<()

bool operator< ( const Residue res) const

◆ operator<=()

bool operator<= ( const Residue res) const
inline

◆ operator=() [1/2]

Residue& operator= ( const Residue )
default

◆ operator=() [2/2]

Residue& operator= ( Residue &&  )
default

◆ operator==()

bool operator== ( const Residue res) const

◆ operator>()

bool operator> ( const Residue res) const

◆ operator>=()

bool operator>= ( const Residue res) const
inline

Friends And Related Function Documentation

◆ cereal::access

friend class cereal::access
friend

◆ Molecule

friend class Molecule
friend

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Residue res 
)
friend

The documentation for this class was generated from the following file: