15#include "../RDKitBase.h"
26 boost::shared_ptr<RWMol>
core;
72 return terminalRGroupAtomToNeighbor.find(idx) !=
73 terminalRGroupAtomToNeighbor.end();
81 [[deprecated(
"please use checkAllBondsToRGroupPresent")]]
98 std::set<int> terminalRGroupAtoms;
100 std::map<int, int> terminalRGroupAtomToNeighbor;
102 bool checkedForTautomerQuery =
false;
103 std::shared_ptr<TautomerQuery> matchingTautomerQuery =
nullptr;
111 void buildMatchingMol();
114 void addDummyAtomsToUnlabelledCoreAtoms();
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)
bool rdvalue_is(const RDValue_cast_t)
boost::shared_ptr< ROMol > ROMOL_SPTR
boost::shared_ptr< RWMol > RWMOL_SPTR
RCore is the core common to a series of molecules.
bool isCoreAtomUserLabelled(int idx) const
void findIndicesWithRLabel()
ROMOL_SPTR replaceCoreAtomsWithMolMatches(const ROMol &mol, const MatchVectType &match) const
bool checkAllBondsToAttachmentPointPresent(const ROMol &mol, const int attachmentIdx, const MatchVectType &mapping) const
RWMOL_SPTR extractCoreFromMolMatch(const ROMol &mol, const MatchVectType &match, const RGroupDecompositionParameters ¶ms) const
bool isTerminalRGroupWithUserLabel(const int idx) const
boost::dynamic_bitset core_atoms_with_user_labels
boost::shared_ptr< RWMol > core
std::shared_ptr< TautomerQuery > getMatchingTautomerQuery()
boost::shared_ptr< RWMol > labelledCore
std::vector< MatchVectType > matchTerminalUserRGroups(const RWMol &target, MatchVectType match, const SubstructMatchParameters &sssParams) const
bool checkAllBondsToRGroupPresent(const ROMol &mol, const int attachmentIdx, const std::vector< std::vector< int > > &targetToCoreIndices) const
boost::shared_ptr< RWMol > matchingMol