RDKit
Open-source cheminformatics and machine learning.
Toggle main menu visibility
Loading...
Searching...
No Matches
SLNAttribs.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2008, Novartis Institutes for BioMedical Research Inc.
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above
12
// copyright notice, this list of conditions and the following
13
// disclaimer in the documentation and/or other materials provided
14
// with the distribution.
15
// * Neither the name of Novartis Institutes for BioMedical Research Inc.
16
// nor the names of its contributors may be used to endorse or promote
17
// products derived from this software without specific prior
18
// written permission.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
//
32
// Created by Greg Landrum, September 2006
33
//
34
#include <
RDGeneral/export.h
>
35
#ifndef __RD_SLNATTRIBS_H__
36
#define __RD_SLNATTRIBS_H__
37
namespace
RDKit
{
38
class
ROMol
;
39
class
RWMol
;
40
}
// namespace RDKit
41
42
#include <string>
43
#include <vector>
44
#include <boost/smart_ptr.hpp>
45
46
namespace
RDKit
{
47
class
Atom
;
48
class
Bond
;
49
50
namespace
SLNParse
{
51
typedef
enum
{
52
AttribLowPriAnd
= 0,
53
AttribOr
,
54
AttribAnd
,
55
AttribNot
56
}
AttribCombineOp
;
57
58
class
RDKIT_SLNPARSE_EXPORT
AttribType
{
59
public
:
60
AttribType
() :
first
(
""
),
second
(
""
),
op
(
""
) {}
61
std::string
first
;
62
std::string
second
;
63
std::string
op
;
64
bool
negated
{
false
};
65
void
*
structQuery
{
nullptr
};
66
};
67
68
typedef
std::vector<std::pair<AttribCombineOp, boost::shared_ptr<AttribType>>>
69
AttribListType
;
70
71
//! parses the attributes provided for an atom and sets
72
/// the appropriate RD properties/queries.
73
/// NOTES:
74
/// 1) Some SLN query values cannot be properly set until the molecule is
75
/// fully/
76
/// initialized. These are handled by parseFinalAtomAttribs()
77
//
78
void
parseAtomAttribs
(
Atom
*atom,
AttribListType
attribs,
bool
doingQuery);
79
void
parseFinalAtomAttribs
(
Atom
*atom,
bool
doingQuery);
80
81
//! parses the attributes provided for a bond and sets
82
/// the appropriate RD properties/queries.
83
/// NOTES:
84
/// 1) Some SLN query values cannot be properly set until the molecule is
85
/// fully/
86
/// initialized. These are handled by parseFinalBondAttribs()
87
void
parseBondAttribs
(
Bond
*bond,
AttribListType
attribs,
bool
doingQuery);
88
void
parseFinalBondAttribs
(
Bond
*bond,
bool
doingQuery);
89
90
//! parses the attributes provided for a ctab and sets
91
/// the appropriate RD properties/queries.
92
void
parseMolAttribs
(
ROMol
*mol,
AttribListType
attribs);
93
94
void
adjustAtomChiralities
(
RWMol
*mol);
95
}
// namespace SLNParse
96
}
// namespace RDKit
97
#endif
RDKit::Atom
The class for representing atoms.
Definition
Atom.h:75
RDKit::Bond
class for representing a bond
Definition
Bond.h:48
RDKit::ROMol
Definition
ROMol.h:344
RDKit::RWMol
RWMol is a molecule class that is intended to be edited.
Definition
RWMol.h:32
RDKit::SLNParse::AttribType::negated
bool negated
Definition
SLNAttribs.h:64
RDKit::SLNParse::AttribType::op
std::string op
Definition
SLNAttribs.h:63
RDKit::SLNParse::AttribType::second
std::string second
Definition
SLNAttribs.h:62
RDKit::SLNParse::AttribType::structQuery
void * structQuery
Definition
SLNAttribs.h:65
RDKit::SLNParse::AttribType::AttribType
AttribType()
Definition
SLNAttribs.h:60
RDKit::SLNParse::AttribType::first
std::string first
Definition
SLNAttribs.h:61
export.h
RDKIT_SLNPARSE_EXPORT
#define RDKIT_SLNPARSE_EXPORT
Definition
export.h:641
RDKit::SLNParse
Definition
SLNAttribs.h:50
RDKit::SLNParse::AttribListType
std::vector< std::pair< AttribCombineOp, boost::shared_ptr< AttribType > > > AttribListType
Definition
SLNAttribs.h:69
RDKit::SLNParse::adjustAtomChiralities
void adjustAtomChiralities(RWMol *mol)
RDKit::SLNParse::AttribCombineOp
AttribCombineOp
Definition
SLNAttribs.h:51
RDKit::SLNParse::AttribAnd
@ AttribAnd
Definition
SLNAttribs.h:54
RDKit::SLNParse::AttribNot
@ AttribNot
Definition
SLNAttribs.h:55
RDKit::SLNParse::AttribLowPriAnd
@ AttribLowPriAnd
Definition
SLNAttribs.h:52
RDKit::SLNParse::AttribOr
@ AttribOr
Definition
SLNAttribs.h:53
RDKit::SLNParse::parseFinalBondAttribs
void parseFinalBondAttribs(Bond *bond, bool doingQuery)
RDKit::SLNParse::parseAtomAttribs
void parseAtomAttribs(Atom *atom, AttribListType attribs, bool doingQuery)
RDKit::SLNParse::parseMolAttribs
void parseMolAttribs(ROMol *mol, AttribListType attribs)
RDKit::SLNParse::parseBondAttribs
void parseBondAttribs(Bond *bond, AttribListType attribs, bool doingQuery)
RDKit::SLNParse::parseFinalAtomAttribs
void parseFinalAtomAttribs(Atom *atom, bool doingQuery)
RDKit
Std stuff.
Definition
Abbreviations.h:19
GraphMol
SLNParse
SLNAttribs.h
Generated on
for RDKit by
1.17.0