RDKit: MMPA.h Source File

| RDKit Open-source cheminformatics and machine learning.

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

MMPA.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2015 Novartis Institutes for BioMedical Research
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #pragma once
11 #include <vector>
12 #include <string>
13 #include <stdexcept>
14 #include "../RDKitBase.h"
15
16 namespace RDKit {
17
18 namespace MMPA {
19 //! fragments a Molecule for processing with the Matched Molecular Pairs
20 //! MMPA algorithm (Hussain et al)
21 /*!
22 \param mol Molecule to fragment
23 \param result Vector of Core and Sidechain results from the various
24 cuts
25 \param maxCuts Maximum number of times to cut the molecule to generate
26 fragments. A max cut of 3 will fragment with 1,2 and 3
27 cuts.
28 \param maxCutBonds Set the bond limit for determining which molecules
29 to analyze. If a molecule has more than
30 this number of cutabble bonds, ignore.
31
32 \return true if the molecule was fragmented, false otherwise.
33 */
34
35 bool fragmentMol(const ROMol& mol,
36 std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR> >& result,
37 unsigned int maxCuts = 3, unsigned int maxCutBonds = 20,
38 const std::string& pattern = "[#6+0;!$(*=,#[!#6])]!@!=!#[*]");
39
40 //! fragments a Molecule for processing with the Matched Molecular Pairs
41 //! MMPA algorithm (Hussain et al)
42 /*!
43 \param mol Molecule to fragment
44 \param result Vector of Core and Sidechain results from the various
45 cuts
46 \param minCuts Minimum number of times to cut the molecule to generate
47 fragments.
48 \param maxCuts Maximum number of times to cut the molecule to generate
49 fragments.
50 \param maxCutBonds Set the bond limit for determining which molecules
51 to analyze. If a molecule has more than
52 this number of cutabble bonds, ignore.
53
54 \return true if the molecule was fragmented, false otherwise.
55 */
56 bool fragmentMol(const ROMol& mol,
57 std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR> >& result,
58 unsigned int minCuts,
59 unsigned int maxCuts,
60 unsigned int maxCutBonds,
61 const std::string& pattern = "[#6+0;!$(*=,#[!#6])]!@!=!#[*]");
62
63 //! fragments a Molecule for processing with the Matched Molecular Pairs
64 //! MMPA algorithm (Hussain et al)
65 /*!
66 \param mol Molecule to fragment
67 \param result Vector of Core and Sidechain results from the various
68 cuts
69 \param bondsToCut Vector of bond indices to use as cut points
70 \param minCuts Minimum number of times to cut the molecule to generate
71 fragments.
72 \param maxCuts Maximum number of times to cut the molecule to generate
73 fragments.
74 \return true if the molecule was fragmented, false otherwise.
75 */
76 bool fragmentMol(const ROMol& mol,
77 std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR> >& result,
78 const std::vector<unsigned int>& bondsToCut,
79 unsigned int minCuts = 1,
80 unsigned int maxCuts = 3);
81
82 }
83 } // namespace RDKit
RDKit::ROMol
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:103
RDKit::MMPA::fragmentMol
bool fragmentMol(const ROMol &mol, std::vector< std::pair< ROMOL_SPTR, ROMOL_SPTR > > &result, unsigned int maxCuts=3, unsigned int maxCutBonds=20, const std::string &pattern="[#6+0;!$(*=,#[!#6])]!@!=!#[*]")
RDKit
Std stuff.
Definition: Atom.h:29