10 #ifndef _RD_MOLFRAGMENTER_H__ 11 #define _RD_MOLFRAGMENTER_H__ 17 namespace MolFragmenter {
50 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
51 bool addDummies =
true,
52 const std::vector<std::pair<unsigned int, unsigned int> > *dummyLabels = 0,
53 const std::vector<Bond::BondType> *bondTypes = 0,
54 std::vector<unsigned int> *nCutsPerAtom = 0);
57 const ROMol &mol,
const std::vector<FragmenterBondType> &bondPatterns,
58 const std::map<unsigned int, ROMOL_SPTR> *atomEnvirons = 0,
59 std::vector<unsigned int> *nCutsPerAtom = 0);
61 const ROMol &mol,
const std::vector<unsigned int> &bondIndices,
62 std::vector<ROMOL_SPTR> &resMols,
unsigned int maxToCut = 1,
63 bool addDummies =
true,
64 const std::vector<std::pair<unsigned int, unsigned int> > *dummyLabels = 0,
65 const std::vector<Bond::BondType> *bondTypes = 0,
66 std::vector<std::vector<unsigned int> > *nCutsPerAtom = 0);
77 std::istream *inStream, std::map<unsigned int, std::string> &defs,
78 const std::string &comment =
"//",
bool validate =
true,
79 std::map<unsigned int, ROMOL_SPTR> *environs = 0);
81 const std::string &str, std::map<unsigned int, std::string> &defs,
82 const std::string &comment =
"//",
bool validate =
true,
83 std::map<unsigned int, ROMOL_SPTR> *environs = 0);
85 std::map<unsigned int, ROMOL_SPTR> *environs = 0);
87 std::istream *inStream,
88 const std::map<unsigned int, std::string> &atomTypes,
89 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
90 bool validate =
true,
bool labelByConnector =
true);
92 const std::string &str,
93 const std::map<unsigned int, std::string> &atomTypes,
94 std::vector<FragmenterBondType> &defs,
const std::string &comment =
"//",
95 bool validate =
true,
bool labelByConnector =
true);
ROMol * fragmentOnBRICSBonds(const ROMol &mol)
Fragments a molecule by breaking all BRICS bonds.
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=0, const std::vector< Bond::BondType > *bondTypes=0, std::vector< std::vector< unsigned int > > *nCutsPerAtom=0)
Defines the primary molecule class ROMol as well as associated typedefs.
ROMol is a molecule class that is intended to have a fixed topology.
void constructBRICSBondTypes(std::vector< FragmenterBondType > &defs)
ROMol * fragmentOnBonds(const ROMol &mol, const std::vector< unsigned int > &bondIndices, bool addDummies=true, const std::vector< std::pair< unsigned int, unsigned int > > *dummyLabels=0, const std::vector< Bond::BondType > *bondTypes=0, std::vector< unsigned int > *nCutsPerAtom=0)
Fragments a molecule by breaking a set of bonds.
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=0)
void constructBRICSAtomTypes(std::map< unsigned int, std::string > &defs, std::map< unsigned int, ROMOL_SPTR > *environs=0)
boost::shared_ptr< ROMol > ROMOL_SPTR
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)