11#ifndef _RD_MOLFRAGMENTER_H__
12#define _RD_MOLFRAGMENTER_H__
18namespace MolFragmenter {
51 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
52 bool addDummies =
true,
53 const std::vector<std::pair<unsigned int, unsigned int>> *dummyLabels =
55 const std::vector<Bond::BondType> *bondTypes =
nullptr,
56 std::vector<unsigned int> *nCutsPerAtom =
nullptr);
59 const ROMol &mol,
const std::vector<FragmenterBondType> &bondPatterns,
60 const std::map<unsigned int, ROMOL_SPTR> *atomEnvirons =
nullptr,
61 std::vector<unsigned int> *nCutsPerAtom =
nullptr);
63 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
64 std::vector<ROMOL_SPTR> &resMols,
unsigned int maxToCut = 1,
65 bool addDummies =
true,
66 const std::vector<std::pair<unsigned int, unsigned int>> *dummyLabels =
68 const std::vector<Bond::BondType> *bondTypes =
nullptr,
69 std::vector<std::vector<unsigned int>> *nCutsPerAtom =
nullptr);
80 std::istream *inStream, std::map<unsigned int, std::string> &defs,
81 const std::string &comment =
"//",
bool validate =
true,
82 std::map<unsigned int, ROMOL_SPTR> *environs =
nullptr);
84 const std::string &str, 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 std::map<unsigned int, std::string> &defs,
89 std::map<unsigned int, ROMOL_SPTR> *environs =
nullptr);
91 std::istream *inStream,
92 const std::map<unsigned int, std::string> &atomTypes,
93 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
94 bool validate =
true,
bool labelByConnector =
true);
96 const std::string &str,
97 const std::map<unsigned int, std::string> &atomTypes,
98 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
99 bool validate =
true,
bool labelByConnector =
true);
101 std::vector<FragmenterBondType> &defs);
118 bool enforceValenceRules =
true;
119 bool generateCoordinates =
false;
143 std::vector<ROMOL_SPTR> &decomposition,
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