RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
RascalOptions.h
Go to the documentation of this file.
1
//
2
// Copyright (C) David Cosgrove 2023
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 <string>
11
#include <
RDGeneral/export.h
>
12
13
#ifndef RASCALOPTIONS_H
14
#define RASCALOPTIONS_H
15
16
namespace
RDKit
{
17
18
namespace
RascalMCES {
19
20
struct
RDKIT_RASCALMCES_EXPORT
RascalOptions
{
21
double
similarityThreshold =
22
0.7;
// if calculated below this, no MCES will be evaluated.
23
bool
completeAromaticRings =
24
true
;
// if true, partial aromatic rings won't be returned
25
bool
ringMatchesRingOnly =
26
false
;
// if true, ring bonds won't match non-ring bonds
27
bool
completeSmallestRings =
28
false
;
// if true, only complete rings present in both input molecule's
29
// RingInfo will be returned. Implies completeAromaticRings and
30
// ringMatchesRingOnly.
31
bool
exactConnectionsMatch =
32
false
;
/* if true, atoms will only match atoms if they have the same
33
number of explicit connections. E.g. the central atom of
34
C(C)(C) won't match either atom in CC */
35
bool
singleLargestFrag =
36
false
;
/* if true, only return a single fragment for the MCES. Default
37
is to produce multiple matching fragments if necessary. */
38
int
minFragSize =
39
-1;
/* minimum number of atoms in any fragment - -1 means no minimum */
40
int
maxFragSeparation = -1;
/* biggest through-bond distance that bonds can
41
match. -1 means no limit. */
42
bool
allBestMCESs =
43
false
;
/* If true, all MCESs are returned, in order of diminishing score.
44
This is likely to result in higher run times. */
45
int
timeout = 60;
// max run time, in seconds. -1 means no max.
46
bool
doEquivBondPruning =
47
false
;
/* This might make the code run a bit faster in some
48
circumstances, but on average it is very marginal. */
49
bool
returnEmptyMCES =
false
;
/* if true, if the similarity thresholds aren't
50
matched still return a RascalResult with the
51
tier1 and tier2 sims filled in. */
52
unsigned
int
maxBondMatchPairs = 1000;
/* Too many matching bond (vertex)
53
pairs can cause it to run out of memory. This
54
is a reasonable default for my Mac. */
55
std::string equivalentAtoms =
""
;
/* SMARTS strings defining atoms that should
56
be considered equivalent. e.g.
57
[F,Cl,Br,I] so all halogens will match
58
each other. Space-separated list allowing
59
more than 1 class of equivalent atoms.*/
60
bool
ignoreBondOrders =
false
;
/* If true, will treat all bonds as the same,
61
irrespective of order. */
62
bool
ignoreAtomAromaticity =
true
;
/* If true, atoms are matched just on
63
atomic number; if false, will treat
64
aromatic and aliphatic as different. */
65
unsigned
int
minCliqueSize = 0;
/* Normally, the minimum clique size is
66
specified via the similarityThreshold.
67
Sometimes it's more convenient to
68
specify it directly. If this is > 0,
69
it will over-ride the similarityThreshold.
70
Note that this refers to the minimum
71
number of BONDS in the MCES. */
72
};
73
}
// namespace RascalMCES
74
}
// namespace RDKit
75
76
#endif
// RASCALOPTIONS_H
export.h
RDKIT_RASCALMCES_EXPORT
#define RDKIT_RASCALMCES_EXPORT
Definition
export.h:449
RDKit
Std stuff.
Definition
Abbreviations.h:19
RDKit::RascalMCES::RascalOptions
Definition
RascalOptions.h:20
GraphMol
RascalMCES
RascalOptions.h
Generated on Thu Apr 10 2025 08:37:15 for RDKit by
1.9.8