11#ifndef _RD_MOLFRAGMENTER_H__
12#define _RD_MOLFRAGMENTER_H__
55 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
56 bool addDummies =
true,
57 const std::vector<std::pair<unsigned int, unsigned int>> *dummyLabels =
59 const std::vector<Bond::BondType> *bondTypes =
nullptr,
60 std::vector<unsigned int> *nCutsPerAtom =
nullptr);
63 const ROMol &mol,
const std::vector<FragmenterBondType> &bondPatterns,
64 const std::map<unsigned int, ROMOL_SPTR> *atomEnvirons =
nullptr,
65 std::vector<unsigned int> *nCutsPerAtom =
nullptr);
67 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
68 std::vector<ROMOL_SPTR> &resMols,
unsigned int maxToCut = 1,
69 bool addDummies =
true,
70 const std::vector<std::pair<unsigned int, unsigned int>> *dummyLabels =
72 const std::vector<Bond::BondType> *bondTypes =
nullptr,
73 std::vector<std::vector<unsigned int>> *nCutsPerAtom =
nullptr);
84 std::istream *inStream, std::map<unsigned int, std::string> &defs,
85 const std::string &comment =
"//",
bool validate =
true,
86 std::map<unsigned int, ROMOL_SPTR> *environs =
nullptr);
88 const std::string &str, std::map<unsigned int, std::string> &defs,
89 const std::string &comment =
"//",
bool validate =
true,
90 std::map<unsigned int, ROMOL_SPTR> *environs =
nullptr);
92 std::map<unsigned int, std::string> &defs,
93 std::map<unsigned int, ROMOL_SPTR> *environs =
nullptr);
95 std::istream *inStream,
96 const std::map<unsigned int, std::string> &atomTypes,
97 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
98 bool validate =
true,
bool labelByConnector =
true);
100 const std::string &str,
101 const std::map<unsigned int, std::string> &atomTypes,
102 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
103 bool validate =
true,
bool labelByConnector =
true);
105 std::vector<FragmenterBondType> &defs);
121 MolzipLabel
label = MolzipLabel::AtomMapNumber;
156 std::vector<ROMOL_SPTR> &decomposition,
171 const std::map<std::string, ROMOL_SPTR> &row,
#define BETTER_ENUM_CLASS(Enum, Underlying,...)
Defines the primary molecule class ROMol as well as associated typedefs.
#define RDKIT_CHEMTRANSFORMS_EXPORT
RDKIT_CHEMTRANSFORMS_EXPORT void fragmentOnSomeBonds(const ROMol &mol, const std::vector< unsigned int > &bondIndices, std::vector< ROMOL_SPTR > &resMols, unsigned int maxToCut=1, bool addDummies=true, const std::vector< std::pair< unsigned int, unsigned int > > *dummyLabels=nullptr, const std::vector< Bond::BondType > *bondTypes=nullptr, std::vector< std::vector< unsigned int > > *nCutsPerAtom=nullptr)
RDKIT_CHEMTRANSFORMS_EXPORT void constructBRICSBondTypes(std::vector< FragmenterBondType > &defs)
RDKIT_CHEMTRANSFORMS_EXPORT void constructFragmenterAtomTypes(std::istream *inStream, std::map< unsigned int, std::string > &defs, const std::string &comment="//", bool validate=true, std::map< unsigned int, ROMOL_SPTR > *environs=nullptr)
RDKIT_CHEMTRANSFORMS_EXPORT ROMol * fragmentOnBonds(const ROMol &mol, const std::vector< unsigned int > &bondIndices, bool addDummies=true, const std::vector< std::pair< unsigned int, unsigned int > > *dummyLabels=nullptr, const std::vector< Bond::BondType > *bondTypes=nullptr, std::vector< unsigned int > *nCutsPerAtom=nullptr)
Fragments a molecule by breaking a set of bonds.
RDKIT_CHEMTRANSFORMS_EXPORT ROMol * fragmentOnBRICSBonds(const ROMol &mol)
Fragments a molecule by breaking all BRICS bonds.
RDKIT_CHEMTRANSFORMS_EXPORT void constructFragmenterBondTypes(std::istream *inStream, const std::map< unsigned int, std::string > &atomTypes, std::vector< FragmenterBondType > &defs, const std::string &comment="//", bool validate=true, bool labelByConnector=true)
RDKIT_CHEMTRANSFORMS_EXPORT void constructBRICSAtomTypes(std::map< unsigned int, std::string > &defs, std::map< unsigned int, ROMOL_SPTR > *environs=nullptr)
RDKIT_CHEMTRANSFORMS_EXPORT std::unique_ptr< ROMol > molzip(const ROMol &a, const ROMol &b, const MolzipParams ¶ms=MolzipParams())
boost::shared_ptr< ROMol > ROMOL_SPTR
std::vector< std::string > atomSymbols