Amino acid class

template<>
struct std::hash<mdk::AminoAcid>
#include <AminoAcid.hpp>

A std::hash instantiation for AminoAcid, allows us to use AminoAcid as keys in STL maps.

Public Functions

inline size_t operator()(mdk::AminoAcid const &aminoAcid) const
namespace mdk

Enums

enum AminoAcidIdx

An underlying amino acid index.

Values:

enumerator ALA
enumerator ARG
enumerator ASN
enumerator ASP
enumerator CYS
enumerator GLU
enumerator GLN
enumerator GLY
enumerator HIS
enumerator ILE
enumerator LEU
enumerator LYS
enumerator MET
enumerator PHE
enumerator PRO
enumerator SER
enumerator THR
enumerator TRP
enumerator TYR
enumerator VAL
struct AAAtomInfo
#include <AminoAcid.hpp>

Info pertaining to a single atom type in an amino acid (for example SG in cysteine).

Public Members

double radius
bool inBackbone = false
struct AminoAcidInfo
#include <AminoAcid.hpp>

Info pertaining to an amino acid type.

Public Members

double mass
std::unordered_set<std::string> heavyAtoms

A set of names of the heavy atoms for the amino acid.

std::unordered_map<std::string, AAAtomInfo> atomInfo

A map from the heavy atom names to the atom info structures.

class AminoAcid
#include <AminoAcid.hpp>

An object representing an amino acid type, along with a number of facilities, conversion from/to other types, general static data etc.

Public Functions

AminoAcid() = default
inline explicit constexpr AminoAcid(AminoAcidIdx type)
explicit operator AminoAcidIdx const&() const
inline constexpr AminoAcid(int8_t x)
operator int8_t() const
explicit AminoAcid(char code)
explicit operator char const&() const
explicit AminoAcid(std::string const &name)
explicit operator std::string() const
bool operator==(AminoAcid const &other) const
bool operator!=(AminoAcid const &other) const
bool operator<(AminoAcid const &other) const
bool operator<=(AminoAcid const &other) const
bool operator>(AminoAcid const &other) const
bool operator>=(AminoAcid const &other) const
AminoAcidInfo const &info() const

Public Static Functions

static std::vector<AminoAcid> aminoAcids()
static std::vector<AminoAcidIdx> types()
static std::string codes()
static bool isProper(std::string const &name)

Check whether a string corresponds to an amino acid proper name.

Parameters

name – Text to check.

Returns

true if name corresponds to an amino acid, false otherwise.

static std::vector<std::string> names()

Public Static Attributes

static constexpr const int N = 20

Private Members

AminoAcidIdx type

Friends

friend struct std::hash< AminoAcid >
namespace std
template<> AminoAcid >
#include <AminoAcid.hpp>

A std::hash instantiation for AminoAcid, allows us to use AminoAcid as keys in STL maps.

Public Functions

inline size_t operator()(mdk::AminoAcid const &aminoAcid) const