1 #pragma once
2 #include <string>
3 
4 namespace schrodinger
5 {
6 namespace mae
7 {
8 
9 const char* const MAE_FORMAT_VERSION = "s_m_m2io_version";
10 const char* const CT_BLOCK = "f_m_ct";
11 const char* const CT_TITLE = "s_m_title";
12 const char* const ATOM_BLOCK = "m_atom";
13 const char* const ATOM_ATOMIC_NUM = "i_m_atomic_number";
14 const char* const ATOM_X_COORD = "r_m_x_coord";
15 const char* const ATOM_Y_COORD = "r_m_y_coord";
16 const char* const ATOM_Z_COORD = "r_m_z_coord";
17 const char* const ATOM_FORMAL_CHARGE = "i_m_formal_charge";
18 const char* const ATOM_PARTIAL_CHARGE = "r_m_charge1";
19 const char* const BOND_BLOCK = "m_bond";
20 const char* const BOND_ATOM_1 = "i_m_from";
21 const char* const BOND_ATOM_2 = "i_m_to";
22 const char* const BOND_ORDER = "i_m_order";
23 
24 /**
25  * These are the prefixes used to store stereochemical properties in Maestro
26  * files. Each of those properties will be associated to one of these prefixes
27  * plus an integer (integers don't have any particular meaning, they just
28  * prevent the property names from clashing), e.g.:
29  *
30  * s_st_Chirality_1 :        2_R_1_3_5_4
31  * s_st_Chirality_2 :        6_ANR_1_5_7
32  *
33  * Syntax of chirality and pseudochirality properties is the same:
34  *  1. Index of the chiral/pseudochiral atom.
35  *  2. Chiral/pseudochiral label (R/S or ANR/ANS).
36  *  3. Sequence of atoms around the chiral one, ordered by decreasing
37  *     Cahn-Ingold-Prelog rank, or atom index, in the case of ANR/ANS.
38  *  Elements are separated by underscores. For cases in which only 3 neighboring
39  *  indexes are specified, an implicit Hydrogen atom needs to be considered.
40  *
41  *
42  * s_st_EZ_2 :               1_2_3_4_E
43  *
44  * Syntax for bond stereochemistry properties is similar:
45  *  1. Highest C-I-P ranked stereogenical atom at one side of the group.
46  *  2. List of intermediate atoms in the stereochemical group. These are
47  *     typically 2 atoms bonded by a double bond, but can be more atoms and not
48  *     necessarily bonded by double bonds (e.g. in case of allenes or
49  *     allene-like structures)
50  *  3. Highest C-I-P ranked stereogenical atom at the other side of the group.
51  *  4. Stereochemical label for the bond (E/Z)
52  *  As in chiral/pseudochiral properties, values are separated by underscores.
53  */
54 const std::string CT_CHIRALITY_PROP_PREFIX = "s_st_Chirality_";
55 const std::string CT_EZ_PROP_PREFIX = "s_st_EZ_";
56 
57 /**
58  * This prefix has been deprecated, and will not be used in future Schrodinger
59  * Suite releases. It is included in this header only for the purpose of
60  * documentation and backwards compatibility. The format of the property string
61  * is identical as the one presented in the example for chirality.
62  */
63 const std::string CT_PSEUDOCHIRALITY_PROP_PREFIX = "s_st_AtomNumChirality_";
64 
65 } // End namespace mae
66 } // End namespace schrodinger
67