Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ShapeVertexMaps.h
Go to the documentation of this file.
1 
8 #ifndef INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_SHAPE_VERTEX_MAPS_H
9 #define INCLUDE_MOLASSEMBLER_STEREOPERMUTATORS_SHAPE_VERTEX_MAPS_H
10 
12 
15 
16 namespace Scine {
17 namespace Molassembler {
18 namespace Stereopermutations {
19 class Stereopermutation;
20 } // namespace Stereopermutations
21 
22 using SiteToShapeVertexMap = Temple::StrongIndexPermutation<SiteIndex, Shapes::Vertex>;
23 
41 SiteToShapeVertexMap siteToShapeVertexMap(
42  const Stereopermutations::Stereopermutation& stereopermutation,
43  const RankingInformation::RankedSitesType& canonicalSites,
44  const std::vector<RankingInformation::Link>& siteLinks,
45  std::vector<std::vector<SiteIndex>> siteGroups = {},
46  std::vector<std::vector<Shapes::Vertex>> vertexGroups = {}
47 );
48 
55 Temple::StrongIndexPermutation<Shapes::Vertex, SiteIndex> shapeVertexToSiteIndexMap(
56  const Stereopermutations::Stereopermutation& stereopermutation,
57  const RankingInformation::RankedSitesType& canonicalSites,
58  const std::vector<RankingInformation::Link>& siteLinks
59 );
60 
61 Stereopermutations::Stereopermutation stereopermutationFromSiteToShapeVertexMap(
62  const SiteToShapeVertexMap& siteToShapeVertexMap,
63  const std::vector<RankingInformation::Link>& links,
64  const RankingInformation::RankedSitesType& canonicalSites
65 );
66 
67 } // namespace Molassembler
68 } // namespace Scine
69 
70 #endif
Strongly typed index permutations.
std::vector< RankingInformation::Link > siteLinks(const PrivateGraph &graph, const AtomStereopermutator &stereopermutatorA, const AtomStereopermutator &stereopermutatorB)
Find links between two adjacent stereopermutators, returns unordered links.
SiteToShapeVertexMap siteToShapeVertexMap(const Stereopermutations::Stereopermutation &stereopermutation, const RankingInformation::RankedSitesType &canonicalSites, const std::vector< RankingInformation::Link > &siteLinks, std::vector< std::vector< SiteIndex >> siteGroups={}, std::vector< std::vector< Shapes::Vertex >> vertexGroups={})
Generates a flat mapping from site indices to shape vertices.
Centralizes basic shape data in runtime types.
Temple::StrongIndexPermutation< Shapes::Vertex, SiteIndex > shapeVertexToSiteIndexMap(const Stereopermutations::Stereopermutation &stereopermutation, const RankingInformation::RankedSitesType &canonicalSites, const std::vector< RankingInformation::Link > &siteLinks)
Generates a flat mapping from shape vertices to site indices.
Data struct storing results of ranking and local graph algorithms.
NestedList< SiteIndex > RankedSitesType
Ascending ordered list of binding site indices (sub-list site indices equal)
Definition: RankingInformation.h:40