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