11#ifndef RD_FRAGMENT_REMOVER_H
12#define RD_FRAGMENT_REMOVER_H
22namespace MolStandardize {
35 bool skip_if_all_match =
false);
37 bool skip_if_all_match =
false);
39 bool leave_last,
bool skip_if_all_match =
false);
56 bool SKIP_IF_ALL_MATCH;
78 : preferOrganic(preferOrganic) {}
80 : preferOrganic(params.preferOrganic),
81 useAtomCount(params.largestFragmentChooserUseAtomCount),
82 countHeavyAtomsOnly(params.largestFragmentChooserCountHeavyAtomsOnly) {}
90 Largest(std::string &smiles, boost::shared_ptr<ROMol> fragment,
91 unsigned int &numatoms,
double &weight,
bool &organic);
94 unsigned int NumAtoms{0};
101 bool useAtomCount{
true};
102 bool countHeavyAtomsOnly{
false};
A Catalog with a hierarchical structure.
FragmentRemover & operator=(FragmentRemover const &)=delete
FragmentRemover(std::istream &fragmentStream, bool leave_last, bool skip_if_all_match=false)
void removeInPlace(RWMol &mol)
FragmentRemover(const std::string fragmentFile, bool leave_last, bool skip_if_all_match=false)
FragmentRemover(const FragmentRemover &other)=delete
making FragmentRemover objects non-copyable
FragmentRemover(const std::vector< std::pair< std::string, std::string > > &data, bool leave_last, bool skip_if_all_match=false)
ROMol * remove(const ROMol &mol)
~LargestFragmentChooser()=default
LargestFragmentChooser(bool preferOrganic=false)
LargestFragmentChooser(const CleanupParameters ¶ms)
LargestFragmentChooser(const LargestFragmentChooser &other)
ROMol * choose(const ROMol &mol) const
void chooseInPlace(RWMol &mol) const
RWMol is a molecule class that is intended to be edited.
#define RDKIT_MOLSTANDARDIZE_EXPORT
FragmentRemover * fragmentRemoverFromParams(const CleanupParameters ¶ms, bool leave_last=true, bool skip_if_all_match=false)
RDKIT_MOLSTANDARDIZE_EXPORT const CleanupParameters defaultCleanupParameters
RDCatalog::HierarchCatalog< FragmentCatalogEntry, FragmentCatalogParams, int > FragmentCatalog
bool rdvalue_is(const RDValue_cast_t)
std::vector< std::pair< std::string, std::string > > fragmentData
Largest(std::string &smiles, boost::shared_ptr< ROMol > fragment, unsigned int &numatoms, double &weight, bool &organic)
boost::shared_ptr< ROMol > Fragment