15#include "../RDKitBase.h"
25 boost::shared_ptr<RWMol>
core;
68 return terminalRGroupAtomsWithUserLabels.find(idx) !=
69 terminalRGroupAtomsWithUserLabels.end();
78 const ROMol &mol,
const int attachmentIdx,
83 std::set<int> terminalRGroupAtomsWithUserLabels;
85 std::map<int, int> terminalRGroupAtomToNeighbor;
87 void replaceCoreAtom(
RWMol &mol,
Atom &atom,
const Atom &other)
const;
90 int matchingIndexToCoreIndex(
int matchingIndex)
const;
93 void buildMatchingMol();
The class for representing atoms.
RWMol is a molecule class that is intended to be edited.
std::vector< std::pair< int, int > > MatchVectType
used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx)
boost::shared_ptr< ROMol > ROMOL_SPTR
boost::shared_ptr< RWMol > RWMOL_SPTR
RCore is the core common to a series of molecules.
RWMOL_SPTR coreWithMatches(const ROMol &coreReplacedAtoms) const
bool isCoreAtomUserLabelled(int idx) const
void findIndicesWithRLabel()
ROMOL_SPTR replaceCoreAtomsWithMolMatches(bool &hasCoreDummies, const ROMol &mol, const MatchVectType &match) const
bool checkAllBondsToAttachmentPointPresent(const ROMol &mol, const int attachmentIdx, const MatchVectType &mapping) const
bool isTerminalRGroupWithUserLabel(const int idx) const
boost::dynamic_bitset core_atoms_with_user_labels
boost::shared_ptr< RWMol > core
boost::shared_ptr< RWMol > labelledCore
std::vector< MatchVectType > matchTerminalUserRGroups(const RWMol &target, MatchVectType match, const SubstructMatchParameters &sssParams) const
boost::shared_ptr< RWMol > matchingMol