indigoX
indigox Namespace Reference

Namespace for all graph related functionality. More...

Namespaces

 algorithm
 
 graph
 
 test
 
 utils
 

Classes

class  _ElectronGraph
 
class  _NTDecomp
 
class  _PermutableGraph
 
class  _TDecomp
 
class  Angle
 
class  Athenaeum
 Athenaeum class for fragment storage in CherryPicker algorithm. More...
 
class  Atom
 
class  AtomIterator
 
class  Bond
 
class  Dihedral
 
class  ElectronOpt
 
class  Element
 Read only class for storing elemental information. More...
 
struct  ElnVertProp
 
class  FFAngle
 
class  FFAtom
 
class  FFBond
 
class  FFDihedral
 
class  Forcefield
 
class  Fragment
 Fragment class for CherryPicker parameterisation algorithm. More...
 
class  Molecule
 
struct  NTDVertProp
 
class  ParamAngle
 
class  ParamAtom
 
class  ParamBond
 
class  ParamDihedral
 
class  ParamMolecule
 
class  PeriodicTable
 Singleton class for storing and access elemental information. More...
 
struct  PermVertProp
 
class  Residue
 
struct  TDVertProp
 

Typedefs

typedef utils::Graph< ElnVertProp_ElnGraph
 
typedef utils::Graph< NTDVertProp, utils::NoProperty, utils::DirectedGraph > _NTDGraph
 
typedef utils::Graph< PermVertProp_PermGraph
 
typedef utils::Graph< TDVertProp, utils::NoProperty, utils::UndirectedGraph > _TDGraph
 
using AngleType = FFAngle::Type
 
using AtomStereo = indigox::Atom::Stereo
 Type for the stereochemistry enum of an atom. More...
 
using BondOrder = indigox::Bond::Order
 Type for the order of a bond. More...
 
using BondStereo = indigox::Bond::Stereo
 Type for the stereochemistry enum of a bond. More...
 
using BondType = FFBond::Type
 
using DihedralType = FFDihedral::Type
 
typedef std::shared_ptr< _ElectronGraphElectronGraph
 
typedef std::vector< PermVertexElimOrder
 
typedef _ElnGraph::EdgeType ElnEdge
 
typedef _ElnGraph::EdgeIter ElnEdgeIter
 
typedef _ElnGraph::EdgeIterPair ElnEdgeIterPair
 
typedef _ElnGraph::NbrsIterPair ElnNbrsIterPair
 
typedef _ElnGraph::NbrsIter ElnNeighboursIter
 
typedef _ElnGraph::VertType ElnVertex
 
typedef _ElnGraph::VertIter ElnVertexIter
 
typedef _ElnGraph::VertIterPair ElnVertIterPair
 
using FFFamily = Forcefield::Family
 
using FFParam = std::initializer_list< double >
 type for collection of parameter inputs More...
 
typedef std::shared_ptr< _NTDecompNTDecomp
 
typedef _NTDGraph::EdgeType NTDEdge
 
typedef _NTDGraph::EdgeBool NTDEdgeBool
 
typedef _NTDGraph::EdgeIter NTDEdgeIter
 
typedef _NTDGraph::EdgeIterPair NTDEdgeIterPair
 
typedef _NTDGraph::NbrsIterPair NTDNbrsIterPair
 
typedef _NTDGraph::NbrsIter NTDNeighboursIter
 
typedef _NTDGraph::PredIter NTDPredecessorsIter
 
typedef _NTDGraph::PredIterPair NTDPredIterPair
 
typedef _NTDGraph::VertBool NTDVertBool
 
typedef _NTDGraph::VertType NTDVertex
 
typedef _NTDGraph::VertIter NTDVertexIter
 
typedef _NTDGraph::VertIterPair NTDVertIterPair
 
typedef _NTDGraph::VertTypePair NTDVertPair
 
typedef _PermGraph::EdgeIterPair PermEdgeIterPair
 
