1 /* objmime.h 2 * =========================================================================== 3 * 4 * PUBLIC DOMAIN NOTICE 5 * National Center for Biotechnology Information 6 * 7 * This software/database is a "United States Government Work" under the 8 * terms of the United States Copyright Act. It was written as part of 9 * the author's official duties as a United States Government employee and 10 * thus cannot be copyrighted. This software/database is freely available 11 * to the public for use. The National Library of Medicine and the U.S. 12 * Government have not placed any restriction on its use or reproduction. 13 * 14 * Although all reasonable efforts have been taken to ensure the accuracy 15 * and reliability of the software and data, the NLM and the U.S. 16 * Government do not and cannot warrant the performance or results that 17 * may be obtained by using this software or data. The NLM and the U.S. 18 * Government disclaim all warranties, express or implied, including 19 * warranties of performance, merchantability or fitness for any particular 20 * purpose. 21 * 22 * Please cite the author in any work or product based on this material. 23 * 24 * =========================================================================== 25 * 26 * File Name: objmime.h 27 * 28 * Modifications: 29 * -------------------------------------------------------------------------- 30 * Date Name Description of modification 31 * ------- ---------- ----------------------------------------------------- 32 * 33 * $Log: objmime.h,v $ 34 * Revision 6.14 2002/03/14 01:29:11 thiessen 35 * hand changes from struct_Seq_annot to seqannot 36 * 37 * Revision 6.13 2002/02/27 15:53:37 thiessen 38 * fix typo 39 * 40 * Revision 6.12 2002/02/26 13:21:21 thiessen 41 * add structure type to new general mime 42 * 43 * Revision 6.11 2001/11/21 16:38:23 thiessen 44 * move cn3d stuff into bundle 45 * 46 * Revision 6.10 2001/11/21 14:25:41 thiessen 47 * remove BisotrucOrId 48 * 49 * Revision 6.9 2001/11/20 15:59:34 thiessen 50 * add imports to BundleSeqsAligns 51 * 52 * Revision 6.8 2001/11/16 14:54:26 thiessen 53 * add new general type 54 * 55 * Revision 6.7 2001/06/21 14:44:29 thiessen 56 * add new user annotations 57 * 58 * Revision 6.6 2001/06/14 14:21:33 thiessen 59 * add style dictionary to mime blobs 60 * 61 * Revision 6.5 1998/12/07 17:41:05 kans 62 * restored hand changes from struct_Seq_annot to seqannot - needed because of limitation of asncode 63 * 64 * Revision 6.4 1998/12/07 16:29:29 ywang 65 * add object loaded for mime type Biostruc-seqs 66 * 67 * ========================================================================== 68 */ 69 #ifndef _objmime_ 70 #define _objmime_ 71 72 #undef NLM_EXTERN 73 #ifdef NLM_IMPORT 74 #define NLM_EXTERN NLM_IMPORT 75 #else 76 #define NLM_EXTERN extern 77 #endif 78 79 80 #ifdef __cplusplus 81 extern "C" { /* } */ 82 #endif 83 84 85 /************************************************** 86 * 87 * Generated objects for Module NCBI-Mime 88 * Generated using ASNCODE Revision: 6.5 at Dec 4, 1998 2:11 PM 89 * 90 **************************************************/ 91 92 NLM_EXTERN Boolean LIBCALL 93 objmimeAsnLoad PROTO((void)); 94 typedef ValNodePtr NcbiMimeAsn1Ptr; 95 typedef ValNode NcbiMimeAsn1; 96 #define NcbiMimeAsn1_entrez 1 97 #define NcbiMimeAsn1_alignstruc 2 98 #define NcbiMimeAsn1_alignseq 3 /* yanli added */ 99 #define NcbiMimeAsn1_strucseq 4 /* yanli added */ 100 #define NcbiMimeAsn1_strucseqs 5 /* yanli added */ 101 #define NcbiMimeAsn1_general 6 /* paul */ 102 103 104 NLM_EXTERN NcbiMimeAsn1Ptr LIBCALL NcbiMimeAsn1Free PROTO ((NcbiMimeAsn1Ptr )); 105 NLM_EXTERN NcbiMimeAsn1Ptr LIBCALL NcbiMimeAsn1AsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 106 NLM_EXTERN Boolean LIBCALL NcbiMimeAsn1AsnWrite PROTO (( NcbiMimeAsn1Ptr , AsnIoPtr, AsnTypePtr)); 107 108 109 110 /************************************************** 111 * 112 * EntrezGeneral 113 * 114 **************************************************/ 115 typedef struct struct_Entrez_general { 116 CharPtr title; 117 ValNodePtr Data_data; 118 Uint2 style; 119 CharPtr location; 120 } EntrezGeneral, PNTR EntrezGeneralPtr; 121 122 123 NLM_EXTERN EntrezGeneralPtr LIBCALL EntrezGeneralFree PROTO ((EntrezGeneralPtr )); 124 NLM_EXTERN EntrezGeneralPtr LIBCALL EntrezGeneralNew PROTO (( void )); 125 NLM_EXTERN EntrezGeneralPtr LIBCALL EntrezGeneralAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 126 NLM_EXTERN Boolean LIBCALL EntrezGeneralAsnWrite PROTO (( EntrezGeneralPtr , AsnIoPtr, AsnTypePtr)); 127 128 129 #ifdef NLM_GENERATED_CODE_PROTO 130 131 typedef ValNodePtr Data_dataPtr; 132 typedef ValNode Data_data; 133 134 #endif /* NLM_GENERATED_CODE_PROTO */ 135 136 #define Data_data_ml 1 137 #define Data_data_prot 2 138 #define Data_data_nuc 3 139 #define Data_data_genome 4 140 #define Data_data_structure 5 141 #define Data_data_strucAnnot 6 142 143 #ifdef NLM_GENERATED_CODE_PROTO 144 145 static Data_dataPtr LIBCALL Data_dataFree PROTO ((Data_dataPtr )); 146 static Data_dataPtr LIBCALL Data_dataAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 147 static Boolean LIBCALL Data_dataAsnWrite PROTO (( Data_dataPtr , AsnIoPtr, AsnTypePtr)); 148 149 #endif /* NLM_GENERATED_CODE_PROTO */ 150 151 152 153 /************************************************** 154 * 155 * BiostrucAlign 156 * 157 **************************************************/ 158 typedef struct struct_Biostruc_align { 159 struct struct_Biostruc PNTR master; 160 struct struct_Biostruc PNTR slaves; 161 struct struct_Biostruc_annot_set PNTR alignments; 162 ValNodePtr sequences; 163 struct seqannot PNTR seqalign; /* hand change -- lyg */ 164 struct struct_Cn3d_style_dictionary PNTR style_dictionary; /* paul */ 165 struct struct_Cn3d_user_annotations PNTR user_annotations; 166 } BiostrucAlign, PNTR BiostrucAlignPtr; 167 168 169 NLM_EXTERN BiostrucAlignPtr LIBCALL BiostrucAlignFree PROTO ((BiostrucAlignPtr )); 170 NLM_EXTERN BiostrucAlignPtr LIBCALL BiostrucAlignNew PROTO (( void )); 171 NLM_EXTERN BiostrucAlignPtr LIBCALL BiostrucAlignAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 172 NLM_EXTERN Boolean LIBCALL BiostrucAlignAsnWrite PROTO (( BiostrucAlignPtr , AsnIoPtr, AsnTypePtr)); 173 174 175 176 /************************************************** 177 * 178 * BiostrucAlignSeq 179 * 180 **************************************************/ 181 typedef struct struct_Biostruc_align_seq { 182 ValNodePtr sequences; 183 struct seqannot PNTR seqalign; /* hand change struct -- lyg */ 184 struct struct_Cn3d_style_dictionary PNTR style_dictionary; /* paul */ 185 struct struct_Cn3d_user_annotations PNTR user_annotations; 186 } BiostrucAlignSeq, PNTR BiostrucAlignSeqPtr; 187 188 189 NLM_EXTERN BiostrucAlignSeqPtr LIBCALL BiostrucAlignSeqFree PROTO ((BiostrucAlignSeqPtr )); 190 NLM_EXTERN BiostrucAlignSeqPtr LIBCALL BiostrucAlignSeqNew PROTO (( void )); 191 NLM_EXTERN BiostrucAlignSeqPtr LIBCALL BiostrucAlignSeqAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 192 NLM_EXTERN Boolean LIBCALL BiostrucAlignSeqAsnWrite PROTO (( BiostrucAlignSeqPtr , AsnIoPtr, AsnTypePtr)); 193 194 195 196 /************************************************** 197 * 198 * BiostrucSeq 199 * 200 **************************************************/ 201 typedef struct struct_Biostruc_seq { 202 struct struct_Biostruc PNTR structure; 203 ValNodePtr sequences; 204 struct struct_Cn3d_style_dictionary PNTR style_dictionary; /* paul */ 205 struct struct_Cn3d_user_annotations PNTR user_annotations; 206 } BiostrucSeq, PNTR BiostrucSeqPtr; 207 208 209 NLM_EXTERN BiostrucSeqPtr LIBCALL BiostrucSeqFree PROTO ((BiostrucSeqPtr )); 210 NLM_EXTERN BiostrucSeqPtr LIBCALL BiostrucSeqNew PROTO (( void )); 211 NLM_EXTERN BiostrucSeqPtr LIBCALL BiostrucSeqAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 212 NLM_EXTERN Boolean LIBCALL BiostrucSeqAsnWrite PROTO (( BiostrucSeqPtr , AsnIoPtr, AsnTypePtr)); 213 214 215 216 /************************************************** 217 * 218 * BiostrucSeqs 219 * 220 **************************************************/ 221 typedef struct struct_Biostruc_seqs { 222 struct struct_Biostruc PNTR structure; 223 ValNodePtr sequences; 224 struct seqannot PNTR seqalign; /* hand change struct -- lyg */ 225 struct struct_Cn3d_style_dictionary PNTR style_dictionary; /* paul */ 226 struct struct_Cn3d_user_annotations PNTR user_annotations; 227 } BiostrucSeqs, PNTR BiostrucSeqsPtr; 228 229 230 NLM_EXTERN BiostrucSeqsPtr LIBCALL BiostrucSeqsFree PROTO ((BiostrucSeqsPtr )); 231 NLM_EXTERN BiostrucSeqsPtr LIBCALL BiostrucSeqsNew PROTO (( void )); 232 NLM_EXTERN BiostrucSeqsPtr LIBCALL BiostrucSeqsAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 233 NLM_EXTERN Boolean LIBCALL BiostrucSeqsAsnWrite PROTO (( BiostrucSeqsPtr , AsnIoPtr, AsnTypePtr)); 234 235 /* following #defines are for enumerated type, not used by object loaders */ 236 #define Entrez_style_docsum 1 237 #define Entrez_style_genbank 2 238 #define Entrez_style_genpept 3 239 #define Entrez_style_fasta 4 240 #define Entrez_style_asn1 5 241 #define Entrez_style_graphic 6 242 #define Entrez_style_alignment 7 243 #define Entrez_style_globalview 8 244 #define Entrez_style_report 9 245 #define Entrez_style_medlars 10 246 #define Entrez_style_embl 11 247 #define Entrez_style_pdb 12 248 #define Entrez_style_kinemage 13 249 250 251 /************************************************** 252 * 253 * BiostrucSeqsAlignsCdd 254 * 255 **************************************************/ 256 typedef struct struct_Biostruc_seqs_aligns_cdd { 257 ValNodePtr SeqAlignData_seq_align_data; 258 struct struct_Biostruc PNTR structures; 259 Uint2 structure_type; 260 } BiostrucSeqsAlignsCdd, PNTR BiostrucSeqsAlignsCddPtr; 261 262 /* following #defines are for enumerated type, not used by object loaders */ 263 #define Biostruc_seqs_aligns_cdd_structure_type_ncbi_backbone 2 264 #define Biostruc_seqs_aligns_cdd_structure_type_ncbi_all_atom 3 265 #define Biostruc_seqs_aligns_cdd_structure_type_pdb_model 4 266 267 NLM_EXTERN BiostrucSeqsAlignsCddPtr LIBCALL BiostrucSeqsAlignsCddFree PROTO ((BiostrucSeqsAlignsCddPtr )); 268 NLM_EXTERN BiostrucSeqsAlignsCddPtr LIBCALL BiostrucSeqsAlignsCddNew PROTO (( void )); 269 NLM_EXTERN BiostrucSeqsAlignsCddPtr LIBCALL BiostrucSeqsAlignsCddAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 270 NLM_EXTERN Boolean LIBCALL BiostrucSeqsAlignsCddAsnWrite PROTO (( BiostrucSeqsAlignsCddPtr , AsnIoPtr, AsnTypePtr)); 271 272 273 #ifdef NLM_GENERATED_CODE_PROTO 274 275 typedef ValNodePtr SeqAlignData_seq_align_dataPtr; 276 typedef ValNode SeqAlignData_seq_align_data; 277 278 #endif /* NLM_GENERATED_CODE_PROTO */ 279 280 #define SeqAlignData_seq_align_data_bundle 1 281 #define SeqAlignData_seq_align_data_cdd 2 282 283 #ifdef NLM_GENERATED_CODE_PROTO 284 285 static SeqAlignData_seq_align_dataPtr LIBCALL SeqAlignData_seq_align_dataFree PROTO ((SeqAlignData_seq_align_dataPtr )); 286 static SeqAlignData_seq_align_dataPtr LIBCALL SeqAlignData_seq_align_dataAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 287 static Boolean LIBCALL SeqAlignData_seq_align_dataAsnWrite PROTO (( SeqAlignData_seq_align_dataPtr , AsnIoPtr, AsnTypePtr)); 288 289 #endif /* NLM_GENERATED_CODE_PROTO */ 290 291 292 293 /************************************************** 294 * 295 * BundleSeqsAligns 296 * 297 **************************************************/ 298 typedef struct struct_Bundle_seqs_aligns { 299 ValNodePtr sequences; 300 struct seqannot PNTR seqaligns; /* manual change */ 301 struct struct_Biostruc_annot_set PNTR strucaligns; 302 struct seqannot PNTR imports; 303 struct struct_Cn3d_style_dictionary PNTR style_dictionary; 304 struct struct_Cn3d_user_annotations PNTR user_annotations; 305 } BundleSeqsAligns, PNTR BundleSeqsAlignsPtr; 306 307 308 NLM_EXTERN BundleSeqsAlignsPtr LIBCALL BundleSeqsAlignsFree PROTO ((BundleSeqsAlignsPtr )); 309 NLM_EXTERN BundleSeqsAlignsPtr LIBCALL BundleSeqsAlignsNew PROTO (( void )); 310 NLM_EXTERN BundleSeqsAlignsPtr LIBCALL BundleSeqsAlignsAsnRead PROTO (( AsnIoPtr, AsnTypePtr)); 311 NLM_EXTERN Boolean LIBCALL BundleSeqsAlignsAsnWrite PROTO (( BundleSeqsAlignsPtr , AsnIoPtr, AsnTypePtr)); 312 313 314 #ifdef __cplusplus 315 /* { */ } 316 #endif 317 318 #endif /* _objmime_ */ 319 320 #undef NLM_EXTERN 321 #ifdef NLM_EXPORT 322 #define NLM_EXTERN NLM_EXPORT 323 #else 324 #define NLM_EXTERN 325 #endif 326 327