NuriKit v0.1.0b2
Loading...
Searching...
No Matches
molecule.h File Reference
Include dependency graph for molecule.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  nuri::AtomData
class  nuri::BondData
class  nuri::Molecule
 Read-only molecule class. More...
class  nuri::MoleculeMutator
 A class to mutate a molecule. More...
class  nuri::MoleculeSanitizer

Namespaces

namespace  nuri
namespace  nuri::constants

Typedefs

using nuri::Substructure = internal::Substructure<false>
using nuri::ConstSubstructure = internal::Substructure<true>

Enumerations

enum  nuri::constants::Hybridization : int {
  nuri::constants::kUnbound = 0 , nuri::constants::kTerminal = 1 , nuri::constants::kSP = 2 , nuri::constants::kSP2 = 3 ,
  nuri::constants::kSP3 = 4 , nuri::constants::kSP3D = 5 , nuri::constants::kSP3D2 = 6 , nuri::constants::kOtherHyb = 7
}
 The hybridization state of an atom object. More...
enum  nuri::constants::BondOrder : int {
  nuri::constants::kOtherBond = 0 , nuri::constants::kSingleBond = 1 , nuri::constants::kDoubleBond = 2 , nuri::constants::kTripleBond = 3 ,
  nuri::constants::kQuadrupleBond = 4 , nuri::constants::kAromaticBond = 5
}
 The bond order of a bond object. More...
enum class  nuri::AtomFlags : std::uint32_t {
  nuri::kAromatic = 0x1 , nuri::kConjugated = 0x2 , nuri::kRing = 0x4 , nuri::kChiral = 0x8 ,
  nuri::kClockWise = 0x10
}
enum class  nuri::BondFlags : std::uint32_t {
  nuri::kRing = 0x1 , nuri::kAromatic = 0x2 , nuri::kConjugated = 0x4 , nuri::kConfigSpecified = 0x8 ,
  nuri::kTransConfig = 0x10
}
enum class  nuri::SubstructCategory { nuri::kUnknown , nuri::kResidue , nuri::kChain }

Functions

std::ostream & nuri::constants::operator<< (std::ostream &os, Hybridization hyb)
std::ostream & nuri::constants::operator<< (std::ostream &os, BondOrder bo)
constants::Hybridization nuri::clamp_hyb (int hyb)
constants::BondOrder nuri::clamp_ord (int ord)
bool nuri::operator== (const AtomData &lhs, const AtomData &rhs)
int nuri::all_neighbors (Molecule::Atom atom)
 Get the number of all neighbors of an atom.
int nuri::count_heavy (Molecule::Atom atom)
 Get the number of heavy atoms bonded to an atom.
int nuri::count_hydrogens (Molecule::Atom atom)
 Count the number of hydrogens of the atom.
int nuri::sum_bond_order (Molecule::Atom atom)
 Get the approximate total bond order of the atom.
int nuri::nonbonding_electrons (Molecule::Atom atom)
 Get the predicted non-bonding electron count of the atom.
int nuri::steric_number (Molecule::Atom atom)
 Get the predicted steric number of the atom.
const Elementnuri::effective_element (const AtomData &data)
 Get "effective" element of the atom.
const Elementnuri::effective_element (Molecule::Atom atom)
 Get "effective" element of the atom.
std::vector< std::vector< int > > nuri::fragments (const Molecule &mol)
 Get fragments of the molecule.

Variables

constexpr double nuri::constants::kBondOrderToDouble [] = { 0.0, 1.0, 2.0, 3.0, 4.0, 1.5 }