typedef _PermGraph::NbrsIter PermNbrsIter
 
typedef _PermGraph::NbrsIterPair PermNbrsIterPair
 
typedef std::shared_ptr< _PermutableGraphPermutableGraph
 
typedef _PermGraph::VertType PermVertex
 
typedef _PermGraph::VertIter PermVertIter
 
typedef _PermGraph::VertIterPair PermVertIterPair
 
using ResidueType = Residue::Type
 
using sAthenaeum = std::shared_ptr< Athenaeum >
 
using sFragment = std::shared_ptr< Fragment >
 
using State = uint32_t
 
typedef std::shared_ptr< _TDecompTDecomp
 
typedef _TDGraph::EdgeType TDEdge
 
typedef _TDGraph::EdgeBool TDEdgeBool
 
typedef _TDGraph::EdgeIter TDEdgeIter
 
typedef _TDGraph::EdgeIterPair TDEdgeIterPair
 
typedef _TDGraph::NbrsIterPair TDNbrsIterPair
 
typedef _TDGraph::NbrsIter TDNeighboursIter
 
typedef _TDGraph::PredIter TDPredecessorsIter
 
typedef _TDGraph::PredIterPair TDPredIterPair
 
typedef _TDGraph::VertBool TDVertBool
 
typedef _TDGraph::VertType TDVertex
 
typedef _TDGraph::VertIter TDVertexIter
 
typedef _TDGraph::VertIterPair TDVertIterPair
 
typedef _TDGraph::VertTypePair TDVertPair
 
using wAthenaeum = std::weak_ptr< Athenaeum >
 
using wFragment = std::weak_ptr< Fragment >
 

Enumerations

enum  CalculatedData : uint8_t
 
enum  IteratorType
 

Functions

template<class Iter >
double CalculateMean (Iter begin, Iter end)
 Calculate the mean of a range of numbers. More...
 
template<class RandomIter >
double CalculateMedian (RandomIter begin, RandomIter end)
 Calculate the median of a range of numbers. More...
 
template<class Iter >
double CalculateStandardDeviation (Iter begin, Iter end)
 
template<typename InputIter , typename T >
size_t Combinations (InputIter first, InputIter last, size_t r, std::vector< std::vector< T >> &out)
 
Forcefield GenerateGROMOS54A7 ()
 
const PeriodicTableGetPeriodicTable ()
 
Athenaeum LoadAthenaeum (std::string path)
 
Molecule LoadMolecule (std::string path)
 
std::ostream & operator<< (std::ostream &os, const Dihedral &dhd)
 
std::ostream & operator<< (std::ostream &, const Element &)
 
std::ostream & operator<< (std::ostream &os, const PeriodicTable &pt)
 Print a PeriodicTable to an output stream. More...
 
std::ostream & operator<< (std::ostream &os, BondType type)
 
std::ostream & operator<< (std::ostream &os, AngleType type)
 
std::ostream & operator<< (std::ostream &os, DihedralType type)
 
void SaveAthenaeum (const Athenaeum &ath, std::string path)
 
void SaveMolecule (const Molecule &mol, std::string path)
 

Detailed Description

Namespace for all graph related functionality.

utils namespace for useful utility functions

Typedef Documentation

◆ _ElnGraph

typedef utils::Graph<ElnVertProp> _ElnGraph

◆ _NTDGraph

typedef utils::Graph<NTDVertProp, utils::NoProperty, utils::DirectedGraph> _NTDGraph

◆ _PermGraph

typedef utils::Graph<PermVertProp> _PermGraph

◆ _TDGraph

typedef utils::Graph<TDVertProp, utils::NoProperty, utils::UndirectedGraph> _TDGraph

◆ AngleType

◆ AtomStereo

Type for the stereochemistry enum of an atom.

◆ BondOrder

Type for the order of a bond.

◆ BondStereo

Type for the stereochemistry enum of a bond.

◆ BondType

◆ DihedralType

◆ ElectronGraph

