00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 #ifndef __MMDB_Defs__
00042 #define __MMDB_Defs__
00043
00044 #include "mmdb_mattype.h"
00045
00046 namespace mmdb {
00047
00048 enum MMDB_VERSION {
00049 MAJOR_VERSION = 2,
00050 MINOR_VERSION = 0,
00051 MICRO_VERSION = 1
00052 };
00053
00054
00055
00056 typedef char IDCode [16];
00057 typedef IDCode * PIDCode;
00058 typedef PIDCode & RPIDCode;
00059 typedef char Date [12];
00060 typedef char RecName [7];
00061
00062 typedef char ChainID [10];
00063 typedef ChainID * PChainID;
00064 typedef char InsCode [10];
00065 typedef char DBName [10];
00066 typedef char DBAcCode[20];
00067 typedef DBAcCode * PDBAcCode;
00068 typedef char DBIdCode[20];
00069 typedef DBIdCode * PDBIdCode;
00070 typedef char ResName [20];
00071 typedef ResName * PResName;
00072 typedef PResName * PPResName;
00073 typedef char HelixID [20];
00074 typedef char StrandID[20];
00075 typedef char SheetID [20];
00076 typedef char TurnID [20];
00077 typedef char LinkRID [20];
00078
00079 typedef char SymGroup[100];
00080 typedef realtype vect3 [3];
00081 typedef vect3 * pvect3;
00082 typedef pvect3 & rpvect3;
00083 typedef realtype vect4 [4];
00084 typedef vect3 mat33 [3];
00085
00086 typedef vect4 mat44 [4];
00087 typedef mat44 * pmat44;
00088 typedef mat44 & rmat44;
00089 typedef pmat44 * ppmat44;
00090 typedef pmat44 & rpmat44;
00091 typedef mat33 mat633 [6];
00092
00093 typedef char AtomName[20];
00094 typedef AtomName * PAtomName;
00095 typedef char AltLoc [20];
00096 typedef AltLoc * PAltLoc;
00097 typedef char SegID [20];
00098 typedef char Element [10];
00099 typedef Element * PElement;
00100 typedef char EnergyType[10];
00101 typedef EnergyType * PEnergyType;
00102
00103
00104 typedef char maxMMDBName[40];
00105
00106
00107
00108
00109
00110
00111 extern const int ANY_RES;
00112
00113
00114
00115
00116
00117 enum PRINT_KEY {
00118 PRNK_Silent = 0,
00119 PRNK_SimRWBROOK = 1
00120 };
00121
00122
00123
00124
00125
00126
00127
00128 enum ERROR_CODE {
00129
00130 Error_EmptyCIF =-1,
00131
00132 Error_NoError = 0,
00133 Error_Ok = 0,
00134 Error_WrongSection = 1,
00135 Error_WrongChainID = 2,
00136 Error_WrongEntryID = 3,
00137
00138
00139
00140 Error_SEQRES_serNum = 4,
00141
00142
00143
00144 Error_SEQRES_numRes = 5,
00145
00146
00147
00148 Error_SEQRES_extraRes = 6,
00149
00150 Error_NCSM_Unrecognized = 7,
00151 Error_NCSM_AlreadySet = 8,
00152 Error_NCSM_WrongSerial = 9,
00153 Error_NCSM_UnmatchIG = 10,
00154
00155 Error_ATOM_Unrecognized = 11,
00156 Error_ATOM_AlreadySet = 12,
00157 Error_ATOM_NoResidue = 13,
00158 Error_ATOM_Unmatch = 14,
00159
00160 Error_CantOpenFile = 15,
00161 Error_UnrecognizedInteger = 16,
00162 Error_WrongModelNo = 17,
00163 Error_DuplicatedModel = 18,
00164 Error_NoModel = 19,
00165 Error_ForeignFile = 20,
00166 Error_WrongEdition = 21,
00167
00168
00169 Error_NotACIFFile = 22,
00170 Error_NoData = 23,
00171 Error_NoLoop = 24,
00172 Error_NoStruct = 25,
00173 Error_UnrecognCIFItems = 26,
00174 Error_MissingCIFField = 27,
00175 Error_EmptyCIFLoop = 28,
00176 Error_EmptyCIFStruct = 29,
00177 Error_UnexpEndOfCIF = 30,
00178 Error_MissgCIFLoopField = 31,
00179 Error_NotACIFStructure = 32,
00180 Error_NotACIFLoop = 33,
00181 Error_UnrecognizedReal = 34,
00182
00183 Error_NoSheetID = 35,
00184 Error_WrongSheetID = 36,
00185 Error_WrongStrandNo = 37,
00186
00187
00188
00189 Error_WrongNumberOfStrands = 38,
00190
00191
00192
00193 Error_WrongSheetOrder = 39,
00194
00195
00196
00197 Error_HBondInconsistency = 40,
00198
00199
00200
00201 Error_EmptyResidueName = 41,
00202
00203
00204
00205
00206 Error_DuplicateSeqNum = 42,
00207
00208
00209
00210
00211 Error_NoLogicalName = 43,
00212
00213
00214
00215 Error_EmptyFile = 44,
00216
00217 Error_Unknown = 45,
00218
00219
00220
00221
00222 Error_CIF_EmptyRow = 99999,
00223
00224 Error_GeneralError1 = 10000
00225
00226 };
00227
00228
00229
00230
00231 enum CLASS_ID {
00232 ClassID_Template ,
00233 ClassID_String ,
00234 ClassID_ObsLine ,
00235 ClassID_TitleLine ,
00236 ClassID_CAVEAT ,
00237 ClassID_Compound ,
00238 ClassID_Source ,
00239 ClassID_ExpData ,
00240 ClassID_MdlType ,
00241 ClassID_Author ,
00242 ClassID_RevData ,
00243 ClassID_Supersede ,
00244 ClassID_Journal ,
00245 ClassID_Remark ,
00246 ClassID_DBReference,
00247 ClassID_SeqAdv ,
00248 ClassID_ModRes ,
00249 ClassID_Het ,
00250 ClassID_NCSMatrix ,
00251 ClassID_TVect ,
00252 ClassID_Helix ,
00253 ClassID_Turn ,
00254 ClassID_Link ,
00255 ClassID_LinkR ,
00256 ClassID_CisPep
00257 };
00258
00259
00260
00261
00262 DefineClass(Atom);
00263 DefineClass(Residue);
00264 DefineClass(Chain);
00265 DefineClass(Model);
00266 DefineClass(Manager);
00267
00268 }
00269
00270 #endif
00271