File: NCBI_General.mod.dtd

package info (click to toggle)
python-biopython 1.68%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 46,860 kB
  • ctags: 13,237
  • sloc: python: 160,306; xml: 93,216; ansic: 9,118; sql: 1,208; makefile: 155; sh: 63
file content (333 lines) | stat: -rw-r--r-- 8,215 bytes parent folder | download | duplicates (8)
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
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
<!-- ============================================
     ::DATATOOL:: Generated from "general.asn"
     ::DATATOOL:: by application DATATOOL version 2.0.0
     ::DATATOOL:: on 08/02/2010 23:05:14
     ============================================ -->

<!-- ============================================ -->
<!-- This section is mapped from module "NCBI-General"
================================================= -->

<!--
$Revision: 98896 $
**********************************************************************

  NCBI General Data elements
  by James Ostell, 1990
  Version 3.0 - June 1994

**********************************************************************
-->

<!-- Elements used by other modules:
          Date,
          Person-id,
          Object-id,
          Dbtag,
          Int-fuzz,
          User-object,
          User-field -->
<!-- ============================================ -->

<!--
 StringStore is really a VisibleString.  It is used to define very
   long strings which may need to be stored by the receiving program
   in special structures, such as a ByteStore, but it's just a hint.
   AsnTool stores StringStores in ByteStore structures.
 OCTET STRINGs are also stored in ByteStores by AsnTool
 
 typedef struct bsunit {             /* for building multiline strings 
 Nlm_Handle str;            /* the string piece 
 Nlm_Int2 len_avail,
 len;
 struct bsunit PNTR next; }       /* the next one 
 Nlm_BSUnit, PNTR Nlm_BSUnitPtr;
 
 typedef struct bytestore {
 Nlm_Int4 seekptr,       /* current position 
 totlen,             /* total stored data length in bytes 
 chain_offset;       /* offset in ByteStore of first byte in curchain 
 Nlm_BSUnitPtr chain,       /* chain of elements 
 curchain;           /* the BSUnit containing seekptr 
 } Nlm_ByteStore, PNTR Nlm_ByteStorePtr;

 AsnTool incorporates this as a primitive type, so the definition
   is here just for completeness
 
  StringStore ::= [APPLICATION 1] IMPLICIT OCTET STRING

 BigInt is really an INTEGER. It is used to warn the receiving code to expect
   a value bigger than Int4 (actually Int8). It will be stored in DataVal.bigintvalue

   Like StringStore, AsnTool incorporates it as a primitive. The definition would be:
   BigInt ::= [APPLICATION 2] IMPLICIT INTEGER

 Date is used to replace the (overly complex) UTCTtime, GeneralizedTime
  of ASN.1
  It stores only a date

-->
<!ELEMENT Date (
        Date_str | 
        Date_std)>

<!-- for those unparsed dates -->
<!ELEMENT Date_str (#PCDATA)>

<!-- use this if you can -->
<!ELEMENT Date_std (Date-std)>

<!-- NOTE: this is NOT a unix tm struct -->
<!ELEMENT Date-std (
        Date-std_year, 
        Date-std_month?, 
        Date-std_day?, 
        Date-std_season?, 
        Date-std_hour?, 
        Date-std_minute?, 
        Date-std_second?)>

<!-- full year (including 1900) -->
<!ELEMENT Date-std_year (%INTEGER;)>

<!-- month (1-12) -->
<!ELEMENT Date-std_month (%INTEGER;)>

<!-- day of month (1-31) -->
<!ELEMENT Date-std_day (%INTEGER;)>

<!-- for "spring", "may-june", etc -->
<!ELEMENT Date-std_season (#PCDATA)>

<!-- hour of day (0-23) -->
<!ELEMENT Date-std_hour (%INTEGER;)>

<!-- minute of hour (0-59) -->
<!ELEMENT Date-std_minute (%INTEGER;)>

<!-- second of minute (0-59) -->
<!ELEMENT Date-std_second (%INTEGER;)>

<!--
 Dbtag is generalized for tagging
 eg. { "Social Security", str "023-79-8841" }
 or  { "member", id 8882224 }
-->
<!ELEMENT Dbtag (
        Dbtag_db, 
        Dbtag_tag)>

<!-- name of database or system -->
<!ELEMENT Dbtag_db (#PCDATA)>

<!-- appropriate tag -->
<!ELEMENT Dbtag_tag (Object-id)>

<!--
 Object-id can tag or name anything

-->
<!ELEMENT Object-id (
        Object-id_id | 
        Object-id_str)>

<!ELEMENT Object-id_id (%INTEGER;)>

<!ELEMENT Object-id_str (#PCDATA)>

<!--
 Person-id is to define a std element for people

-->
<!ELEMENT Person-id (
        Person-id_dbtag | 
        Person-id_name | 
        Person-id_ml | 
        Person-id_str | 
        Person-id_consortium)>

<!-- any defined database tag -->
<!ELEMENT Person-id_dbtag (Dbtag)>

<!-- structured name -->
<!ELEMENT Person-id_name (Name-std)>

<!--
 MEDLINE name (semi-structured)
    eg. "Jones RM"
-->
<!ELEMENT Person-id_ml (#PCDATA)>

<!-- unstructured name -->
<!ELEMENT Person-id_str (#PCDATA)>

<!-- consortium name -->
<!ELEMENT Person-id_consortium (#PCDATA)>

<!-- Structured names -->
<!ELEMENT Name-std (
        Name-std_last, 
        Name-std_first?, 
        Name-std_middle?, 
        Name-std_full?, 
        Name-std_initials?, 
        Name-std_suffix?, 
        Name-std_title?)>

<!ELEMENT Name-std_last (#PCDATA)>

<!ELEMENT Name-std_first (#PCDATA)>

<!ELEMENT Name-std_middle (#PCDATA)>

<!-- full name eg. "J. John Smith, Esq" -->
<!ELEMENT Name-std_full (#PCDATA)>

<!-- first + middle initials -->
<!ELEMENT Name-std_initials (#PCDATA)>

<!-- Jr, Sr, III -->
<!ELEMENT Name-std_suffix (#PCDATA)>

<!-- Dr., Sister, etc -->
<!ELEMENT Name-std_title (#PCDATA)>

<!--
**** Int-fuzz **********************************************
*
*   uncertainties in integer values
-->
<!ELEMENT Int-fuzz (
        Int-fuzz_p-m | 
        Int-fuzz_range | 
        Int-fuzz_pct | 
        Int-fuzz_lim | 
        Int-fuzz_alt)>

<!-- plus or minus fixed amount -->
<!ELEMENT Int-fuzz_p-m (%INTEGER;)>
<!-- max to min -->
<!ELEMENT Int-fuzz_range (
        Int-fuzz_range_max, 
        Int-fuzz_range_min)>

<!ELEMENT Int-fuzz_range_max (%INTEGER;)>

<!ELEMENT Int-fuzz_range_min (%INTEGER;)>

<!-- % plus or minus (x10) 0-1000 -->
<!ELEMENT Int-fuzz_pct (%INTEGER;)>
<!-- some limit value -->
<!ELEMENT Int-fuzz_lim %ENUM;>

<!--
    unk	-  unknown
    gt	-  greater than
    lt	-  less than
    tr	-  space to right of position
    tl	-  space to left of position
    circle	-  artificial break at origin of circle
    other	-  something else
-->
<!ATTLIST Int-fuzz_lim value (
        unk |
        gt |
        lt |
        tr |
        tl |
        circle |
        other
        ) #REQUIRED >


<!-- set of alternatives for the integer -->
<!ELEMENT Int-fuzz_alt (Int-fuzz_alt_E*)>


<!ELEMENT Int-fuzz_alt_E (%INTEGER;)>

<!--
**** User-object **********************************************
*
*   a general object for a user defined structured data item
*    used by Seq-feat and Seq-descr
-->
<!ELEMENT User-object (
        User-object_class?, 
        User-object_type, 
        User-object_data)>

<!-- endeavor which designed this object -->
<!ELEMENT User-object_class (#PCDATA)>

<!-- type of object within class -->
<!ELEMENT User-object_type (Object-id)>

<!-- the object itself -->
<!ELEMENT User-object_data (User-field*)>


<!ELEMENT User-field (
        User-field_label, 
        User-field_num?, 
        User-field_data)>

<!-- field label -->
<!ELEMENT User-field_label (Object-id)>

<!-- required for strs, ints, reals, oss -->
<!ELEMENT User-field_num (%INTEGER;)>
<!-- field contents -->
<!ELEMENT User-field_data (
        User-field_data_str | 
        User-field_data_int | 
        User-field_data_real | 
        User-field_data_bool | 
        User-field_data_os | 
        User-field_data_object | 
        User-field_data_strs | 
        User-field_data_ints | 
        User-field_data_reals | 
        User-field_data_oss | 
        User-field_data_fields | 
        User-field_data_objects)>

<!ELEMENT User-field_data_str (#PCDATA)>

<!ELEMENT User-field_data_int (%INTEGER;)>

<!ELEMENT User-field_data_real (%REAL;)>

<!ELEMENT User-field_data_bool EMPTY>
<!ATTLIST User-field_data_bool value ( true | false ) #REQUIRED >


<!ELEMENT User-field_data_os (%OCTETS;)>

<!-- for using other definitions -->
<!ELEMENT User-field_data_object (User-object)>

<!ELEMENT User-field_data_strs (User-field_data_strs_E*)>


<!ELEMENT User-field_data_strs_E (#PCDATA)>

<!ELEMENT User-field_data_ints (User-field_data_ints_E*)>


<!ELEMENT User-field_data_ints_E (%INTEGER;)>

<!ELEMENT User-field_data_reals (User-field_data_reals_E*)>


<!ELEMENT User-field_data_reals_E (%REAL;)>

<!ELEMENT User-field_data_oss (User-field_data_oss_E*)>


<!ELEMENT User-field_data_oss_E (%OCTETS;)>

<!ELEMENT User-field_data_fields (User-field*)>

<!ELEMENT User-field_data_objects (User-object*)>