RDKit: MMPA.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
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#include <RDGeneral/export.h>
11#pragma once
12#include <vector>
13#include <string>
14#include <stdexcept>
15#include "../RDKitBase.h"
16
17namespace RDKit {
18
19 namespace MMPA {
20
21 namespace detail {
22 RDKIT_MMPA_EXPORT unsigned long long computeMorganCodeHash(const ROMol &mol);
23}
24
25//! fragments a Molecule for processing with the Matched Molecular Pairs
26//! MMPA algorithm (Hussain et al)
27/*!
28 \param mol Molecule to fragment
29 \param result Vector of Core and Sidechain results from the various
30 cuts
31 \param maxCuts Maximum number of times to cut the molecule to generate
32 fragments. A max cut of 3 will fragment with 1,2 and 3
33 cuts.
34 \param maxCutBonds Set the bond limit for determining which molecules
35 to analyze. If a molecule has more than
36 this number of cutabble bonds, ignore.
37
38 \return true if the molecule was fragmented, false otherwise.
39*/
40
41 RDKIT_MMPA_EXPORT bool fragmentMol(
42 const ROMol &mol, std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR>> &result,
43 unsigned int maxCuts = 3, unsigned int maxCutBonds = 20,
44 const std::string &pattern = "[#6+0;!$(*=,#[!#6])]!@!=!#[*]");
45
46//! fragments a Molecule for processing with the Matched Molecular Pairs
47//! MMPA algorithm (Hussain et al)
48/*!
49 \param mol Molecule to fragment
50 \param result Vector of Core and Sidechain results from the various
51 cuts
52 \param minCuts Minimum number of times to cut the molecule to generate
53 fragments.
54 \param maxCuts Maximum number of times to cut the molecule to generate
55 fragments.
56 \param maxCutBonds Set the bond limit for determining which molecules
57 to analyze. If a molecule has more than
58 this number of cutabble bonds, ignore.
59
60 \return true if the molecule was fragmented, false otherwise.
61*/
62 RDKIT_MMPA_EXPORT bool fragmentMol(
63 const ROMol &mol, std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR>> &result,
64 unsigned int minCuts, unsigned int maxCuts, unsigned int maxCutBonds,
65 const std::string &pattern = "[#6+0;!$(*=,#[!#6])]!@!=!#[*]");
66
67//! fragments a Molecule for processing with the Matched Molecular Pairs
68//! MMPA algorithm (Hussain et al)
69/*!
70 \param mol Molecule to fragment
71 \param result Vector of Core and Sidechain results from the various
72 cuts
73 \param bondsToCut Vector of bond indices to use as cut points
74 \param minCuts Minimum number of times to cut the molecule to generate
75 fragments.
76 \param maxCuts Maximum number of times to cut the molecule to generate
77 fragments.
78 \return true if the molecule was fragmented, false otherwise.
79*/
80 RDKIT_MMPA_EXPORT bool fragmentMol(
81 const ROMol &mol, std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR>> &result,
82 const std::vector<unsigned int> &bondsToCut, unsigned int minCuts = 1,
83 unsigned int maxCuts = 3);
84
85} // namespace MMPA
86} // namespace RDKit
RDKitBase.h
pulls in the core RDKit functionality
RDKit::ROMol
Definition ROMol.h:199
export.h
RDKIT_MMPA_EXPORT
#define RDKIT_MMPA_EXPORT
Definition export.h:273
RDKit::MMPA::detail
Definition MMPA.h:21
RDKit::MMPA::detail::computeMorganCodeHash
RDKIT_MMPA_EXPORT unsigned long long computeMorganCodeHash(const ROMol &mol)
RDKit::MMPA
Definition MMPA.h:19
RDKit::MMPA::fragmentMol
RDKIT_MMPA_EXPORT 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 Abbreviations.h:19