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. This
38
works by finding the largest MCES and keeping just the largest
39
fragment. It is equivalent to running a normal MCES search
40
and using the largestFragOnly() method on the results. This
41
option may not produce the largest possible single fragment
42
that the molecules have in common. If you definitely want that
43
you may be better off using rdFMCS. */
44
int
minFragSize =
45
-1;
/* minimum number of atoms in any fragment - -1 means no minimum */
46
int
maxFragSeparation = -1;
/* biggest through-bond distance that bonds can
47
match. -1 means no limit. */
48
bool
allBestMCESs =
49
false
;
/* If true, all MCESs are returned, in order of diminishing score.
50
This is likely to result in higher run times. */
51
unsigned
int
maxBestMCESs = 10000;
/* Some pathological cases produce huge
52
numbers of equivalent solutions that
53
can crash the program due to memory
54
depletion. This caps the number of
55
such solutions to prevent this
56
happening. */
57
int
timeout = 60;
// max run time, in seconds. -1 means no max.
58
bool
doEquivBondPruning =
59
false
;
/* This might make the code run a bit faster in some
60
circumstances, but on average it is very marginal. */
61
bool
returnEmptyMCES =
false
;
/* if true, if the similarity thresholds aren't
62
matched still return a RascalResult with the
63
tier1 and tier2 sims filled in. */
64
unsigned
int
maxBondMatchPairs = 1000;
/* Too many matching bond (vertex)
65
pairs can cause it to run out of memory. This
66
is a reasonable default for my Mac. */
67
std::string equivalentAtoms =
""
;
/* SMARTS strings defining atoms that should
68
be considered equivalent. e.g.
69
[F,Cl,Br,I] so all halogens will match
70
each other. Space-separated list allowing
71
more than 1 class of equivalent atoms.*/
72
bool
ignoreBondOrders =
false
;
/* If true, will treat all bonds as the same,
73
irrespective of order. */
74
bool
ignoreAtomAromaticity =
true
;
/* If true, atoms are matched just on
75
atomic number; if false, will treat
76
aromatic and aliphatic as different. */
77
unsigned
int
minCliqueSize = 0;
/* Normally, the minimum clique size is
78
specified via the similarityThreshold.
79
Sometimes it's more convenient to
80
specify it directly. If this is > 0,
81
it will over-ride the similarityThreshold.
82
Note that this refers to the minimum
83
number of BONDS in the MCES. */
84
};
85
}
// namespace RascalMCES
86
}
// namespace RDKit
87
88
#endif
// RASCALOPTIONS_H
export.h
RDKIT_RASCALMCES_EXPORT
#define RDKIT_RASCALMCES_EXPORT
Definition
export.h:481
RDKit
Std stuff.
Definition
Abbreviations.h:19
RDKit::RascalMCES::RascalOptions
Definition
RascalOptions.h:20
GraphMol
RascalMCES
RascalOptions.h
Generated on Wed Oct 8 2025 21:54:08 for RDKit by
1.9.8