11#ifndef RDKIT_REAGENT_H
12#define RDKIT_REAGENT_H
23namespace SynthonSpaceSearch {
39 const std::string &
getSmiles()
const {
return d_smiles; }
42 const std::unique_ptr<ExplicitBitVect> &
getPattFP()
const;
43 const std::unique_ptr<ExplicitBitVect> &
getFP()
const;
46 void setFP(std::unique_ptr<ExplicitBitVect> fp);
51 return d_numChiralAtomsExcDummies;
67 std::unique_ptr<ROMol> dp_origMol{
nullptr};
68 std::unique_ptr<ROMol> dp_searchMol{
nullptr};
70 std::unique_ptr<ExplicitBitVect> dp_pattFP{
nullptr};
74 std::unique_ptr<ExplicitBitVect> dp_FP{
nullptr};
77 std::vector<std::shared_ptr<ROMol>> d_connRegions;
79 unsigned int d_numDummies{0};
80 unsigned int d_numHeavyAtoms{0};
82 unsigned int d_numChiralAtoms{0};
85 unsigned int d_numChiralAtomsExcDummies{0};
90 void finishInitialization();
92 void calcProperties();
void writeToDBStream(std::ostream &os) const
Synthon & operator=(const Synthon &other)
const std::unique_ptr< ExplicitBitVect > & getPattFP() const
Synthon(const Synthon &other)
const std::unique_ptr< ExplicitBitVect > & getFP() const
unsigned int getNumHeavyAtoms() const
const std::unique_ptr< ROMol > & getSearchMol() const
void readFromDBStream(std::istream &is, std::uint32_t version)
Synthon(const std::string &smi)
unsigned int getNumChiralAtomsExcDummies() const
unsigned int getNumDummies() const
const std::unique_ptr< ROMol > & getOrigMol() const
unsigned int getNumChiralAtoms() const
void setFP(std::unique_ptr< ExplicitBitVect > fp)
void setSearchMol(std::unique_ptr< ROMol > mol)
Synthon & operator=(Synthon &&other)=default
Synthon(Synthon &&other)=default
const std::string & getSmiles() const
const std::vector< std::shared_ptr< ROMol > > & getConnRegions() const
#define RDKIT_SYNTHONSPACESEARCH_EXPORT
constexpr unsigned int PATT_FP_NUM_BITS