STORMM Source Documentation
Loading...
Searching...
No Matches
molecule_format_enumerators.h
1// -*-c++-*-
2#ifndef STORMM_MOLECULE_FORMAT_ENUMERATORS_H
3#define STORMM_MOLECULE_FORMAT_ENUMERATORS_H
4
5#include "copyright.h"
6#include "DataTypes/stormm_vector_types.h"
7
8namespace stormm {
9namespace structure {
10
12enum class PdbAtomKind {
13 ATOM,
14 HETATM
16};
17
19enum class MdlMolVersion {
20 V2000, V3000, UNKNOWN
21};
22
27enum class MolObjIndexKind {
28 ATOM,
31 BOND,
32 OTHER
33};
34
36enum class RadicalState {
37 NONE, SINGLET, DOUBLET, TRIPLET
38};
39
41enum class MolObjChirality {
42 ACHIRAL = 0, CHIRAL = 1
43};
44
46enum class HydrogenAssignment {
47 VALENCE_SHELL = 0,
51 DO_NOT_HYDROGENATE = 1
52};
53
55enum class MdlMolBondOrder {
56 SINGLE = 1, DOUBLE = 2, TRIPLE = 3, AROMATIC = 4, SINGLE_OR_DOUBLE = 5,
57 SINGLE_OR_AROMATIC = 6, DOUBLE_OR_AROMATIC = 7, ANY = 8
58};
59
61enum class MdlMolBondStereo {
62 NOT_STEREO = 0, UP = 1, CIS_OR_TRANS = 3, EITHER = 4, DOWN = 6
63};
64
66enum class MolObjAtomStereo {
67 NOT_STEREO = 0, ODD = 1, EVEN = 2, UNMARKED = 3
68};
69
71enum class MolObjRingState {
72 EITHER = 0, RING = 1, CHAIN = 2
73};
74
76enum class MolObjReactionCenter {
77 NON_CENTER = -1, UNMARKED = 0, CENTER = 1, UNREACTIVE = 2, BOND_MADE_OR_BROKEN = 4,
78 CENTER_WITH_FORMATION = 5, BOND_ORDER_CHANGE = 8, CENTER_WITH_ORDER_CHANGE = 9,
79 BOND_FORMATION_AND_ORDER_CHANGE = 12, CENTER_WITH_FORMATION_AND_ORDER_CHANGE = 13
80};
81
83enum class StereoRetention {
84 NOT_APPLIED = 0, INVERTED = 1, RETAINED = 2
85};
86
88enum class MolObjPropField {
89 INTEGER, CHAR4, REAL, STRING
90};
91
93enum class DataRequestKind {
94 STATE_VARIABLE = 0,
96 ATOM_INFLUENCES,
99 TOPOLOGY_PARAMETER,
100 STRING,
101 ALL_KINDS
103};
104
109enum class MdlMolDataItemKind {
110 STATE_VARIABLE,
112 ATOM_INFLUENCES,
114 TOPOLOGY_PARAMETER,
116 STRING,
117 NATIVE,
119 NONE
120};
121
123enum class MdlMolPropertyKind {
124 ATOM_ALIAS,
125 ATOM_VALUE,
126 GROUP_ABBREVIATION,
127 CHARGE,
130 RADICAL,
133 ISOTOPE,
136 RING_BOND_COUNT,
137 SUBSTITUTION_COUNT,
138 UNSATURATED_COUNT,
139 LINK_ATOM,
140 ATOM_LIST,
141 ATTACHMENT_POINT,
143 ATTACHMENT_ORDER,
145 RGROUP_LABEL_LOCATION,
146 RGROUP_LOGIC,
147 SGROUP_TYPE,
148 SGROUP_SUBTYPE,
149 SGROUP_LABELS,
150 SGROUP_CONNECTIVITY,
151 SGROUP_EXPANSION,
152 SGROUP_ATOM_LIST,
156 SGROUP_BOND_LIST,
157 MG_PARENT_ATOM_LIST,
159 SGROUP_SUBSCRIPT,
160 SGROUP_CORRESPONDENCE,
161 SGROUP_DISPLAY_INFO,
164 SGROUP_BOND_VECTOR,
165 SGROUP_FIELD,
166 SGROUP_DISPLAY,
167 SGROUP_DATA,
168 SGROUP_HIERARCHY,
169 SGROUP_COMP_NUMBER,
170 SPATIAL_FEATURE,
171 PHANTOM_ATOM,
172 SGROUP_ATTACH_POINT,
174 SGROUP_CLASS,
175 LARGE_REGNO,
176 SGROUP_BRACKET_STYLE,
177 SKIP,
179 NONE
180};
181
183enum class MolObjFeatureKind {
184 PT_FD_2,
186 PT_FLEX_2,
188 PT_PN_NORMAL,
189 LN_BEST_FIT,
190 PN_BEST_FIT,
191 PN_PT_LN,
192 CENTROID,
193 LN_PN_NORMAL,
194 DISTANCE_PT_PT,
195 DISTANCE_PT_LN,
196 DISTANCE_PT_PN,
197 ANGLE_PT_PT_PT,
198 ANGLE_LN_LN,
199 ANGLE_PN_PN,
201 SPHERE_PT,
202 FIXED_ATOMS,
203 ATOM_CONSTRAINT,
204 PAIR_CONSTRAINT
205};
206
210MdlMolPropertyKind translateMdlMolPropertyKind(char4 input);
211
217std::string getEnumerationName(MdlMolVersion input);
218std::string getEnumerationName(MolObjIndexKind input);
219std::string getEnumerationName(RadicalState input);
220std::string getEnumerationName(MolObjChirality input);
221std::string getEnumerationName(HydrogenAssignment input);
222std::string getEnumerationName(MdlMolBondOrder input);
223std::string getEnumerationName(MdlMolBondStereo input);
224std::string getEnumerationName(MolObjAtomStereo input);
225std::string getEnumerationName(MolObjRingState input);
226std::string getEnumerationName(MolObjReactionCenter input);
227std::string getEnumerationName(StereoRetention input);
228std::string getEnumerationName(MolObjPropField input);
229std::string getEnumerationName(DataRequestKind input);
230std::string getEnumerationName(MdlMolDataItemKind input);
231std::string getEnumerationName(MdlMolPropertyKind input);
232std::string getEnumerationName(MolObjFeatureKind input);
234
235} // namespace structure
236} // namespace stormm
237
238#endif