10 #ifndef RDKIT_RGROUPDECOMP_H 11 #define RDKIT_RGROUPDECOMP_H 13 #include "../RDKitBase.h" 66 unsigned int alignment =
MCS,
67 unsigned int chunkSize = 5,
68 bool matchOnlyAtRGroups =
false,
69 bool removeHydrogenOnlyGroups =
true,
70 bool removeHydrogensPostMatch =
false)
72 matchingStrategy(strategy),
73 rgroupLabelling(labelling),
76 onlyMatchAtRGroups(matchOnlyAtRGroups),
77 removeAllHydrogenRGroups(removeHydrogenOnlyGroups),
78 removeHydrogensPostMatch(removeHydrogensPostMatch),
86 typedef std::map<std::string, boost::shared_ptr<ROMol> >
RGroupRow;
92 struct RGroupDecompData;
94 RGroupDecompData *data;
109 int add(
const ROMol &mol);
113 RGroupRows getRGroupsAsRows()
const;
115 RGroupColumns getRGroupsAsColumns()
const;
119 const std::vector<ROMOL_SPTR> &mols,
121 std::vector<unsigned int> *unmatched = 0,
125 const std::vector<ROMOL_SPTR> &mols,
126 RGroupColumns &columns,
127 std::vector<unsigned int> *unmatched = 0,
RWMol is a molecule class that is intended to be edited.
bool removeHydrogensPostMatch
ROMol is a molecule class that is intended to have a fixed topology.
std::vector< boost::shared_ptr< ROMol > > RGroupColumn
bool prepareCore(RWMol &, const RWMol *alignCore)
std::vector< RGroupRow > RGroupRows
bool removeAllHydrogenRGroups
std::map< std::string, boost::shared_ptr< ROMol > > RGroupRow
std::map< std::string, RGroupColumn > RGroupColumns
RGroupDecompositionParameters(unsigned int labels=AutoDetect, unsigned int strategy=GreedyChunks, unsigned int labelling=AtomMap|MDLRGroup, unsigned int alignment=MCS, unsigned int chunkSize=5, bool matchOnlyAtRGroups=false, bool removeHydrogenOnlyGroups=true, bool removeHydrogensPostMatch=false)
unsigned int RGroupDecompose(const std::vector< ROMOL_SPTR > &cores, const std::vector< ROMOL_SPTR > &mols, RGroupRows &rows, std::vector< unsigned int > *unmatched=0, const RGroupDecompositionParameters &options=RGroupDecompositionParameters())
unsigned int rgroupLabelling
unsigned int matchingStrategy