typedef std::shared_ptr<_ElectronGraph> ElectronGraph

◆ ElimOrder

typedef std::vector<PermVertex> ElimOrder

◆ ElnEdge

typedef _ElnGraph::EdgeType ElnEdge

◆ ElnEdgeIter

typedef _ElnGraph::EdgeIter ElnEdgeIter

◆ ElnEdgeIterPair

typedef _ElnGraph::EdgeIterPair ElnEdgeIterPair

◆ ElnNbrsIterPair

typedef _ElnGraph::NbrsIterPair ElnNbrsIterPair

◆ ElnNeighboursIter

typedef _ElnGraph::NbrsIter ElnNeighboursIter

◆ ElnVertex

typedef _ElnGraph::VertType ElnVertex

◆ ElnVertexIter

typedef _ElnGraph::VertIter ElnVertexIter

◆ ElnVertIterPair

typedef _ElnGraph::VertIterPair ElnVertIterPair

◆ FFFamily

◆ FFParam

using FFParam = std::initializer_list<double>

type for collection of parameter inputs

◆ NTDecomp

typedef std::shared_ptr<_NTDecomp> NTDecomp

◆ NTDEdge

typedef _NTDGraph::EdgeType NTDEdge

◆ NTDEdgeBool

typedef _NTDGraph::EdgeBool NTDEdgeBool

◆ NTDEdgeIter

typedef _NTDGraph::EdgeIter NTDEdgeIter

◆ NTDEdgeIterPair

typedef _NTDGraph::EdgeIterPair NTDEdgeIterPair

◆ NTDNbrsIterPair

typedef _NTDGraph::NbrsIterPair NTDNbrsIterPair

◆ NTDNeighboursIter

typedef _NTDGraph::NbrsIter NTDNeighboursIter

◆ NTDPredecessorsIter

typedef _NTDGraph::PredIter NTDPredecessorsIter

◆ NTDPredIterPair

typedef _NTDGraph::PredIterPair NTDPredIterPair

◆ NTDVertBool

typedef _NTDGraph::VertBool NTDVertBool

◆ NTDVertex

typedef _NTDGraph::VertType NTDVertex

◆ NTDVertexIter

typedef _NTDGraph::VertIter NTDVertexIter

◆ NTDVertIterPair

typedef _NTDGraph::VertIterPair NTDVertIterPair

◆ NTDVertPair

typedef _NTDGraph::VertTypePair NTDVertPair

◆ PermEdgeIterPair

typedef _PermGraph::EdgeIterPair PermEdgeIterPair

◆ PermNbrsIter

typedef _PermGraph::NbrsIter PermNbrsIter

◆ PermNbrsIterPair

typedef _PermGraph::NbrsIterPair PermNbrsIterPair

◆ PermutableGraph

typedef std::shared_ptr<_PermutableGraph> PermutableGraph

◆ PermVertex

typedef _PermGraph::VertType PermVertex

◆ PermVertIter

typedef _PermGraph::VertIter PermVertIter

◆ PermVertIterPair

typedef _PermGraph::VertIterPair PermVertIterPair

◆ ResidueType

◆ sAthenaeum

using sAthenaeum = std::shared_ptr<Athenaeum>

◆ sFragment

using sFragment = std::shared_ptr<Fragment>

◆ State

using State = uint32_t

◆ TDecomp

typedef std::shared_ptr<_TDecomp> TDecomp

◆ TDEdge

typedef _TDGraph::EdgeType TDEdge

◆ TDEdgeBool

typedef _TDGraph::EdgeBool TDEdgeBool

◆ TDEdgeIter

typedef _TDGraph::EdgeIter TDEdgeIter

◆ TDEdgeIterPair

typedef _TDGraph::EdgeIterPair TDEdgeIterPair

◆ TDNbrsIterPair

typedef _TDGraph::NbrsIterPair TDNbrsIterPair

◆ TDNeighboursIter

typedef _TDGraph::NbrsIter TDNeighboursIter

