1 /*****************************************************************************
2 *   gbfeatdfn.h:
3 *   -- GenBank Feature table define file
4 *
5 ******************************************************************************/
6 #ifndef _GBFEATDFN_
7 #define _GBFEATDFN_
8 
9 
10 #define GBQUAL_allele                 0
11 #define GBQUAL_anticodon              1
12 #define GBQUAL_bound_moiety           2
13 #define GBQUAL_cell_line              3
14 #define GBQUAL_cell_type              4
15 #define GBQUAL_chromosome             5
16 #define GBQUAL_chloroplast            6
17 #define GBQUAL_chromoplast            7
18 #define GBQUAL_citation               8
19 #define GBQUAL_clone                  9
20 #define GBQUAL_clone_lib             10
21 #define GBQUAL_codon                 11
22 #define GBQUAL_codon_start           12
23 #define GBQUAL_cons_splice           13
24 #define GBQUAL_cultivar              14
25 #define GBQUAL_cyanelle              15
26 #define GBQUAL_db_xref               16
27 #define GBQUAL_dev_stage             17
28 #define GBQUAL_direction             18
29 #define GBQUAL_EC_number             19
30 #define GBQUAL_evidence              20
31 #define GBQUAL_exception             21
32 #define GBQUAL_frequency             22
33 #define GBQUAL_function              23
34 #define GBQUAL_gene                  24
35 #define GBQUAL_gdb_xref              25
36 #define GBQUAL_germline              26
37 #define GBQUAL_haplotype             27
38 #define GBQUAL_insertion_seq         28
39 #define GBQUAL_isolate               29
40 #define GBQUAL_kinetoplast           30
41 #define GBQUAL_label                 31
42 #define GBQUAL_lab_host              32
43 #define GBQUAL_map                   33
44 #define GBQUAL_macronuclear          34
45 #define GBQUAL_mitochondrion         35
46 #define GBQUAL_mod_base              36
47 #define GBQUAL_note                  37
48 #define GBQUAL_number                38
49 #define GBQUAL_organism              39
50 #define GBQUAL_partial               40
51 #define GBQUAL_PCR_conditions        41
52 #define GBQUAL_pop_variant           42
53 #define GBQUAL_phenotype             43
54 #define GBQUAL_plasmid               44
55 #define GBQUAL_product               45
56 #define GBQUAL_proviral              46
57 #define GBQUAL_pseudo                47
58 #define GBQUAL_rearranged            48
59 #define GBQUAL_replace               49
60 #define GBQUAL_rpt_family            50
61 #define GBQUAL_rpt_type              51
62 #define GBQUAL_rpt_unit              52
63 #define GBQUAL_sex                   53
64 #define GBQUAL_sequenced_mol         54
65 #define GBQUAL_serotype              55
66 #define GBQUAL_specific_host         56
67 #define GBQUAL_standard_name         57
68 #define GBQUAL_strain                58
69 #define GBQUAL_sub_clone             59
70 #define GBQUAL_sub_species           60
71 #define GBQUAL_sub_strain            61
72 #define GBQUAL_tissue_lib            62
73 #define GBQUAL_tissue_type           63
74 #define GBQUAL_translation           64
75 #define GBQUAL_transl_except         65
76 #define GBQUAL_transl_table          66
77 #define GBQUAL_transposon            67
78 #define GBQUAL_usedin                68
79 #define GBQUAL_variety               69
80 #define GBQUAL_virion                70
81 #define GBQUAL_focus                 71
82 #define GBQUAL_specimen_voucher      72
83 #define GBQUAL_protein_id            73
84 #define GBQUAL_country               74
85 #define GBQUAL_organelle             75
86 #define GBQUAL_transcript_id         76
87 #define GBQUAL_transgenic            77
88 #define GBQUAL_environmental_sample  78
89 #define GBQUAL_isolation_source      79
90 #define GBQUAL_serovar               80
91 #define GBQUAL_locus_tag             81
92 #define GBQUAL_mol_type              82
93 #define GBQUAL_segment               83
94 #define GBQUAL_ecotype               84
95 #define GBQUAL_estimated_length      85
96 #define GBQUAL_operon                86
97 #define GBQUAL_old_locus_tag         87
98 #define GBQUAL_compare               88
99 #define GBQUAL_experiment            89
100 #define GBQUAL_inference             90
101 #define GBQUAL_rpt_unit_seq          91
102 #define GBQUAL_rpt_unit_range        92
103 #define GBQUAL_ribosomal_slippage    93
104 #define GBQUAL_trans_splicing        94
105 #define GBQUAL_collected_by          95
106 #define GBQUAL_collection_date       96
107 #define GBQUAL_identified_by         97
108 #define GBQUAL_lat_lon               98
109 #define GBQUAL_PCR_primers           99
110 #define GBQUAL_mobile_element       100
111 #define GBQUAL_metagenomic          101
112 #define GBQUAL_culture_collection   102
113 #define GBQUAL_bio_material         103
114 #define GBQUAL_ncRNA_class          104
115 #define GBQUAL_tag_peptide          105
116 #define GBQUAL_mating_type          106
117 #define GBQUAL_satellite            107
118 #define GBQUAL_gene_synonym         108
119 #define GBQUAL_UniProtKB_evidence   109
120 #define GBQUAL_haplogroup           110
121 #define GBQUAL_artificial_location  111
122 #define GBQUAL_non_functional       112
123 #define GBQUAL_pseudogene           113
124 #define GBQUAL_mobile_element_type  114
125 #define GBQUAL_gap_type             115
126 #define GBQUAL_linkage_evidence     116
127 #define GBQUAL_altitude             117
128 #define GBQUAL_metagenome_source    118
129 #define GBQUAL_type_material        119
130 #define GBQUAL_regulatory_class     120
131 #define GBQUAL_recombination_class  121
132 
133 #define ParFlat_TOTAL_GBQUAL    122
134 #define ParFlat_TOTAL_IntOr       3
135 #define ParFlat_TOTAL_LRB         3
136 #define ParFlat_TOTAL_Exp         2
137 #define ParFlat_TOTAL_Rpt        15
138 #define ParFlat_TOTAL_GBFEAT     75
139 
140 #define  Class_pos_aa             1
141 #define  Class_text               2
142 #define  Class_bracket_int        3
143 #define  Class_seq_aa             4
144 #define  Class_int_or             5
145 #define  Class_site               6
146 #define  Class_L_R_B              7
147 #define  Class_ecnum              8
148 #define  Class_exper              9
149 #define  Class_none              10
150 #define  Class_token             11
151 #define  Class_int               12
152 #define  Class_rpt               13
153 #define  Class_flabel_base       14
154 #define  Class_flabel_dbname     15
155 #define  Class_note              16
156 #define  Class_number            17
157 
158 
159 #define  ParFlat_Stoken_type            1
160 #define  ParFlat_BracketInt_type        2
161 #define  ParFlat_Integer_type           3
162 #define  ParFlat_Number_type            4
163 
164 /*********************************************************************/
165 
166 typedef struct sematic_gbfeature {
167     CharPtr  key;
168     Int2     mand_num;
169     Int2     mand_qual[5];
170     Int2     opt_num;
171     Int2     opt_qual[65];
172 } SematicFeat, PNTR SematicFeatPtr;
173 
174 typedef struct gbfeat_name {
175     CharPtr  name;
176     Uint1     gbclass;
177 } GbFeatName, PNTR GbFeatNamePtr;
178 
179 #undef NLM_EXTERN
180 #ifdef NLM_IMPORT
181 #define NLM_EXTERN NLM_IMPORT
182 #else
183 #define NLM_EXTERN extern
184 #endif
185 
186 NLM_EXTERN GbFeatNamePtr x_ParFlat_GBQual_names PROTO((void));
187 #define ParFlat_GBQual_names x_ParFlat_GBQual_names()
188 
189 NLM_EXTERN SematicFeatPtr x_ParFlat_GBFeat PROTO((void));
190 #define ParFlat_GBFeat x_ParFlat_GBFeat()
191 
192 NLM_EXTERN ValNodePtr Validate_ParFlat_GBFeat (void);
193 
194 extern CharPtr     ParFlat_IntOrString [ParFlat_TOTAL_IntOr];
195 extern CharPtr     ParFlat_LRBString   [ParFlat_TOTAL_LRB];
196 extern CharPtr     ParFlat_ExpString   [ParFlat_TOTAL_Exp];
197 extern CharPtr     ParFlat_RptString   [ParFlat_TOTAL_Rpt];
198 
199 #undef NLM_EXTERN
200 #ifdef NLM_EXPORT
201 #define NLM_EXTERN NLM_EXPORT
202 #else
203 #define NLM_EXTERN
204 #endif
205 
206 #endif
207