ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/smi23d/src/mengine/pcmod.h
Revision: 20
Committed: Mon Jun 30 22:00:43 2008 UTC (11 years, 9 months ago) by tjod
File size: 6189 byte(s)
Log Message:
Add -a switch to cause H atoms to be added, deleting existing ones.
With -a, mengine behaves as the original.
Formal charges are not always preserved, by the original or
the modified mengine with or without the -a switch.
It appears that negative charges are preserved (benzoic acid).
A positive charge on a N atom (an amine) is not preserved.
Charges are recognized in CHG records and in atom records.
Charges are output only in atom records.

Line File contents
1 #ifndef True
2 #define True 1
3 #define False 0
4 #endif
5
6 /* TJO to include FILE type definition */
7 #include <stdio.h>
8
9 #include "pcmsiz.h"
10
11 /* These flags allow us to choose whether to do the extra calculations */
12 #define DO_VIBRATION 2
13 #define DO_DIPOLE 4
14 #define DO_XLOGP 8
15 #define DO_ADDH 16
16
17 /* Global to indicate verbose output or not */
18 EXTERN int VERBOSE;
19
20 #define MAXSELBND 50
21 #define MAXQUERY 100
22
23 EXTERN int LPTYPE;
24
25 #define radian 57.29577951308
26
27 #define Retype 122
28 EXTERN int hitcount;
29
30 #define MMX 1
31 #define MM2 2
32 #define MM3 3
33 #define MM4 4
34 #define AMBER 5
35 #define CHARMM 6
36 #define MMFF94 7
37 #define OPLS 8
38 #define OPLSAA 9
39 #define UNKNOWN 10
40
41 // File Information
42 #define FTYPE_MMX 102
43 #define FTYPE_MM2 103
44 #define FTYPE_MM3 104
45 #define FTYPE_ALC 106
46 #define FTYPE_SYBYL 107
47 #define FTYPE_MMOD 108
48 #define FTYPE_PCM 109
49 #define FTYPE_XRA 110
50 #define FTYPE_C3D 111
51 #define FTYPE_MOL 112
52 #define FTYPE_PDB 115
53 #define FTYPE_CSD 118
54 #define FTYPE_SDF 123
55 #define FTYPE_TINKER 124
56 #define FTYPE_MOL2 125
57
58 #define FTYPE_MOP 105
59 #define FTYPE_ARC 114
60 #define FTYPE_GAU 113 // read gaussian output
61 #define FTYPE_GAUSOUT 119 // write gaussian job file
62 #define FTYPE_GAU_IRC 122
63 #define FTYPE_GAUSFCHK 128
64 #define FTYPE_PSGVBIN 116
65 #define FTYPE_PSGVBOUT 117
66 #define FTYPE_GAMES 120
67 #define FTYPE_GAMESOUT 121
68 #define FTYPE_EHT 126
69 #define FTYPE_HONDO 127
70 #define FTYPE_HONDOPUN 131
71 #define FTYPE_TURBOMOLE 129
72 #define FTYPE_ADF 130
73
74 #define FTYPE_SMILES 131
75 #define FTYPE_CHEMDRAW 132
76 #define FTYPE_XML 133
77 #define FTYPE_CML 134
78
79 #define SUB_MOVE 0
80 #define SUB_HIDE 1
81 #define SUB_MINIMIZE 2
82
83 // flags definitions
84 #define PI_MASK 0
85 #define HBOND_MASK 1
86 #define AROMATIC_MASK 2
87 // metal flags
88 #define METCOORD_MASK 3
89 #define SATMET_MASK 4
90 #define GT18e_MASK 5
91 #define LOWSPIN_MASK 6
92 #define SQPLAN_MASK 7
93
94 // type rules
95 #define NO_RETYPE 8
96 // invisible
97 #define VIS_MASK 9
98 // minimize
99 #define MIN_MASK 10
100 // cpk surface
101 #define CPK_SURF 11
102 // dotsurf
103 #define DOT_SURF 12
104 // Nterm, CNterm, Oterm, COterm, DUMMY
105 #define NTERM 13
106 #define CNTERM 14
107 #define OTERM 15
108 #define COTERM 16
109 #define DUMMY 17
110 #define P5 18
111 #define P3 19
112 // Ring Size
113 #define RING3 20
114 #define RING4 21
115 #define RING5 22
116 #define RING6 23
117
118 /* PCMODEL specific definitions */
119 #ifndef ATOMTYPE
120 typedef struct {
121 double x,y,z;
122 int type;
123 int tclass;
124 int mmx_type;
125 int mm3_type;
126 int amber_type;
127 int mmff_type;
128 int charm_type;
129 int opls_type;
130 int atomnum;
131 int serno;
132 int molecule;
133 int residue;
134 int biotype;
135 double atomwt;
136 float energy;
137 int use;
138 int color;
139 int chrg_color;
140 int iat[MAXIAT];
141 int bo[MAXIAT];
142 char name[3];
143 double charge;
144 float formal_charge;
145 float sigma_charge;
146 float radius;
147 float vdw_radius;
148 long int flags;
149 long int substr[MAXSSCLASS];
150 } ATOMTYPE;
151 #endif
152
153 EXTERN struct {
154 int numbonds;
155 int ia1[MAXATOM], ia2[MAXATOM], bondorder[MAXATOM];
156 } bonds;
157
158 EXTERN struct {
159 int istereo;
160 int noh;
161 int immx;
162 int minimized;
163 int modified;
164 float dielc;
165 float avleg;
166 int rescale;
167 int nohyd; } flags;
168
169 EXTERN struct {
170 int nquery, qatom[MAXQUERY][4],qtype[MAXQUERY];
171 float qxpos[MAXQUERY],qypos[MAXQUERY];
172 int queryon;
173 } query;
174
175 EXTERN ATOMTYPE atom[MAXATOM];
176 EXTERN int selatom[MAXATOM];
177 EXTERN int selbnd[MAXSELBND][2];
178 EXTERN int last_atom;
179 EXTERN int natom;
180 EXTERN int DrawAtoms, DrawBonds;
181 EXTERN long StrScale;
182 EXTERN long MaxAtomRadius;
183 EXTERN float currentx,currenty,currentz;
184 EXTERN int curtype;
185 EXTERN int cur_label;
186 EXTERN int curmetal;
187 EXTERN int cur_color;
188 EXTERN char Struct_Title[100];
189 EXTERN FILE *pcmoutfile, *PSfile, *HPGLfile;
190 EXTERN char pcwindir[80];
191 EXTERN int hbond_flag;
192 EXTERN int cmap[225][3];
193 EXTERN int Mopac_Charges;
194 EXTERN int use_external_chrg;
195 EXTERN int use_gast_chrg;
196 EXTERN int default_intype, default_outtype;