◆ TDPredecessorsIter

typedef _TDGraph::PredIter TDPredecessorsIter

◆ TDPredIterPair

typedef _TDGraph::PredIterPair TDPredIterPair

◆ TDVertBool

typedef _TDGraph::VertBool TDVertBool

◆ TDVertex

typedef _TDGraph::VertType TDVertex

◆ TDVertexIter

typedef _TDGraph::VertIter TDVertexIter

◆ TDVertIterPair

typedef _TDGraph::VertIterPair TDVertIterPair

◆ TDVertPair

typedef _TDGraph::VertTypePair TDVertPair

◆ wAthenaeum

using wAthenaeum = std::weak_ptr<Athenaeum>

◆ wFragment

using wFragment = std::weak_ptr<Fragment>

Enumeration Type Documentation

◆ CalculatedData

enum CalculatedData : uint8_t
strong
Enumerator
Formula 
AnglePerception 
DihedralPerception 
ResiduePerception 
ChargeGroupDetermination 
CondensedGraph 
Number 

◆ IteratorType

Enumerator
ATOM_NEIGHBOUR 
BOND_ATOM 
MOLECULE_ATOM 
ATOM_BOND 
MOLECULE_BOND 
UNDEFINED 

Function Documentation

◆ CalculateMean()

double indigox::CalculateMean ( Iter  begin,
Iter  end 
)

Calculate the mean of a range of numbers.

Template Parameters
Itertype of the iterator defining the range.
Parameters
begin,enditerators defining the range.
Returns
the mean of the range.

Referenced by CalculateStandardDeviation().

◆ CalculateMedian()

double indigox::CalculateMedian ( RandomIter  begin,
RandomIter  end 
)

Calculate the median of a range of numbers.

If the range has an odd length, the median is the middle item in the sorted range. If it has an even length, the median is the mean of the two central items. If the range is empty, the median is undefined.

Template Parameters
RandomIterrandom access itertor defining the range.
Parameters
begin,enditerators defining the range.
Returns
the median of the range.
Exceptions
std::runtime_errorif the range is empty.

◆ CalculateStandardDeviation()

double indigox::CalculateStandardDeviation ( Iter  begin,
Iter  end 
)

◆ Combinations()

size_t indigox::Combinations ( InputIter  first,
InputIter  last,
size_t  r,
std::vector< std::vector< T >> &  out 
)

◆ GenerateGROMOS54A7()

Forcefield indigox::GenerateGROMOS54A7 ( )

◆ GetPeriodicTable()

const PeriodicTable& indigox::GetPeriodicTable ( )

◆ LoadAthenaeum()

Athenaeum indigox::LoadAthenaeum ( std::string  path)

◆ LoadMolecule()

Molecule indigox::LoadMolecule ( std::string  path)

◆ operator<<() [1/6]

std::ostream& indigox::operator<< ( std::ostream &  os,
const Dihedral dhd 
)

◆ operator<<() [2/6]

std::ostream& indigox::operator<< ( std::ostream &  ,
const Element  
)

◆ operator<<() [3/6]

std::ostream& indigox::operator<< ( std::ostream &  os,
const PeriodicTable pt 
)

Print a PeriodicTable to an output stream.

Prints number of elements in the PeriodicTable.

Parameters
osoutput stream to print to.
ptPeriodicTable to print.
Returns
the output stream.

◆ operator<<() [4/6]

std::ostream& indigox::operator<< ( std::ostream &  os,
BondType  type 
)

◆ operator<<() [5/6]

std::ostream& indigox::operator<< ( std::ostream &  os,
AngleType  type 
)

◆ operator<<() [6/6]

std::ostream& indigox::operator<< ( std::ostream &  os,
DihedralType  type 
)

◆ SaveAthenaeum()

void indigox::SaveAthenaeum ( const Athenaeum ath,
std::string  path 
)

◆ SaveMolecule()

void indigox::SaveMolecule ( const Molecule mol,
std::string  path 
)