1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
/*****************************************************************************
* gbfeatdfn.h:
* -- GenBank Feature table define file
*
* $Log: gbftdef.h,v $
* Revision 6.25 2005/10/19 16:56:17 kans
* added new source qualifiers, expanded array of optional qualifiers
*
* Revision 6.24 2005/09/22 20:50:07 kans
* changed /experimental to /experiment - typo
*
* Revision 6.23 2005/09/19 17:17:31 kans
* removed /hydrogenosome as a separate qualifier - it is really /organelle=hydrogenosome
*
* Revision 6.22 2005/09/16 19:56:37 kans
* added hydrogenosome
*
* Revision 6.21 2005/06/15 13:47:21 kans
* corrected optional qualifier numbers, added Validate_ParFlat_GBFeat function
*
* Revision 6.20 2005/06/14 16:06:44 kans
* initial support for ribosomal_slippage, trans_splicing qualifiers derived from /exception
*
* Revision 6.19 2005/06/10 17:25:26 kans
* added space for new qualifiers experimental, inference, rpt_unit_seq, rpt_unit_range
*
* Revision 6.18 2004/08/17 15:50:52 kans
* added GBQUAL_old_locus_tag and GBQUAL_compare
*
* Revision 6.17 2003/10/07 13:50:36 kans
* added gap, operon, oriT features and ecotype, estimated_length and operon qualifiers
*
* Revision 6.16 2003/08/19 15:18:37 kans
* added GBQUAL_segment, increased ParFlat_TOTAL_GBQUAL and opt_qual array size
*
* Revision 6.15 2003/05/07 22:03:31 kans
* added GBQUAL_mol_type, raised opt_qual array to 51 elements
*
* Revision 6.14 2003/02/22 21:20:05 kans
* added GBQUAL_locus_tag, legal for now in gene features
*
* Revision 6.13 2002/04/17 14:41:08 kans
* added GBQUAL_serovar to source feature
*
* Revision 6.12 2002/03/26 16:06:30 kans
* added transgenic, environmental_sample, and isolation_source
*
* Revision 6.11 2002/02/13 18:45:52 kans
* increased ParFlat_TOTAL_GBFEAT, added snoRNA
*
* Revision 6.10 2001/04/10 22:17:03 tatiana
* GBQUAL_endogenous_virus backed off to /note
*
* Revision 6.9 2001/04/10 21:59:17 tatiana
* GBQUAL_endogenous_virus added
*
* Revision 6.8 2000/11/29 20:34:29 tatiana
* virion key removed, GBQUAL_transcript_id added
*
* Revision 6.7 2000/02/02 21:02:41 tatiana
* new type for /number added
*
* Revision 6.6 2000/01/21 21:06:44 kans
* reverted qualifiers, just added organelle, so parser can deal with old and new form during transition
*
* Revision 6.5 2000/01/21 20:48:19 kans
* changes to merge several source qualifiers under new organelle qualifier
*
* Revision 6.4 1999/02/05 15:40:39 tatiana
* GBQUAL_country added
*
* Revision 6.3 1999/01/29 16:18:58 tatiana
* protein_id qualifier added to CDS
*
* Revision 6.2 1998/04/30 21:43:11 tatiana
* *** empty log message ***
*
* Revision 6.1 1997/12/23 23:39:00 kans
* raised ParFlat_TOTAL_GBQUAL, added GBQUAL_focus and GBQUAL_specimen_voucher
*
* Revision 6.0 1997/08/25 18:05:59 madden
* Revision changed to 6.0
*
* Revision 5.7 1997/07/29 20:59:52 vakatov
* Encapsulated 'ParFlat_GBQual_names' and 'ParFlat_GBFeat'(formerly
* global) variables into access functions. Made other global variables
* be "extern" instead of "NLM_EXTERN"(i.e. local within the PC DLL).
*
* Revision 5.6 1997/06/19 18:37:59 vakatov
* [WIN32,MSVC++] Adopted for the "NCBIOBJ.LIB" DLL'ization
*
* Revision 5.5 1996/09/17 14:50:43 tatiana
* 'virion' added, number of quals increased to 50
*
* Revision 5.4 1996/08/02 16:50:30 tatiana
* a typo fixed
*
* Revision 5.3 1996/07/30 17:28:07 kans
* ParFlat_... arrays now external in header file
*
* Revision 5.2 1996/07/29 19:44:57 tatiana
* GBQual_names changed to use a structure
*
* Revision 5.1 1996/07/25 14:18:15 tatiana
* added qualifiers: allele, exception, replace
*
* Revision 4.4 1995/11/13 15:53:11 tatiana
* serotype added
*
* Revision 4.3 1995/11/08 22:58:20 tatiana
* serotype added
*
* Revision 4.2 1995/08/19 03:08:06 tatiana
* *** empty log message ***
*
* Revision 4.1 1995/08/15 22:06:29 tatiana
* db_xref added
*
* Revision 1.2 1995/05/15 21:46:05 ostell
* added Log line
*
*
* 10-14-93
******************************************************************************/
#ifndef _GBFEATDFN_
#define _GBFEATDFN_
#define GBQUAL_allele 0
#define GBQUAL_anticodon 1
#define GBQUAL_bound_moiety 2
#define GBQUAL_cell_line 3
#define GBQUAL_cell_type 4
#define GBQUAL_chromosome 5
#define GBQUAL_chloroplast 6
#define GBQUAL_chromoplast 7
#define GBQUAL_citation 8
#define GBQUAL_clone 9
#define GBQUAL_clone_lib 10
#define GBQUAL_codon 11
#define GBQUAL_codon_start 12
#define GBQUAL_cons_splice 13
#define GBQUAL_cultivar 14
#define GBQUAL_cyanelle 15
#define GBQUAL_db_xref 16
#define GBQUAL_dev_stage 17
#define GBQUAL_direction 18
#define GBQUAL_EC_number 19
#define GBQUAL_evidence 20
#define GBQUAL_exception 21
#define GBQUAL_frequency 22
#define GBQUAL_function 23
#define GBQUAL_gene 24
#define GBQUAL_gdb_xref 25
#define GBQUAL_germline 26
#define GBQUAL_haplotype 27
#define GBQUAL_insertion_seq 28
#define GBQUAL_isolate 29
#define GBQUAL_kinetoplast 30
#define GBQUAL_label 31
#define GBQUAL_lab_host 32
#define GBQUAL_map 33
#define GBQUAL_macronuclear 34
#define GBQUAL_mitochondrion 35
#define GBQUAL_mod_base 36
#define GBQUAL_note 37
#define GBQUAL_number 38
#define GBQUAL_organism 39
#define GBQUAL_partial 40
#define GBQUAL_PCR_conditions 41
#define GBQUAL_pop_variant 42
#define GBQUAL_phenotype 43
#define GBQUAL_plasmid 44
#define GBQUAL_product 45
#define GBQUAL_proviral 46
#define GBQUAL_pseudo 47
#define GBQUAL_rearranged 48
#define GBQUAL_replace 49
#define GBQUAL_rpt_family 50
#define GBQUAL_rpt_type 51
#define GBQUAL_rpt_unit 52
#define GBQUAL_sex 53
#define GBQUAL_sequenced_mol 54
#define GBQUAL_serotype 55
#define GBQUAL_specific_host 56
#define GBQUAL_standard_name 57
#define GBQUAL_strain 58
#define GBQUAL_sub_clone 59
#define GBQUAL_sub_species 60
#define GBQUAL_sub_strain 61
#define GBQUAL_tissue_lib 62
#define GBQUAL_tissue_type 63
#define GBQUAL_translation 64
#define GBQUAL_transl_except 65
#define GBQUAL_transl_table 66
#define GBQUAL_transposon 67
#define GBQUAL_usedin 68
#define GBQUAL_variety 69
#define GBQUAL_virion 70
#define GBQUAL_focus 71
#define GBQUAL_specimen_voucher 72
#define GBQUAL_protein_id 73
#define GBQUAL_country 74
#define GBQUAL_organelle 75
#define GBQUAL_transcript_id 76
#define GBQUAL_transgenic 77
#define GBQUAL_environmental_sample 78
#define GBQUAL_isolation_source 79
#define GBQUAL_serovar 80
#define GBQUAL_locus_tag 81
#define GBQUAL_mol_type 82
#define GBQUAL_segment 83
#define GBQUAL_ecotype 84
#define GBQUAL_estimated_length 85
#define GBQUAL_operon 86
#define GBQUAL_old_locus_tag 87
#define GBQUAL_compare 88
#define GBQUAL_experiment 89
#define GBQUAL_inference 90
#define GBQUAL_rpt_unit_seq 91
#define GBQUAL_rpt_unit_range 92
#define GBQUAL_ribosomal_slippage 93
#define GBQUAL_trans_splicing 94
#define GBQUAL_collected_by 95
#define GBQUAL_collection_date 96
#define GBQUAL_identified_by 97
#define GBQUAL_lat_lon 98
#define GBQUAL_PCR_primers 99
#define ParFlat_TOTAL_GBQUAL 100
#define ParFlat_TOTAL_IntOr 3
#define ParFlat_TOTAL_LRB 3
#define ParFlat_TOTAL_Exp 2
#define ParFlat_TOTAL_Rpt 7
#define ParFlat_TOTAL_GBFEAT 67
#define Class_pos_aa 1
#define Class_text 2
#define Class_bracket_int 3
#define Class_seq_aa 4
#define Class_int_or 5
#define Class_site 6
#define Class_L_R_B 7
#define Class_ecnum 8
#define Class_exper 9
#define Class_none 10
#define Class_token 11
#define Class_int 12
#define Class_rpt 13
#define Class_flabel_base 14
#define Class_flabel_dbname 15
#define Class_note 16
#define Class_number 17
#define ParFlat_Stoken_type 1
#define ParFlat_BracketInt_type 2
#define ParFlat_Integer_type 3
#define ParFlat_Number_type 4
/*********************************************************************/
typedef struct sematic_gbfeature {
CharPtr key;
Int2 mand_num;
Int2 mand_qual[5];
Int2 opt_num;
Int2 opt_qual[65];
} SematicFeat, PNTR SematicFeatPtr;
typedef struct gbfeat_name {
CharPtr name;
Uint1 gbclass;
} GbFeatName, PNTR GbFeatNamePtr;
#undef NLM_EXTERN
#ifdef NLM_IMPORT
#define NLM_EXTERN NLM_IMPORT
#else
#define NLM_EXTERN extern
#endif
NLM_EXTERN GbFeatNamePtr x_ParFlat_GBQual_names PROTO((void));
#define ParFlat_GBQual_names x_ParFlat_GBQual_names()
NLM_EXTERN SematicFeatPtr x_ParFlat_GBFeat PROTO((void));
#define ParFlat_GBFeat x_ParFlat_GBFeat()
NLM_EXTERN ValNodePtr Validate_ParFlat_GBFeat (void);
extern CharPtr ParFlat_IntOrString [ParFlat_TOTAL_IntOr];
extern CharPtr ParFlat_LRBString [ParFlat_TOTAL_LRB];
extern CharPtr ParFlat_ExpString [ParFlat_TOTAL_Exp];
extern CharPtr ParFlat_RptString [ParFlat_TOTAL_Rpt];
#undef NLM_EXTERN
#ifdef NLM_EXPORT
#define NLM_EXTERN NLM_EXPORT
#else
#define NLM_EXTERN
#endif
#endif
|