31 const std::vector<std::vector<int>> &adjMatrix1,
32 const std::vector<std::vector<int>> &adjMatrix2,
33 const std::vector<unsigned int> &clique,
34 const std::vector<std::pair<int, int>> &vtx_pairs,
bool timedOut,
35 bool swapped,
double tier1Sim,
double tier2Sim,
36 bool ringMatchesRingOnly,
bool singleLargestFrag,
102 std::shared_ptr<ROMol> d_mol1;
103 std::shared_ptr<ROMol> d_mol2;
104 mutable std::shared_ptr<ROMol> d_mcesMol;
105 std::vector<std::pair<int, int>> d_bondMatches;
106 std::vector<std::pair<int, int>> d_atomMatches;
108 mutable std::string d_smarts;
109 bool d_timedOut{
false};
112 bool d_ringMatchesRingOnly{
false};
113 int d_maxFragSep{-1};
116 mutable int d_numFrags{-1};
117 mutable int d_ringNonRingBondScore{-1};
118 mutable int d_atomMatchScore{-1};
119 mutable int d_maxDeltaAtomAtomDist{-1};
120 mutable int d_largestFragSize{-1};
124 void rebuildFromFrags(
const std::vector<boost::shared_ptr<ROMol>> &frags);
126 std::string createSmartsString()
const;
128 void matchCliqueAtoms(
const std::vector<std::vector<int>> &mol1_adj_matrix);
132 void applyMaxFragSep();
138 int calcRingNonRingScore()
const;
140 int calcAtomMatchScore()
const;
142 int calcLargestFragSize()
const;
147 int calcMaxDeltaAtomAtomDistScore()
const;
Defines the primary molecule class ROMol as well as associated typedefs.
double getTier1Sim() const
std::string getSmarts() const
std::vector< std::pair< int, int > > getAtomMatches() const
int getMaxDeltaAtomAtomDist() const
RascalResult(double tier1Sim, double tier2Sim)
void trimSmallFrags(unsigned int minFragSize=3)
unsigned int getLargestFragSize() const
double getSimilarity() const
std::vector< std::pair< int, int > > getBondMatches() const
RascalResult & operator=(const RascalResult &other)
RascalResult & operator=(RascalResult &&other)=default
int getRingNonRingBondScore() const
const std::shared_ptr< ROMol > getMcesMol() const
RascalResult(const RDKit::ROMol &mol1, const RDKit::ROMol &mol2, const std::vector< std::vector< int > > &adjMatrix1, const std::vector< std::vector< int > > &adjMatrix2, const std::vector< unsigned int > &clique, const std::vector< std::pair< int, int > > &vtx_pairs, bool timedOut, bool swapped, double tier1Sim, double tier2Sim, bool ringMatchesRingOnly, bool singleLargestFrag, int minFragSep)
RascalResult(RascalResult &&other)=default
void largestFragsOnly(unsigned int numFrags=2)
RascalResult(const RascalResult &other)
double getTier2Sim() const
int getAtomMatchScore() const
#define RDKIT_RASCALMCES_EXPORT