Ranking data of substituents around a central vertex. More...
#include <RankingInformation.h>
Data Structures | |
struct | Link |
Information on links between substituents of a central atom. More... | |
Public Types | |
Member types | |
template<typename T > | |
using | NestedList = std::vector< std::vector< T > > |
ASC ordered list (via ranking) of atom index lists (sub-list atoms equal) | |
using | RankedSubstituentsType = NestedList< AtomIndex > |
ASC ordered list (via ranking) of atom index lists (sub-list atoms equal) | |
using | SiteListType = NestedList< AtomIndex > |
An unordered list of sets of atom indices that constitute binding sites. | |
using | RankedSitesType = NestedList< SiteIndex > |
Ascending ordered list of binding site indices (sub-list site indices equal) | |
Public Member Functions | |
Modification | |
void | applyPermutation (const std::vector< AtomIndex > &permutation) |
Applies an atom index permutation. More... | |
Information | |
SiteIndex | getSiteIndexOf (AtomIndex i) const |
Fetches the binding site index of a substituent. More... | |
unsigned | getRankedIndexOfSite (SiteIndex i) const |
Fetches the position of a binding site index within the site ranking. More... | |
bool | hasHapticSites () const |
Checks whether there are haptic binding sites. More... | |
Operators | |
bool | operator== (const RankingInformation &other) const |
bool | operator!= (const RankingInformation &other) const |
Static Public Member Functions | |
Static member functions | |
static std::vector< unsigned > | siteConstitutingAtomsRankedPositions (const std::vector< AtomIndex > &siteAtomList, const RankingInformation::RankedSubstituentsType &substituentRanking) |
Gets ranking positions of a binding site's constituting atoms in descending order. More... | |
static RankedSitesType | rankSites (const SiteListType &sites, const RankedSubstituentsType &substituentRanking) |
Combines the ranking of substituents with the binding site constitutions into a site-level ranking. More... | |
Data Fields | |
Data members | |
RankedSubstituentsType | substituentRanking |
Sorted substituents grouped by priority ascending. | |
SiteListType | sites |
Binding site atom index groupings. More... | |
RankedSitesType | siteRanking |
Site ranking. More... | |
std::vector< Link > | links |
A list of information on all links between binding sites. More... | |
Ranking data of substituents around a central vertex.
void Scine::Molassembler::RankingInformation::applyPermutation | ( | const std::vector< AtomIndex > & | permutation | ) |
Applies an atom index permutation.
Complexity \(\Theta(1)\)
permutation | The permutation to apply |
unsigned Scine::Molassembler::RankingInformation::getRankedIndexOfSite | ( | SiteIndex | i | ) | const |
Fetches the position of a binding site index within the site ranking.
Complexity \(\Theta(1)\)
i | The binding site index to find |
siteRanking
of the supplied ligand index Fetches the binding site index of a substituent.
Complexity \(\Theta(1)\)
std::out_of_range | If the specified atom index is not part of any binding site |
bool Scine::Molassembler::RankingInformation::hasHapticSites | ( | ) | const |
Checks whether there are haptic binding sites.
Complexity \(\Theta(1)\)
|
static |
Combines the ranking of substituents with the binding site constitutions into a site-level ranking.
Site ordering is predicated on the following rules:
Complexity \(\Theta(S^2)\) where \(S\) is the number of sites
sites | List of atom index lists that each constitute a binding site |
substituentRanking | The substituent-level ranking result |
|
static |
Gets ranking positions of a binding site's constituting atoms in descending order.
* Ranking position: 0 1 2 3 * Input: substituentRanking: {{0}, {4, 3}, {1, 9}, {5}} * binding site indices: {5, 3, 0} * Output: {3, 1, 0} *
Complexity \(\Theta(S)\) where \(S\) is the number of substituents
std::vector<Link> Scine::Molassembler::RankingInformation::links |
A list of information on all links between binding sites.
RankedSitesType Scine::Molassembler::RankingInformation::siteRanking |
Site ranking.
This is a ranked (ascending) nested list of site indices (indices into sites).
For any instance r
, this member should merely be the cached result of a call to RankingInformation::rankSites
with the arguments r.sites
and r.substituentRanking
.
SiteListType Scine::Molassembler::RankingInformation::sites |
Binding site atom index groupings.
This is an unordered nested list of atom index lists that each constitute a binding site. If a nested list has only a single element, the site is 'normal'. If there are multiple elements in a nested list, the site is haptically bonded.