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
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
|
--$Revision: 6.0 $
--**********************************************************************
--
-- asn.all
-- this file contains all NCBI ASN.1 specifications together
--
-- by James Ostell, 1990
--
--**********************************************************************
--$Revision: 6.4 $
--**********************************************************************
--
-- NCBI General Data elements
-- by James Ostell, 1990
-- Version 3.0 - June 1994
--
--**********************************************************************
NCBI-General DEFINITIONS ::=
BEGIN
EXPORTS Date, Person-id, Object-id, Dbtag, Int-fuzz, User-object;
-- 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
--
Date ::= CHOICE {
str VisibleString , -- for those unparsed dates
std Date-std } -- use this if you can
Date-std ::= SEQUENCE { -- NOTE: this is NOT a unix tm struct
year INTEGER , -- full year (including 1900)
month INTEGER OPTIONAL , -- month (1-12)
day INTEGER OPTIONAL , -- day of month (1-31)
season VisibleString OPTIONAL , -- for "spring", "may-june", etc
hour INTEGER OPTIONAL , -- hour of day (0-23)
minute INTEGER OPTIONAL , -- minute of hour (0-59)
second INTEGER OPTIONAL } -- second of minute (0-59)
-- Dbtag is generalized for tagging
-- eg. { "Social Security", str "023-79-8841" }
-- or { "member", id 8882224 }
Dbtag ::= SEQUENCE {
db VisibleString , -- name of database or system
tag Object-id } -- appropriate tag
-- Object-id can tag or name anything
--
Object-id ::= CHOICE {
id INTEGER ,
str VisibleString }
-- Person-id is to define a std element for people
--
Person-id ::= CHOICE {
dbtag Dbtag , -- any defined database tag
name Name-std , -- structured name
ml VisibleString , -- MEDLINE name (semi-structured)
-- eg. "Jones RM"
str VisibleString, -- unstructured name
consortium VisibleString } -- consortium name
Name-std ::= SEQUENCE { -- Structured names
last VisibleString ,
first VisibleString OPTIONAL ,
middle VisibleString OPTIONAL ,
full VisibleString OPTIONAL , -- full name eg. "J. John Smith, Esq"
initials VisibleString OPTIONAL, -- first + middle initials
suffix VisibleString OPTIONAL , -- Jr, Sr, III
title VisibleString OPTIONAL } -- Dr., Sister, etc
--**** Int-fuzz **********************************************
--*
--* uncertainties in integer values
Int-fuzz ::= CHOICE {
p-m INTEGER , -- plus or minus fixed amount
range SEQUENCE { -- max to min
max INTEGER ,
min INTEGER } ,
pct INTEGER , -- % plus or minus (x10) 0-1000
lim ENUMERATED { -- some limit value
unk (0) , -- unknown
gt (1) , -- greater than
lt (2) , -- less than
tr (3) , -- space to right of position
tl (4) , -- space to left of position
circle (5) , -- artificial break at origin of circle
other (255) } , -- something else
alt SET OF INTEGER } -- set of alternatives for the integer
--**** User-object **********************************************
--*
--* a general object for a user defined structured data item
--* used by Seq-feat and Seq-descr
User-object ::= SEQUENCE {
class VisibleString OPTIONAL , -- endeavor which designed this object
type Object-id , -- type of object within class
data SEQUENCE OF User-field } -- the object itself
User-field ::= SEQUENCE {
label Object-id , -- field label
num INTEGER OPTIONAL , -- required for strs, ints, reals, oss
data CHOICE { -- field contents
str VisibleString ,
int INTEGER ,
real REAL ,
bool BOOLEAN ,
os OCTET STRING ,
object User-object , -- for using other definitions
strs SEQUENCE OF VisibleString ,
ints SEQUENCE OF INTEGER ,
reals SEQUENCE OF REAL ,
oss SEQUENCE OF OCTET STRING ,
fields SEQUENCE OF User-field ,
objects SEQUENCE OF User-object } }
END
--$Revision: 6.2 $
--****************************************************************
--
-- NCBI Bibliographic data elements
-- by James Ostell, 1990
--
-- Taken from the American National Standard for
-- Bibliographic References
-- ANSI Z39.29-1977
-- Version 3.0 - June 1994
-- PubMedId added in 1996
-- ArticleIds and eprint elements added in 1999
--
--****************************************************************
NCBI-Biblio DEFINITIONS ::=
BEGIN
EXPORTS Cit-art, Cit-jour, Cit-book, Cit-pat, Cit-let, Id-pat, Cit-gen,
Cit-proc, Cit-sub, Title, Author, PubMedId;
IMPORTS Person-id, Date, Dbtag FROM NCBI-General;
-- Article Ids
ArticleId ::= CHOICE { -- can be many ids for an article
pubmed PubMedId , -- see types below
medline MedlineUID ,
doi DOI ,
pii PII ,
pmcid PmcID ,
pmcpid PmcPid ,
pmpid PmPid ,
other Dbtag } -- generic catch all
PubMedId ::= INTEGER -- Id from the PubMed database at NCBI
MedlineUID ::= INTEGER -- Id from MEDLINE
DOI ::= VisibleString -- Document Object Identifier
PII ::= VisibleString -- Controlled Publisher Identifier
PmcID ::= INTEGER -- PubMed Central Id
PmcPid ::= VisibleString -- Publisher Id supplied to PubMed Central
PmPid ::= VisibleString -- Publisher Id supplied to PubMed
ArticleIdSet ::= SET OF ArticleId
-- Status Dates
PubStatus ::= INTEGER { -- points of publication
received (1) , -- date manuscript received for review
accepted (2) , -- accepted for publication
epublish (3) , -- published electronically by publisher
ppublish (4) , -- published in print by publisher
revised (5) , -- article revised by publisher/author
pmc (6) , -- article first appeared in PubMed Central
pmcr (7) , -- article revision in PubMed Central
pubmed (8) , -- article citation first appeared in PubMed
pubmedr (9) , -- article citation revision in PubMed
aheadofprint (10), -- epublish, but will be followed by print
premedline (11), -- date into PreMedline status
medline (12), -- date made a MEDLINE record
other (255) }
PubStatusDate ::= SEQUENCE { -- done as a structure so fields can be added
pubstatus PubStatus ,
date Date } -- time may be added later
PubStatusDateSet ::= SET OF PubStatusDate
-- Citation Types
Cit-art ::= SEQUENCE { -- article in journal or book
title Title OPTIONAL , -- title of paper (ANSI requires)
authors Auth-list OPTIONAL , -- authors (ANSI requires)
from CHOICE { -- journal or book
journal Cit-jour ,
book Cit-book ,
proc Cit-proc } ,
ids ArticleIdSet OPTIONAL } -- lots of ids
Cit-jour ::= SEQUENCE { -- Journal citation
title Title , -- title of journal
imp Imprint }
Cit-book ::= SEQUENCE { -- Book citation
title Title , -- Title of book
coll Title OPTIONAL , -- part of a collection
authors Auth-list, -- authors
imp Imprint }
Cit-proc ::= SEQUENCE { -- Meeting proceedings
book Cit-book , -- citation to meeting
meet Meeting } -- time and location of meeting
-- Patent number and date-issue were made optional in 1997 to
-- support patent applications being issued from the USPTO
-- Semantically a Cit-pat must have either a patent number or
-- an application number (or both) to be valid
Cit-pat ::= SEQUENCE { -- patent citation
title VisibleString ,
authors Auth-list, -- author/inventor
country VisibleString , -- Patent Document Country
doc-type VisibleString , -- Patent Document Type
number VisibleString OPTIONAL, -- Patent Document Number
date-issue Date OPTIONAL, -- Patent Issue/Pub Date
class SEQUENCE OF VisibleString OPTIONAL , -- Patent Doc Class Code
app-number VisibleString OPTIONAL , -- Patent Doc Appl Number
app-date Date OPTIONAL , -- Patent Appl File Date
applicants Auth-list OPTIONAL , -- Applicants
assignees Auth-list OPTIONAL , -- Assignees
priority SEQUENCE OF Patent-priority OPTIONAL , -- Priorities
abstract VisibleString OPTIONAL } -- abstract of patent
Patent-priority ::= SEQUENCE {
country VisibleString , -- Patent country code
number VisibleString , -- number assigned in that country
date Date } -- date of application
Id-pat ::= SEQUENCE { -- just to identify a patent
country VisibleString , -- Patent Document Country
id CHOICE {
number VisibleString , -- Patent Document Number
app-number VisibleString } , -- Patent Doc Appl Number
doc-type VisibleString OPTIONAL } -- Patent Doc Type
Cit-let ::= SEQUENCE { -- letter, thesis, or manuscript
cit Cit-book , -- same fields as a book
man-id VisibleString OPTIONAL , -- Manuscript identifier
type ENUMERATED {
manuscript (1) ,
letter (2) ,
thesis (3) } OPTIONAL }
-- NOTE: this is just to cite a
-- direct data submission, see NCBI-Submit
-- for the form of a sequence submission
Cit-sub ::= SEQUENCE { -- citation for a direct submission
authors Auth-list , -- not necessarily authors of the paper
imp Imprint OPTIONAL , -- this only used to get date.. will go
medium ENUMERATED { -- medium of submission
paper (1) ,
tape (2) ,
floppy (3) ,
email (4) ,
other (255) } OPTIONAL ,
date Date OPTIONAL , -- replaces imp, will become required
descr VisibleString OPTIONAL } -- description of changes for public view
Cit-gen ::= SEQUENCE { -- NOT from ANSI, this is a catchall
cit VisibleString OPTIONAL , -- anything, not parsable
authors Auth-list OPTIONAL ,
muid INTEGER OPTIONAL , -- medline uid
journal Title OPTIONAL ,
volume VisibleString OPTIONAL ,
issue VisibleString OPTIONAL ,
pages VisibleString OPTIONAL ,
date Date OPTIONAL ,
serial-number INTEGER OPTIONAL , -- for GenBank style references
title VisibleString OPTIONAL , -- eg. cit="unpublished",title="title"
pmid PubMedId OPTIONAL } -- PubMed Id
-- Authorship Group
Auth-list ::= SEQUENCE {
names CHOICE {
std SEQUENCE OF Author , -- full citations
ml SEQUENCE OF VisibleString , -- MEDLINE, semi-structured
str SEQUENCE OF VisibleString } , -- free for all
affil Affil OPTIONAL } -- author affiliation
Author ::= SEQUENCE {
name Person-id , -- Author, Primary or Secondary
level ENUMERATED {
primary (1),
secondary (2) } OPTIONAL ,
role ENUMERATED { -- Author Role Indicator
compiler (1),
editor (2),
patent-assignee (3),
translator (4) } OPTIONAL ,
affil Affil OPTIONAL ,
is-corr BOOLEAN OPTIONAL } -- TRUE if corresponding author
Affil ::= CHOICE {
str VisibleString , -- unparsed string
std SEQUENCE { -- std representation
affil VisibleString OPTIONAL , -- Author Affiliation, Name
div VisibleString OPTIONAL , -- Author Affiliation, Division
city VisibleString OPTIONAL , -- Author Affiliation, City
sub VisibleString OPTIONAL , -- Author Affiliation, County Sub
country VisibleString OPTIONAL , -- Author Affiliation, Country
street VisibleString OPTIONAL , -- street address, not ANSI
email VisibleString OPTIONAL ,
fax VisibleString OPTIONAL ,
phone VisibleString OPTIONAL ,
postal-code VisibleString OPTIONAL }}
-- Title Group
-- Valid for = A = Analytic (Cit-art)
-- J = Journals (Cit-jour)
-- B = Book (Cit-book)
-- Valid for:
Title ::= SET OF CHOICE {
name VisibleString , -- Title, Anal,Coll,Mono AJB
tsub VisibleString , -- Title, Subordinate A B
trans VisibleString , -- Title, Translated AJB
jta VisibleString , -- Title, Abbreviated J
iso-jta VisibleString , -- specifically ISO jta J
ml-jta VisibleString , -- specifically MEDLINE jta J
coden VisibleString , -- a coden J
issn VisibleString , -- ISSN J
abr VisibleString , -- Title, Abbreviated B
isbn VisibleString } -- ISBN B
Imprint ::= SEQUENCE { -- Imprint group
date Date , -- date of publication
volume VisibleString OPTIONAL ,
issue VisibleString OPTIONAL ,
pages VisibleString OPTIONAL ,
section VisibleString OPTIONAL ,
pub Affil OPTIONAL, -- publisher, required for book
cprt Date OPTIONAL, -- copyright date, " " "
part-sup VisibleString OPTIONAL , -- part/sup of volume
language VisibleString DEFAULT "ENG" , -- put here for simplicity
prepub ENUMERATED { -- for prepublication citations
submitted (1) , -- submitted, not accepted
in-press (2) , -- accepted, not published
other (255) } OPTIONAL ,
part-supi VisibleString OPTIONAL , -- part/sup on issue
retract CitRetract OPTIONAL , -- retraction info
pubstatus PubStatus OPTIONAL , -- current status of this publication
history PubStatusDateSet OPTIONAL } -- dates for this record
CitRetract ::= SEQUENCE {
type ENUMERATED { -- retraction of an entry
retracted (1) , -- this citation retracted
notice (2) , -- this citation is a retraction notice
in-error (3) , -- an erratum was published about this
erratum (4) } , -- this is a published erratum
exp VisibleString OPTIONAL } -- citation and/or explanation
Meeting ::= SEQUENCE {
number VisibleString ,
date Date ,
place Affil OPTIONAL }
END
--$Revision: 6.0 $
--**********************************************************************
--
-- MEDLINE data definitions
-- James Ostell, 1990
--
-- enhanced in 1996 to support PubMed records as well by simply adding
-- the PubMedId and making MedlineId optional
--
--**********************************************************************
NCBI-Medline DEFINITIONS ::=
BEGIN
EXPORTS Medline-entry, Medline-si;
IMPORTS Cit-art, PubMedId FROM NCBI-Biblio
Date FROM NCBI-General;
-- a MEDLINE or PubMed entry
Medline-entry ::= SEQUENCE {
uid INTEGER OPTIONAL , -- MEDLINE UID, sometimes not yet available if from PubMed
em Date , -- Entry Month
cit Cit-art , -- article citation
abstract VisibleString OPTIONAL ,
mesh SET OF Medline-mesh OPTIONAL ,
substance SET OF Medline-rn OPTIONAL ,
xref SET OF Medline-si OPTIONAL ,
idnum SET OF VisibleString OPTIONAL , -- ID Number (grants, contracts)
gene SET OF VisibleString OPTIONAL ,
pmid PubMedId OPTIONAL , -- MEDLINE records may include the PubMedId
pub-type SET OF VisibleString OPTIONAL, -- may show publication types (review, etc)
mlfield SET OF Medline-field OPTIONAL , -- additional Medline field types
status INTEGER {
publisher (1) , -- record as supplied by publisher
premedline (2) , -- premedline record
medline (3) } DEFAULT medline } -- regular medline record
Medline-mesh ::= SEQUENCE {
mp BOOLEAN DEFAULT FALSE , -- TRUE if main point (*)
term VisibleString , -- the MeSH term
qual SET OF Medline-qual OPTIONAL } -- qualifiers
Medline-qual ::= SEQUENCE {
mp BOOLEAN DEFAULT FALSE , -- TRUE if main point
subh VisibleString } -- the subheading
Medline-rn ::= SEQUENCE { -- medline substance records
type ENUMERATED { -- type of record
nameonly (0) ,
cas (1) , -- CAS number
ec (2) } , -- EC number
cit VisibleString OPTIONAL , -- CAS or EC number if present
name VisibleString } -- name (always present)
Medline-si ::= SEQUENCE { -- medline cross reference records
type ENUMERATED { -- type of xref
ddbj (1) , -- DNA Data Bank of Japan
carbbank (2) , -- Carbohydrate Structure Database
embl (3) , -- EMBL Data Library
hdb (4) , -- Hybridoma Data Bank
genbank (5) , -- GenBank
hgml (6) , -- Human Gene Map Library
mim (7) , -- Mendelian Inheritance in Man
msd (8) , -- Microbial Strains Database
pdb (9) , -- Protein Data Bank (Brookhaven)
pir (10) , -- Protein Identification Resource
prfseqdb (11) , -- Protein Research Foundation (Japan)
psd (12) , -- Protein Sequence Database (Japan)
swissprot (13) , -- SwissProt
gdb (14) } , -- Genome Data Base
cit VisibleString OPTIONAL } -- the citation/accession number
Medline-field ::= SEQUENCE {
type INTEGER { -- Keyed type
other (0) , -- look in line code
comment (1) , -- comment line
erratum (2) } , -- retracted, corrected, etc
str VisibleString , -- the text
ids SEQUENCE OF DocRef OPTIONAL } -- pointers relevant to this text
DocRef ::= SEQUENCE { -- reference to a document
type INTEGER {
medline (1) ,
pubmed (2) ,
ncbigi (3) } ,
uid INTEGER }
END
--$Revision: 6.0 $
--**********************************************************************
--
-- PUBMED data definitions
--
--**********************************************************************
NCBI-PubMed DEFINITIONS ::=
BEGIN
EXPORTS Pubmed-entry, Pubmed-url;
IMPORTS PubMedId FROM NCBI-Biblio
Medline-entry FROM NCBI-Medline;
Pubmed-entry ::= SEQUENCE { -- a PubMed entry
-- PUBMED records must include the PubMedId
pmid PubMedId,
-- Medline entry information
medent Medline-entry OPTIONAL,
-- Publisher name
publisher VisibleString OPTIONAL,
-- List of URL to publisher cite
urls SET OF Pubmed-url OPTIONAL,
-- Publisher's article identifier
pubid VisibleString OPTIONAL
}
Pubmed-url ::= SEQUENCE {
location VisibleString OPTIONAL, -- Location code
url VisibleString -- Selected URL for location
}
END
--$Revision: 6.0 $
--**********************************************************************
--
-- MEDLARS data definitions
-- Grigoriy Starchenko, 1997
--
--**********************************************************************
NCBI-Medlars DEFINITIONS ::=
BEGIN
EXPORTS Medlars-entry, Medlars-record;
IMPORTS PubMedId FROM NCBI-Biblio;
Medlars-entry ::= SEQUENCE { -- a MEDLARS entry
pmid PubMedId, -- All entries in PubMed must have it
muid INTEGER OPTIONAL, -- Medline(OCCS) id
recs SET OF Medlars-record -- List of Medlars records
}
Medlars-record ::= SEQUENCE {
code INTEGER, -- Unit record field type integer form
abbr VisibleString OPTIONAL, -- Unit record field type abbreviation form
data VisibleString -- Unit record data
}
END
--$Revision: 6.0 $
--********************************************************************
--
-- Publication common set
-- James Ostell, 1990
--
-- This is the base class definitions for Publications of all sorts
--
-- support for PubMedId added in 1996
--********************************************************************
NCBI-Pub DEFINITIONS ::=
BEGIN
EXPORTS Pub, Pub-set, Pub-equiv;
IMPORTS Medline-entry FROM NCBI-Medline
Cit-art, Cit-jour, Cit-book, Cit-proc, Cit-pat, Id-pat, Cit-gen,
Cit-let, Cit-sub, PubMedId FROM NCBI-Biblio;
Pub ::= CHOICE {
gen Cit-gen , -- general or generic unparsed
sub Cit-sub , -- submission
medline Medline-entry ,
muid INTEGER , -- medline uid
article Cit-art ,
journal Cit-jour ,
book Cit-book ,
proc Cit-proc , -- proceedings of a meeting
patent Cit-pat ,
pat-id Id-pat , -- identify a patent
man Cit-let , -- manuscript, thesis, or letter
equiv Pub-equiv, -- to cite a variety of ways
pmid PubMedId } -- PubMedId
Pub-equiv ::= SET OF Pub -- equivalent identifiers for same citation
Pub-set ::= CHOICE {
pub SET OF Pub ,
medline SET OF Medline-entry ,
article SET OF Cit-art ,
journal SET OF Cit-jour ,
book SET OF Cit-book ,
proc SET OF Cit-proc , -- proceedings of a meeting
patent SET OF Cit-pat }
END
--$Revision: 6.1 $
--**********************************************************************
--
-- NCBI Sequence location and identifier elements
-- by James Ostell, 1990
--
-- Version 3.0 - 1994
--
--**********************************************************************
NCBI-Seqloc DEFINITIONS ::=
BEGIN
EXPORTS Seq-id, Seq-loc, Seq-interval, Packed-seqint, Seq-point, Packed-seqpnt,
Na-strand, Giimport-id;
IMPORTS Object-id, Int-fuzz, Dbtag, Date FROM NCBI-General
Id-pat FROM NCBI-Biblio
Feat-id FROM NCBI-Seqfeat;
--*** Sequence identifiers ********************************
--*
Seq-id ::= CHOICE {
local Object-id , -- local use
gibbsq INTEGER , -- Geninfo backbone seqid
gibbmt INTEGER , -- Geninfo backbone moltype
giim Giimport-id , -- Geninfo import id
genbank Textseq-id ,
embl Textseq-id ,
pir Textseq-id ,
swissprot Textseq-id ,
patent Patent-seq-id ,
other Textseq-id , -- catch all
general Dbtag , -- for other databases
gi INTEGER , -- GenInfo Integrated Database
ddbj Textseq-id , -- DDBJ
prf Textseq-id , -- PRF SEQDB
pdb PDB-seq-id , -- PDB sequence
tpg Textseq-id , -- Third Party Annot/Seq Genbank
tpe Textseq-id , -- Third Party Annot/Seq EMBL
tpd Textseq-id } -- Third Party Annot/Seq DDBJ
Patent-seq-id ::= SEQUENCE {
seqid INTEGER , -- number of sequence in patent
cit Id-pat } -- patent citation
Textseq-id ::= SEQUENCE {
name VisibleString OPTIONAL ,
accession VisibleString OPTIONAL ,
release VisibleString OPTIONAL ,
version INTEGER OPTIONAL }
Giimport-id ::= SEQUENCE {
id INTEGER , -- the id to use here
db VisibleString OPTIONAL , -- dbase used in
release VisibleString OPTIONAL } -- the release
PDB-seq-id ::= SEQUENCE {
mol PDB-mol-id , -- the molecule name
chain INTEGER DEFAULT 32 ,-- a single ASCII character, chain id
rel Date OPTIONAL } -- release date, month and year
PDB-mol-id ::= VisibleString -- name of mol, 4 chars
--*** Sequence locations **********************************
--*
Seq-loc ::= CHOICE {
null NULL , -- not placed
empty Seq-id , -- to NULL one Seq-id in a collection
whole Seq-id , -- whole sequence
int Seq-interval , -- from to
packed-int Packed-seqint ,
pnt Seq-point ,
packed-pnt Packed-seqpnt ,
mix Seq-loc-mix ,
equiv Seq-loc-equiv , -- equivalent sets of locations
bond Seq-bond ,
feat Feat-id } -- indirect, through a Seq-feat
Seq-interval ::= SEQUENCE {
from INTEGER ,
to INTEGER ,
strand Na-strand OPTIONAL ,
id Seq-id , -- WARNING: this used to be optional
fuzz-from Int-fuzz OPTIONAL ,
fuzz-to Int-fuzz OPTIONAL }
Packed-seqint ::= SEQUENCE OF Seq-interval
Seq-point ::= SEQUENCE {
point INTEGER ,
strand Na-strand OPTIONAL ,
id Seq-id , -- WARNING: this used to be optional
fuzz Int-fuzz OPTIONAL }
Packed-seqpnt ::= SEQUENCE {
strand Na-strand OPTIONAL ,
id Seq-id ,
fuzz Int-fuzz OPTIONAL ,
points SEQUENCE OF INTEGER }
Na-strand ::= ENUMERATED { -- strand of nucleid acid
unknown (0) ,
plus (1) ,
minus (2) ,
both (3) , -- in forward orientation
both-rev (4) , -- in reverse orientation
other (255) }
Seq-bond ::= SEQUENCE { -- bond between residues
a Seq-point , -- connection to a least one residue
b Seq-point OPTIONAL } -- other end may not be available
Seq-loc-mix ::= SEQUENCE OF Seq-loc -- this will hold anything
Seq-loc-equiv ::= SET OF Seq-loc -- for a set of equivalent locations
END
--$Revision: 6.6 $
--**********************************************************************
--
-- NCBI Sequence elements
-- by James Ostell, 1990
-- Version 3.0 - June 1994
--
--**********************************************************************
NCBI-Sequence DEFINITIONS ::=
BEGIN
EXPORTS Bioseq, Seq-annot, Pubdesc, Seq-descr, Seqdesc, Numbering, Heterogen,
Seq-hist, GIBB-mol;
IMPORTS Date, Int-fuzz, Dbtag, Object-id, User-object FROM NCBI-General
Seq-align FROM NCBI-Seqalign
Seq-feat FROM NCBI-Seqfeat
Seq-graph FROM NCBI-Seqres
Pub-equiv FROM NCBI-Pub
Org-ref FROM NCBI-Organism
BioSource FROM NCBI-BioSource
Seq-id, Seq-loc FROM NCBI-Seqloc
GB-block FROM GenBank-General
PIR-block FROM PIR-General
EMBL-block FROM EMBL-General
SP-block FROM SP-General
PRF-block FROM PRF-General
PDB-block FROM PDB-General;
--*** Sequence ********************************
--*
Bioseq ::= SEQUENCE {
id SET OF Seq-id , -- equivalent identifiers
descr Seq-descr OPTIONAL , -- descriptors
inst Seq-inst , -- the sequence data
annot SET OF Seq-annot OPTIONAL }
--*** Descriptors *****************************
--*
Seq-descr ::= SET OF Seqdesc
Seqdesc ::= CHOICE {
mol-type GIBB-mol , -- type of molecule
modif SET OF GIBB-mod , -- modifiers
method GIBB-method , -- sequencing method
name VisibleString , -- a name for this sequence
title VisibleString , -- a title for this sequence
org Org-ref , -- if all from one organism
comment VisibleString , -- a more extensive comment
num Numbering , -- a numbering system
maploc Dbtag , -- map location of this sequence
pir PIR-block , -- PIR specific info
genbank GB-block , -- GenBank specific info
pub Pubdesc , -- a reference to the publication
region VisibleString , -- overall region (globin locus)
user User-object , -- user defined object
sp SP-block , -- SWISSPROT specific info
dbxref Dbtag , -- xref to other databases
embl EMBL-block , -- EMBL specific information
create-date Date , -- date entry first created/released
update-date Date , -- date of last update
prf PRF-block , -- PRF specific information
pdb PDB-block , -- PDB specific information
het Heterogen , -- cofactor, etc associated but not bound
source BioSource , -- source of materials, includes Org-ref
molinfo MolInfo } -- info on the molecule and techniques
--******* NOTE:
--* mol-type, modif, method, and org are consolidated and expanded
--* in Org-ref, BioSource, and MolInfo in this specification. They
--* will be removed in later specifications. Do not use them in the
--* the future. Instead expect the new structures.
--*
--***************************
--********************************************************************
--
-- MolInfo gives information on the
-- classification of the type and quality of the sequence
--
-- WARNING: this will replace GIBB-mol, GIBB-mod, GIBB-method
--
--********************************************************************
MolInfo ::= SEQUENCE {
biomol INTEGER {
unknown (0) ,
genomic (1) ,
pre-RNA (2) , -- precursor RNA of any sort really
mRNA (3) ,
rRNA (4) ,
tRNA (5) ,
snRNA (6) ,
scRNA (7) ,
peptide (8) ,
other-genetic (9) , -- other genetic material
genomic-mRNA (10) , -- reported a mix of genomic and cdna sequence
cRNA (11) , -- viral RNA genome copy intermediate
snoRNA (12) , -- small nucleolar RNA
transcribed-RNA (13) , -- transcribed RNA other than existing classes
other (255) } DEFAULT unknown ,
tech INTEGER {
unknown (0) ,
standard (1) , -- standard sequencing
est (2) , -- Expressed Sequence Tag
sts (3) , -- Sequence Tagged Site
survey (4) , -- one-pass genomic sequence
genemap (5) , -- from genetic mapping techniques
physmap (6) , -- from physical mapping techniques
derived (7) , -- derived from other data, not a primary entity
concept-trans (8) , -- conceptual translation
seq-pept (9) , -- peptide was sequenced
both (10) , -- concept transl. w/ partial pept. seq.
seq-pept-overlap (11) , -- sequenced peptide, ordered by overlap
seq-pept-homol (12) , -- sequenced peptide, ordered by homology
concept-trans-a (13) , -- conceptual transl. supplied by author
htgs-1 (14) , -- unordered High Throughput sequence contig
htgs-2 (15) , -- ordered High Throughput sequence contig
htgs-3 (16) , -- finished High Throughput sequence
fli-cdna (17) , -- full length insert cDNA
htgs-0 (18) , -- single genomic reads for coordination
htc (19) , -- high throughput cDNA
wgs (20) , -- whole genome shotgun sequencing
other (255) } -- use Source.techexp
DEFAULT unknown ,
techexp VisibleString OPTIONAL , -- explanation if tech not enough
--
-- Completeness is not indicated in most records. For genomes, assume
-- the sequences are incomplete unless specifically marked as complete.
-- For mRNAs, assume the ends are not known exactly unless marked as
-- having the left or right end.
--
completeness INTEGER {
unknown (0) ,
complete (1) , -- complete biological entity
partial (2) , -- partial but no details given
no-left (3) , -- missing 5' or NH3 end
no-right (4) , -- missing 3' or COOH end
no-ends (5) , -- missing both ends
has-left (6) , -- 5' or NH3 end present
has-right (7) , -- 3' or COOH end present
other (255) } DEFAULT unknown }
GIBB-mol ::= ENUMERATED { -- type of molecule represented
unknown (0) ,
genomic (1) ,
pre-mRNA (2) , -- precursor RNA of any sort really
mRNA (3) ,
rRNA (4) ,
tRNA (5) ,
snRNA (6) ,
scRNA (7) ,
peptide (8) ,
other-genetic (9) , -- other genetic material
genomic-mRNA (10) , -- reported a mix of genomic and cdna sequence
other (255) }
GIBB-mod ::= ENUMERATED { -- GenInfo Backbone modifiers
dna (0) ,
rna (1) ,
extrachrom (2) ,
plasmid (3) ,
mitochondrial (4) ,
chloroplast (5) ,
kinetoplast (6) ,
cyanelle (7) ,
synthetic (8) ,
recombinant (9) ,
partial (10) ,
complete (11) ,
mutagen (12) , -- subject of mutagenesis ?
natmut (13) , -- natural mutant ?
transposon (14) ,
insertion-seq (15) ,
no-left (16) , -- missing left end (5' for na, NH2 for aa)
no-right (17) , -- missing right end (3' or COOH)
macronuclear (18) ,
proviral (19) ,
est (20) , -- expressed sequence tag
sts (21) , -- sequence tagged site
survey (22) , -- one pass survey sequence
chromoplast (23) ,
genemap (24) , -- is a genetic map
restmap (25) , -- is an ordered restriction map
physmap (26) , -- is a physical map (not ordered restriction map)
other (255) }
GIBB-method ::= ENUMERATED { -- sequencing methods
concept-trans (1) , -- conceptual translation
seq-pept (2) , -- peptide was sequenced
both (3) , -- concept transl. w/ partial pept. seq.
seq-pept-overlap (4) , -- sequenced peptide, ordered by overlap
seq-pept-homol (5) , -- sequenced peptide, ordered by homology
concept-trans-a (6) , -- conceptual transl. supplied by author
other (255) }
Numbering ::= CHOICE { -- any display numbering system
cont Num-cont , -- continuous numbering
enum Num-enum , -- enumerated names for residues
ref Num-ref , -- by reference to another sequence
real Num-real } -- supports mapping to a float system
Num-cont ::= SEQUENCE { -- continuous display numbering system
refnum INTEGER DEFAULT 1, -- number assigned to first residue
has-zero BOOLEAN DEFAULT FALSE , -- 0 used?
ascending BOOLEAN DEFAULT TRUE } -- ascending numbers?
Num-enum ::= SEQUENCE { -- any tags to residues
num INTEGER , -- number of tags to follow
names SEQUENCE OF VisibleString } -- the tags
Num-ref ::= SEQUENCE { -- by reference to other sequences
type ENUMERATED { -- type of reference
not-set (0) ,
sources (1) , -- by segmented or const seq sources
aligns (2) } , -- by alignments given below
aligns Seq-align OPTIONAL }
Num-real ::= SEQUENCE { -- mapping to floating point system
a REAL , -- from an integer system used by Bioseq
b REAL , -- position = (a * int_position) + b
units VisibleString OPTIONAL }
Pubdesc ::= SEQUENCE { -- how sequence presented in pub
pub Pub-equiv , -- the citation(s)
name VisibleString OPTIONAL , -- name used in paper
fig VisibleString OPTIONAL , -- figure in paper
num Numbering OPTIONAL , -- numbering from paper
numexc BOOLEAN OPTIONAL , -- numbering problem with paper
poly-a BOOLEAN OPTIONAL , -- poly A tail indicated in figure?
maploc VisibleString OPTIONAL , -- map location reported in paper
seq-raw StringStore OPTIONAL , -- original sequence from paper
align-group INTEGER OPTIONAL , -- this seq aligned with others in paper
comment VisibleString OPTIONAL, -- any comment on this pub in context
reftype INTEGER { -- type of reference in a GenBank record
seq (0) , -- refers to sequence
sites (1) , -- refers to unspecified features
feats (2) , -- refers to specified features
no-target (3) } -- nothing specified (EMBL)
DEFAULT seq }
Heterogen ::= VisibleString -- cofactor, prosthetic group, inhibitor, etc
--*** Instances of sequences *******************************
--*
Seq-inst ::= SEQUENCE { -- the sequence data itself
repr ENUMERATED { -- representation class
not-set (0) , -- empty
virtual (1) , -- no seq data
raw (2) , -- continuous sequence
seg (3) , -- segmented sequence
const (4) , -- constructed sequence
ref (5) , -- reference to another sequence
consen (6) , -- consensus sequence or pattern
map (7) , -- ordered map of any kind
delta (8) , -- sequence made by changes (delta) to others
other (255) } ,
mol ENUMERATED { -- molecule class in living organism
not-set (0) , -- > cdna = rna
dna (1) ,
rna (2) ,
aa (3) ,
na (4) , -- just a nucleic acid
other (255) } ,
length INTEGER OPTIONAL , -- length of sequence in residues
fuzz Int-fuzz OPTIONAL , -- length uncertainty
topology ENUMERATED { -- topology of molecule
not-set (0) ,
linear (1) ,
circular (2) ,
tandem (3) , -- some part of tandem repeat
other (255) } DEFAULT linear ,
strand ENUMERATED { -- strandedness in living organism
not-set (0) ,
ss (1) , -- single strand
ds (2) , -- double strand
mixed (3) ,
other (255) } OPTIONAL , -- default ds for DNA, ss for RNA, pept
seq-data Seq-data OPTIONAL , -- the sequence
ext Seq-ext OPTIONAL , -- extensions for special types
hist Seq-hist OPTIONAL } -- sequence history
--*** Sequence Extensions **********************************
--* for representing more complex types
--* const type uses Seq-hist.assembly
Seq-ext ::= CHOICE {
seg Seg-ext , -- segmented sequences
ref Ref-ext , -- hot link to another sequence (a view)
map Map-ext , -- ordered map of markers
delta Delta-ext }
Seg-ext ::= SEQUENCE OF Seq-loc
Ref-ext ::= Seq-loc
Map-ext ::= SEQUENCE OF Seq-feat
Delta-ext ::= SEQUENCE OF Delta-seq
Delta-seq ::= CHOICE {
loc Seq-loc , -- point to a sequence
literal Seq-literal } -- a piece of sequence
Seq-literal ::= SEQUENCE {
length INTEGER , -- must give a length in residues
fuzz Int-fuzz OPTIONAL , -- could be unsure
seq-data Seq-data OPTIONAL } -- may have the data
--*** Sequence History Record ***********************************
--** assembly = records how seq was assembled from others
--** replaces = records sequences made obsolete by this one
--** replaced-by = this seq is made obsolete by another(s)
Seq-hist ::= SEQUENCE {
assembly SET OF Seq-align OPTIONAL ,-- how was this assembled?
replaces Seq-hist-rec OPTIONAL , -- seq makes these seqs obsolete
replaced-by Seq-hist-rec OPTIONAL , -- these seqs make this one obsolete
deleted CHOICE {
bool BOOLEAN ,
date Date } OPTIONAL }
Seq-hist-rec ::= SEQUENCE {
date Date OPTIONAL ,
ids SET OF Seq-id }
--*** Various internal sequence representations ************
--* all are controlled, fixed length forms
Seq-data ::= CHOICE { -- sequence representations
iupacna IUPACna , -- IUPAC 1 letter nuc acid code
iupacaa IUPACaa , -- IUPAC 1 letter amino acid code
ncbi2na NCBI2na , -- 2 bit nucleic acid code
ncbi4na NCBI4na , -- 4 bit nucleic acid code
ncbi8na NCBI8na , -- 8 bit extended nucleic acid code
ncbipna NCBIpna , -- nucleic acid probabilities
ncbi8aa NCBI8aa , -- 8 bit extended amino acid codes
ncbieaa NCBIeaa , -- extended ASCII 1 letter aa codes
ncbipaa NCBIpaa , -- amino acid probabilities
ncbistdaa NCBIstdaa } -- consecutive codes for std aas
IUPACna ::= StringStore -- IUPAC 1 letter codes, no spaces
IUPACaa ::= StringStore -- IUPAC 1 letter codes, no spaces
NCBI2na ::= OCTET STRING -- 00=A, 01=C, 10=G, 11=T
NCBI4na ::= OCTET STRING -- 1 bit each for agct
-- 0001=A, 0010=C, 0100=G, 1000=T/U
-- 0101=Purine, 1010=Pyrimidine, etc
NCBI8na ::= OCTET STRING -- for modified nucleic acids
NCBIpna ::= OCTET STRING -- 5 octets/base, prob for a,c,g,t,n
-- probabilities are coded 0-255 = 0.0-1.0
NCBI8aa ::= OCTET STRING -- for modified amino acids
NCBIeaa ::= StringStore -- ASCII extended 1 letter aa codes
-- IUPAC codes + U=selenocysteine
NCBIpaa ::= OCTET STRING -- 25 octets/aa, prob for IUPAC aas in order:
-- A-Y,B,Z,X,(ter),anything
-- probabilities are coded 0-255 = 0.0-1.0
NCBIstdaa ::= OCTET STRING -- codes 0-25, 1 per byte
--*** Sequence Annotation *************************************
--*
Annot-id ::= CHOICE {
local Object-id ,
ncbi INTEGER ,
general Dbtag }
Annot-descr ::= SET OF Annotdesc
Annotdesc ::= CHOICE {
name VisibleString , -- a short name for this collection
title VisibleString , -- a title for this collection
comment VisibleString , -- a more extensive comment
pub Pubdesc , -- a reference to the publication
user User-object , -- user defined object
create-date Date , -- date entry first created/released
update-date Date , -- date of last update
src Seq-id , -- source sequence from which annot came
align Align-def, -- definition of the SeqAligns
region Seq-loc } -- all contents cover this region
Align-def ::= SEQUENCE {
align-type INTEGER { -- class of align Seq-annot
ref (1) , -- set of alignments to the same sequence
alt (2) , -- set of alternate alignments of the same seqs
blocks (3) , -- set of aligned blocks in the same seqs
other (255) } ,
ids SET OF Seq-id OPTIONAL } -- used for the one ref seqid for now
Seq-annot ::= SEQUENCE {
id SET OF Annot-id OPTIONAL ,
db INTEGER { -- source of annotation
genbank (1) ,
embl (2) ,
ddbj (3) ,
pir (4) ,
sp (5) ,
bbone (6) ,
pdb (7) ,
other (255) } OPTIONAL ,
name VisibleString OPTIONAL ,-- source if "other" above
desc Annot-descr OPTIONAL , -- used only for stand alone Seq-annots
data CHOICE {
ftable SET OF Seq-feat ,
align SET OF Seq-align ,
graph SET OF Seq-graph ,
ids SET OF Seq-id , -- used for communication between tools
locs SET OF Seq-loc } } -- used for communication between tools
END
--$Revision: 6.1 $
--**********************************************************************
--
-- NCBI Sequence Collections
-- by James Ostell, 1990
--
-- Version 3.0 - 1994
--
--**********************************************************************
NCBI-Seqset DEFINITIONS ::=
BEGIN
EXPORTS Bioseq-set, Seq-entry;
IMPORTS Bioseq, Seq-annot, Seq-descr FROM NCBI-Sequence
Object-id, Dbtag, Date FROM NCBI-General;
--*** Sequence Collections ********************************
--*
Bioseq-set ::= SEQUENCE { -- just a collection
id Object-id OPTIONAL ,
coll Dbtag OPTIONAL , -- to identify a collection
level INTEGER OPTIONAL , -- nesting level
class ENUMERATED {
not-set (0) ,
nuc-prot (1) , -- nuc acid and coded proteins
segset (2) , -- segmented sequence + parts
conset (3) , -- constructed sequence + parts
parts (4) , -- parts for 2 or 3
gibb (5) , -- geninfo backbone
gi (6) , -- geninfo
genbank (7) , -- converted genbank
pir (8) , -- converted pir
pub-set (9) , -- all the seqs from a single publication
equiv (10) , -- a set of equivalent maps or seqs
swissprot (11) , -- converted SWISSPROT
pdb-entry (12) , -- a complete PDB entry
mut-set (13) , -- set of mutations
pop-set (14) , -- population study
phy-set (15) , -- phylogenetic study
eco-set (16) , -- ecological sample study
gen-prod-set (17) , -- genomic products, chrom+mRNa+protein
other (255) } DEFAULT not-set ,
release VisibleString OPTIONAL ,
date Date OPTIONAL ,
descr Seq-descr OPTIONAL ,
seq-set SEQUENCE OF Seq-entry ,
annot SET OF Seq-annot OPTIONAL }
Seq-entry ::= CHOICE {
seq Bioseq ,
set Bioseq-set }
END
--$Revision: 6.0 $
-- *********************************************************************
--
-- These are code and conversion tables for NCBI sequence codes
-- ASN.1 for the sequences themselves are define in seq.asn
--
-- Seq-map-table and Seq-code-table REQUIRE that codes start with 0
-- and increase continuously. So IUPAC codes, which are upper case
-- letters will always have 65 0 cells before the codes begin. This
-- allows all codes to do indexed lookups for things
--
-- Valid names for code tables are:
-- IUPACna
-- IUPACaa
-- IUPACeaa
-- IUPACaa3 3 letter amino acid codes : parallels IUPACeaa
-- display only, not a data exchange type
-- NCBI2na
-- NCBI4na
-- NCBI8na
-- NCBI8aa
-- NCBIstdaa
-- probability types map to IUPAC types for display as characters
NCBI-SeqCode DEFINITIONS ::=
BEGIN
EXPORTS Seq-code-table, Seq-map-table, Seq-code-set;
Seq-code-type ::= ENUMERATED { -- sequence representations
iupacna (1) , -- IUPAC 1 letter nuc acid code
iupacaa (2) , -- IUPAC 1 letter amino acid code
ncbi2na (3) , -- 2 bit nucleic acid code
ncbi4na (4) , -- 4 bit nucleic acid code
ncbi8na (5) , -- 8 bit extended nucleic acid code
ncbipna (6) , -- nucleic acid probabilities
ncbi8aa (7) , -- 8 bit extended amino acid codes
ncbieaa (8) , -- extended ASCII 1 letter aa codes
ncbipaa (9) , -- amino acid probabilities
iupacaa3 (10) , -- 3 letter code only for display
ncbistdaa (11) } -- consecutive codes for std aas, 0-25
Seq-map-table ::= SEQUENCE { -- for tables of sequence mappings
from Seq-code-type , -- code to map from
to Seq-code-type , -- code to map to
num INTEGER , -- number of rows in table
start-at INTEGER DEFAULT 0 , -- index offset of first element
table SEQUENCE OF INTEGER } -- table of values, in from-to order
Seq-code-table ::= SEQUENCE { -- for names of coded values
code Seq-code-type , -- name of code
num INTEGER , -- number of rows in table
one-letter BOOLEAN , -- symbol is ALWAYS 1 letter?
start-at INTEGER DEFAULT 0 , -- index offset of first element
table SEQUENCE OF
SEQUENCE {
symbol VisibleString , -- the printed symbol or letter
name VisibleString } , -- an explanatory name or string
comps SEQUENCE OF INTEGER OPTIONAL } -- pointers to complement nuc acid
Seq-code-set ::= SEQUENCE { -- for distribution
codes SET OF Seq-code-table OPTIONAL ,
maps SET OF Seq-map-table OPTIONAL }
END
--$Revision: 6.0 $
--*********************************************************************
--
-- 1990 - J.Ostell
-- Version 3.0 - June 1994
--
--*********************************************************************
--*********************************************************************
--
-- EMBL specific data
-- This block of specifications was developed by Reiner Fuchs of EMBL
-- Updated by J.Ostell, 1994
--
--*********************************************************************
EMBL-General DEFINITIONS ::=
BEGIN
EXPORTS EMBL-dbname, EMBL-xref, EMBL-block;
IMPORTS Date, Object-id FROM NCBI-General;
EMBL-dbname ::= CHOICE {
code ENUMERATED {
embl(0),
genbank(1),
ddbj(2),
geninfo(3),
medline(4),
swissprot(5),
pir(6),
pdb(7),
epd(8),
ecd(9),
tfd(10),
flybase(11),
prosite(12),
enzyme(13),
mim(14),
ecoseq(15),
hiv(16) ,
other (255) } ,
name VisibleString }
EMBL-xref ::= SEQUENCE {
dbname EMBL-dbname,
id SEQUENCE OF Object-id }
EMBL-block ::= SEQUENCE {
class ENUMERATED {
not-set(0),
standard(1),
unannotated(2),
other(255) } DEFAULT standard,
div ENUMERATED {
fun(0),
inv(1),
mam(2),
org(3),
phg(4),
pln(5),
pri(6),
pro(7),
rod(8),
syn(9),
una(10),
vrl(11),
vrt(12),
pat(13),
est(14),
sts(15),
other (255) } OPTIONAL,
creation-date Date,
update-date Date,
extra-acc SEQUENCE OF VisibleString OPTIONAL,
keywords SEQUENCE OF VisibleString OPTIONAL,
xref SEQUENCE OF EMBL-xref OPTIONAL }
END
--*********************************************************************
--
-- SWISSPROT specific data
-- This block of specifications was developed by Mark Cavanaugh of
-- NCBI working with Amos Bairoch of SWISSPROT
--
--*********************************************************************
SP-General DEFINITIONS ::=
BEGIN
EXPORTS SP-block;
IMPORTS Date, Dbtag FROM NCBI-General
Seq-id FROM NCBI-Seqloc;
SP-block ::= SEQUENCE { -- SWISSPROT specific descriptions
class ENUMERATED {
not-set (0) ,
standard (1) , -- conforms to all SWISSPROT checks
prelim (2) , -- only seq and biblio checked
other (255) } ,
extra-acc SET OF VisibleString OPTIONAL , -- old SWISSPROT ids
imeth BOOLEAN DEFAULT FALSE , -- seq known to start with Met
plasnm SET OF VisibleString OPTIONAL, -- plasmid names carrying gene
seqref SET OF Seq-id OPTIONAL, -- xref to other sequences
dbref SET OF Dbtag OPTIONAL , -- xref to non-sequence dbases
keywords SET OF VisibleString OPTIONAL , -- keywords
created Date OPTIONAL , -- creation date
sequpd Date OPTIONAL , -- sequence update
annotupd Date OPTIONAL } -- annotation update
END
--*********************************************************************
--
-- PIR specific data
-- This block of specifications was developed by Jim Ostell of
-- NCBI
--
--*********************************************************************
PIR-General DEFINITIONS ::=
BEGIN
EXPORTS PIR-block;
IMPORTS Seq-id FROM NCBI-Seqloc;
PIR-block ::= SEQUENCE { -- PIR specific descriptions
had-punct BOOLEAN OPTIONAL , -- had punctuation in sequence ?
host VisibleString OPTIONAL ,
source VisibleString OPTIONAL , -- source line
summary VisibleString OPTIONAL ,
genetic VisibleString OPTIONAL ,
includes VisibleString OPTIONAL ,
placement VisibleString OPTIONAL ,
superfamily VisibleString OPTIONAL ,
keywords SEQUENCE OF VisibleString OPTIONAL ,
cross-reference VisibleString OPTIONAL ,
date VisibleString OPTIONAL ,
seq-raw VisibleString OPTIONAL , -- seq with punctuation
seqref SET OF Seq-id OPTIONAL } -- xref to other sequences
END
--*********************************************************************
--
-- GenBank specific data
-- This block of specifications was developed by Jim Ostell of
-- NCBI
--
--*********************************************************************
GenBank-General DEFINITIONS ::=
BEGIN
EXPORTS GB-block;
IMPORTS Date FROM NCBI-General;
GB-block ::= SEQUENCE { -- GenBank specific descriptions
extra-accessions SEQUENCE OF VisibleString OPTIONAL ,
source VisibleString OPTIONAL , -- source line
keywords SEQUENCE OF VisibleString OPTIONAL ,
origin VisibleString OPTIONAL,
date VisibleString OPTIONAL , -- OBSOLETE old form Entry Date
entry-date Date OPTIONAL , -- replaces date
div VisibleString OPTIONAL , -- GenBank division
taxonomy VisibleString OPTIONAL } -- continuation line of organism
END
--**********************************************************************
-- PRF specific definition
-- PRF is a protein sequence database crated and maintained by
-- Protein Research Foundation, Minoo-city, Osaka, Japan.
--
-- Written by A.Ogiwara, Inst.Chem.Res. (Dr.Kanehisa's Lab),
-- Kyoto Univ., Japan
--
--**********************************************************************
PRF-General DEFINITIONS ::=
BEGIN
EXPORTS PRF-block;
PRF-block ::= SEQUENCE {
extra-src PRF-ExtraSrc OPTIONAL,
keywords SEQUENCE OF VisibleString OPTIONAL
}
PRF-ExtraSrc ::= SEQUENCE {
host VisibleString OPTIONAL,
part VisibleString OPTIONAL,
state VisibleString OPTIONAL,
strain VisibleString OPTIONAL,
taxon VisibleString OPTIONAL
}
END
--*********************************************************************
--
-- PDB specific data
-- This block of specifications was developed by Jim Ostell and
-- Steve Bryant of NCBI
--
--*********************************************************************
PDB-General DEFINITIONS ::=
BEGIN
EXPORTS PDB-block;
IMPORTS Date FROM NCBI-General;
PDB-block ::= SEQUENCE { -- PDB specific descriptions
deposition Date , -- deposition date month,year
class VisibleString ,
compound SEQUENCE OF VisibleString ,
source SEQUENCE OF VisibleString ,
exp-method VisibleString OPTIONAL , -- present if NOT X-ray diffraction
replace PDB-replace OPTIONAL } -- replacement history
PDB-replace ::= SEQUENCE {
date Date ,
ids SEQUENCE OF VisibleString } -- entry ids replace by this one
END
--$Revision: 6.9 $
--**********************************************************************
--
-- NCBI Sequence Feature elements
-- by James Ostell, 1990
-- Version 3.0 - June 1994
--
--**********************************************************************
NCBI-Seqfeat DEFINITIONS ::=
BEGIN
EXPORTS Seq-feat, Feat-id, Genetic-code;
IMPORTS Gene-ref FROM NCBI-Gene
Prot-ref FROM NCBI-Protein
Org-ref FROM NCBI-Organism
BioSource FROM NCBI-BioSource
RNA-ref FROM NCBI-RNA
Seq-loc, Giimport-id FROM NCBI-Seqloc
Pubdesc, Numbering, Heterogen FROM NCBI-Sequence
Rsite-ref FROM NCBI-Rsite
Txinit FROM NCBI-TxInit
Pub-set FROM NCBI-Pub
Object-id, Dbtag, User-object FROM NCBI-General;
--*** Feature identifiers ********************************
--*
Feat-id ::= CHOICE {
gibb INTEGER , -- geninfo backbone
giim Giimport-id , -- geninfo import
local Object-id , -- for local software use
general Dbtag } -- for use by various databases
--*** Seq-feat *******************************************
--* sequence feature generalization
Seq-feat ::= SEQUENCE {
id Feat-id OPTIONAL ,
data SeqFeatData , -- the specific data
partial BOOLEAN OPTIONAL , -- incomplete in some way?
except BOOLEAN OPTIONAL , -- something funny about this?
comment VisibleString OPTIONAL ,
product Seq-loc OPTIONAL , -- product of process
location Seq-loc , -- feature made from
qual SEQUENCE OF Gb-qual OPTIONAL , -- qualifiers
title VisibleString OPTIONAL , -- for user defined label
ext User-object OPTIONAL , -- user defined structure extension
cit Pub-set OPTIONAL , -- citations for this feature
exp-ev ENUMERATED { -- evidence for existence of feature
experimental (1) , -- any reasonable experimental check
not-experimental (2) } OPTIONAL , -- similarity, pattern, etc
xref SET OF SeqFeatXref OPTIONAL , -- cite other relevant features
dbxref SET OF Dbtag OPTIONAL , -- support for xref to other databases
pseudo BOOLEAN OPTIONAL , -- annotated on pseudogene?
except-text VisibleString OPTIONAL } -- explain if except=TRUE
SeqFeatData ::= CHOICE {
gene Gene-ref ,
org Org-ref ,
cdregion Cdregion ,
prot Prot-ref ,
rna RNA-ref ,
pub Pubdesc , -- publication applies to this seq
seq Seq-loc , -- to annotate origin from another seq
imp Imp-feat ,
region VisibleString, -- named region (globin locus)
comment NULL , -- just a comment
bond ENUMERATED {
disulfide (1) ,
thiolester (2) ,
xlink (3) ,
thioether (4) ,
other (255) } ,
site ENUMERATED {
active (1) ,
binding (2) ,
cleavage (3) ,
inhibit (4) ,
modified (5),
glycosylation (6) ,
myristoylation (7) ,
mutagenized (8) ,
metal-binding (9) ,
phosphorylation (10) ,
acetylation (11) ,
amidation (12) ,
methylation (13) ,
hydroxylation (14) ,
sulfatation (15) ,
oxidative-deamination (16) ,
pyrrolidone-carboxylic-acid (17) ,
gamma-carboxyglutamic-acid (18) ,
blocked (19) ,
lipid-binding (20) ,
np-binding (21) ,
dna-binding (22) ,
signal-peptide (23) ,
transit-peptide (24) ,
transmembrane-region (25) ,
other (255) } ,
rsite Rsite-ref , -- restriction site (for maps really)
user User-object , -- user defined structure
txinit Txinit , -- transcription initiation
num Numbering , -- a numbering system
psec-str ENUMERATED { -- protein secondary structure
helix (1) , -- any helix
sheet (2) , -- beta sheet
turn (3) } , -- beta or gamma turn
non-std-residue VisibleString , -- non-standard residue here in seq
het Heterogen , -- cofactor, prosthetic grp, etc, bound to seq
biosrc BioSource }
SeqFeatXref ::= SEQUENCE { -- both optional because can have one or both
id Feat-id OPTIONAL , -- the feature copied
data SeqFeatData OPTIONAL } -- the specific data
--*** CdRegion ***********************************************
--*
--* Instructions to translate from a nucleic acid to a peptide
--* conflict means it's supposed to translate but doesn't
--*
Cdregion ::= SEQUENCE {
orf BOOLEAN OPTIONAL , -- just an ORF ?
frame ENUMERATED {
not-set (0) , -- not set, code uses one
one (1) ,
two (2) ,
three (3) } DEFAULT not-set , -- reading frame
conflict BOOLEAN OPTIONAL , -- conflict
gaps INTEGER OPTIONAL , -- number of gaps on conflict/except
mismatch INTEGER OPTIONAL , -- number of mismatches on above
code Genetic-code OPTIONAL , -- genetic code used
code-break SEQUENCE OF Code-break OPTIONAL , -- individual exceptions
stops INTEGER OPTIONAL } -- number of stop codons on above
-- each code is 64 cells long, in the order where
-- T=0,C=1,A=2,G=3, TTT=0, TTC=1, TCA=4, etc
-- NOTE: this order does NOT correspond to a Seq-data
-- encoding. It is "natural" to codon usage instead.
-- the value in each cell is the AA coded for
-- start= AA coded only if first in peptide
-- in start array, if codon is not a legitimate start
-- codon, that cell will have the "gap" symbol for
-- that alphabet. Otherwise it will have the AA
-- encoded when that codon is used at the start.
Genetic-code ::= SET OF CHOICE {
name VisibleString , -- name of a code
id INTEGER , -- id in dbase
ncbieaa VisibleString , -- indexed to IUPAC extended
ncbi8aa OCTET STRING , -- indexed to NCBI8aa
ncbistdaa OCTET STRING , -- indexed to NCBIstdaa
sncbieaa VisibleString , -- start, indexed to IUPAC extended
sncbi8aa OCTET STRING , -- start, indexed to NCBI8aa
sncbistdaa OCTET STRING } -- start, indexed to NCBIstdaa
Code-break ::= SEQUENCE { -- specific codon exceptions
loc Seq-loc , -- location of exception
aa CHOICE { -- the amino acid
ncbieaa INTEGER , -- ASCII value of NCBIeaa code
ncbi8aa INTEGER , -- NCBI8aa code
ncbistdaa INTEGER } } -- NCBIstdaa code
Genetic-code-table ::= SET OF Genetic-code -- table of genetic codes
--*** Import ***********************************************
--*
--* Features imported from other databases
--*
Imp-feat ::= SEQUENCE {
key VisibleString ,
loc VisibleString OPTIONAL , -- original location string
descr VisibleString OPTIONAL } -- text description
Gb-qual ::= SEQUENCE {
qual VisibleString ,
val VisibleString }
END
--**********************************************************************
--
-- NCBI Restriction Sites
-- by James Ostell, 1990
-- version 0.8
--
--**********************************************************************
NCBI-Rsite DEFINITIONS ::=
BEGIN
EXPORTS Rsite-ref;
IMPORTS Dbtag FROM NCBI-General;
Rsite-ref ::= CHOICE {
str VisibleString , -- may be unparsable
db Dbtag } -- pointer to a restriction site database
END
--**********************************************************************
--
-- NCBI RNAs
-- by James Ostell, 1990
-- version 0.8
--
--**********************************************************************
NCBI-RNA DEFINITIONS ::=
BEGIN
EXPORTS RNA-ref, Trna-ext;
IMPORTS Seq-loc FROM NCBI-Seqloc;
--*** rnas ***********************************************
--*
--* various rnas
--*
-- minimal RNA sequence
RNA-ref ::= SEQUENCE {
type ENUMERATED { -- type of RNA feature
unknown (0) ,
premsg (1) ,
mRNA (2) ,
tRNA (3) ,
rRNA (4) ,
snRNA (5) ,
scRNA (6) ,
snoRNA (7) ,
other (255) } ,
pseudo BOOLEAN OPTIONAL ,
ext CHOICE {
name VisibleString , -- for naming "other" type
tRNA Trna-ext } OPTIONAL } -- for tRNAs
Trna-ext ::= SEQUENCE { -- tRNA feature extensions
aa CHOICE { -- aa this carries
iupacaa INTEGER ,
ncbieaa INTEGER ,
ncbi8aa INTEGER ,
ncbistdaa INTEGER } OPTIONAL ,
codon SET OF INTEGER OPTIONAL , -- codon(s) as in Genetic-code
anticodon Seq-loc OPTIONAL } -- location of anticodon
END
--**********************************************************************
--
-- NCBI Genes
-- by James Ostell, 1990
-- version 0.8
--
--**********************************************************************
NCBI-Gene DEFINITIONS ::=
BEGIN
EXPORTS Gene-ref;
IMPORTS Dbtag FROM NCBI-General;
--*** Gene ***********************************************
--*
--* reference to a gene
--*
Gene-ref ::= SEQUENCE {
locus VisibleString OPTIONAL , -- Official gene symbol
allele VisibleString OPTIONAL , -- Official allele designation
desc VisibleString OPTIONAL , -- descriptive name
maploc VisibleString OPTIONAL , -- descriptive map location
pseudo BOOLEAN DEFAULT FALSE , -- pseudogene
db SET OF Dbtag OPTIONAL , -- ids in other dbases
syn SET OF VisibleString OPTIONAL , -- synonyms for locus
locus-tag VisibleString OPTIONAL } -- systematic gene name (e.g., MI0001, ORF0069)
END
--**********************************************************************
--
-- NCBI Organism
-- by James Ostell, 1994
-- version 3.0
--
--**********************************************************************
NCBI-Organism DEFINITIONS ::=
BEGIN
EXPORTS Org-ref;
IMPORTS Dbtag FROM NCBI-General;
--*** Org-ref ***********************************************
--*
--* Reference to an organism
--* defines only the organism.. lower levels of detail for biological
--* molecules are provided by the Source object
--*
Org-ref ::= SEQUENCE {
taxname VisibleString OPTIONAL , -- preferred formal name
common VisibleString OPTIONAL , -- common name
mod SET OF VisibleString OPTIONAL , -- unstructured modifiers
db SET OF Dbtag OPTIONAL , -- ids in taxonomic or culture dbases
syn SET OF VisibleString OPTIONAL , -- synonyms for taxname or common
orgname OrgName OPTIONAL }
OrgName ::= SEQUENCE {
name CHOICE {
binomial BinomialOrgName , -- genus/species type name
virus VisibleString , -- virus names are different
hybrid MultiOrgName , -- hybrid between organisms
namedhybrid BinomialOrgName , -- some hybrids have genus x species name
partial PartialOrgName } OPTIONAL , -- when genus not known
attrib VisibleString OPTIONAL , -- attribution of name
mod SEQUENCE OF OrgMod OPTIONAL ,
lineage VisibleString OPTIONAL , -- lineage with semicolon separators
gcode INTEGER OPTIONAL , -- genetic code (see CdRegion)
mgcode INTEGER OPTIONAL , -- mitochondrial genetic code
div VisibleString OPTIONAL } -- GenBank division code
OrgMod ::= SEQUENCE {
subtype INTEGER {
strain (2) ,
substrain (3) ,
type (4) ,
subtype (5) ,
variety (6) ,
serotype (7) ,
serogroup (8) ,
serovar (9) ,
cultivar (10) ,
pathovar (11) ,
chemovar (12) ,
biovar (13) ,
biotype (14) ,
group (15) ,
subgroup (16) ,
isolate (17) ,
common (18) ,
acronym (19) ,
dosage (20) , -- chromosome dosage of hybrid
nat-host (21) , -- natural host of this specimen
sub-species (22) ,
specimen-voucher (23) ,
authority (24) ,
forma (25) ,
forma-specialis (26) ,
ecotype (27) ,
synonym (28) ,
anamorph (29) ,
teleomorph (30) ,
breed (31) ,
gb-acronym (32) , -- used by taxonomy database
gb-anamorph (33) , -- used by taxonomy database
gb-synonym (34) , -- used by taxonomy database
old-lineage (253) ,
old-name (254) ,
other (255) } , -- ASN5: old-name (254) will be added to next spec
subname VisibleString ,
attrib VisibleString OPTIONAL } -- attribution/source of name
BinomialOrgName ::= SEQUENCE {
genus VisibleString , -- required
species VisibleString OPTIONAL , -- species required if subspecies used
subspecies VisibleString OPTIONAL }
MultiOrgName ::= SEQUENCE OF OrgName -- the first will be used to assign division
PartialOrgName ::= SEQUENCE OF TaxElement -- when we don't know the genus
TaxElement ::= SEQUENCE {
fixed-level INTEGER {
other (0) , -- level must be set in string
family (1) ,
order (2) ,
class (3) } ,
level VisibleString OPTIONAL ,
name VisibleString }
END
--**********************************************************************
--
-- NCBI BioSource
-- by James Ostell, 1994
-- version 3.0
--
--**********************************************************************
NCBI-BioSource DEFINITIONS ::=
BEGIN
EXPORTS BioSource;
IMPORTS Org-ref FROM NCBI-Organism;
--********************************************************************
--
-- BioSource gives the source of the biological material
-- for sequences
--
--********************************************************************
BioSource ::= SEQUENCE {
genome INTEGER { -- biological context
unknown (0) ,
genomic (1) ,
chloroplast (2) ,
chromoplast (3) ,
kinetoplast (4) ,
mitochondrion (5) ,
plastid (6) ,
macronuclear (7) ,
extrachrom (8) ,
plasmid (9) ,
transposon (10) ,
insertion-seq (11) ,
cyanelle (12) ,
proviral (13) ,
virion (14) ,
nucleomorph (15) ,
apicoplast (16) ,
leucoplast (17) ,
proplastid (18) ,
endogenous-virus (19)
} DEFAULT unknown ,
-- 4 more genome values coming
-- nucleomorph (15)
-- apicoplast (16)
-- leucoplast (17)
-- proplastid (18)
origin INTEGER {
unknown (0) ,
natural (1) , -- normal biological entity
natmut (2) , -- naturally occurring mutant
mut (3) , -- artificially mutagenized
artificial (4) , -- artificially engineered
synthetic (5) , -- purely synthetic
other (255) } DEFAULT unknown ,
org Org-ref ,
subtype SEQUENCE OF SubSource OPTIONAL ,
is-focus NULL OPTIONAL } -- to distinguish biological focus
SubSource ::= SEQUENCE {
subtype INTEGER {
chromosome (1) ,
map (2) ,
clone (3) ,
subclone (4) ,
haplotype (5) ,
genotype (6) ,
sex (7) ,
cell-line (8) ,
cell-type (9) ,
tissue-type (10) ,
clone-lib (11) ,
dev-stage (12) ,
frequency (13) ,
germline (14) ,
rearranged (15) ,
lab-host (16) ,
pop-variant (17) ,
tissue-lib (18) ,
plasmid-name (19) ,
transposon-name (20) ,
insertion-seq-name (21) ,
plastid-name (22) ,
country (23) ,
segment (24) ,
endogenous-virus-name (25) ,
transgenic (26) ,
environmental-sample (27) ,
isolation-source (28) ,
other (255) } ,
name VisibleString ,
attrib VisibleString OPTIONAL } -- attribution/source of this name
END
--**********************************************************************
--
-- NCBI Protein
-- by James Ostell, 1990
-- version 0.8
--
--**********************************************************************
NCBI-Protein DEFINITIONS ::=
BEGIN
EXPORTS Prot-ref;
IMPORTS Dbtag FROM NCBI-General;
--*** Prot-ref ***********************************************
--*
--* Reference to a protein name
--*
Prot-ref ::= SEQUENCE {
name SET OF VisibleString OPTIONAL , -- protein name
desc VisibleString OPTIONAL , -- description (instead of name)
ec SET OF VisibleString OPTIONAL , -- E.C. number(s)
activity SET OF VisibleString OPTIONAL , -- activities
db SET OF Dbtag OPTIONAL , -- ids in other dbases
processed ENUMERATED { -- processing status
not-set (0) ,
preprotein (1) ,
mature (2) ,
signal-peptide (3) ,
transit-peptide (4) } DEFAULT not-set }
END
--********************************************************************
--
-- Transcription Initiation Site Feature Data Block
-- James Ostell, 1991
-- Philip Bucher, David Ghosh
-- version 1.1
--
--
--
--********************************************************************
NCBI-TxInit DEFINITIONS ::=
BEGIN
EXPORTS Txinit;
IMPORTS Gene-ref FROM NCBI-Gene
Prot-ref FROM NCBI-Protein
Org-ref FROM NCBI-Organism;
Txinit ::= SEQUENCE {
name VisibleString , -- descriptive name of initiation site
syn SEQUENCE OF VisibleString OPTIONAL , -- synonyms
gene SEQUENCE OF Gene-ref OPTIONAL , -- gene(s) transcribed
protein SEQUENCE OF Prot-ref OPTIONAL , -- protein(s) produced
rna SEQUENCE OF VisibleString OPTIONAL , -- rna(s) produced
expression VisibleString OPTIONAL , -- tissue/time of expression
txsystem ENUMERATED { -- transcription apparatus used at this site
unknown (0) ,
pol1 (1) , -- eukaryotic Pol I
pol2 (2) , -- eukaryotic Pol II
pol3 (3) , -- eukaryotic Pol III
bacterial (4) ,
viral (5) ,
rna (6) , -- RNA replicase
organelle (7) ,
other (255) } ,
txdescr VisibleString OPTIONAL , -- modifiers on txsystem
txorg Org-ref OPTIONAL , -- organism supplying transcription apparatus
mapping-precise BOOLEAN DEFAULT FALSE , -- mapping precise or approx
location-accurate BOOLEAN DEFAULT FALSE , -- does Seq-loc reflect mapping
inittype ENUMERATED {
unknown (0) ,
single (1) ,
multiple (2) ,
region (3) } OPTIONAL ,
evidence SET OF Tx-evidence OPTIONAL }
Tx-evidence ::= SEQUENCE {
exp-code ENUMERATED {
unknown (0) ,
rna-seq (1) , -- direct RNA sequencing
rna-size (2) , -- RNA length measurement
np-map (3) , -- nuclease protection mapping with homologous sequence ladder
np-size (4) , -- nuclease protected fragment length measurement
pe-seq (5) , -- dideoxy RNA sequencing
cDNA-seq (6) , -- full-length cDNA sequencing
pe-map (7) , -- primer extension mapping with homologous sequence ladder
pe-size (8) , -- primer extension product length measurement
pseudo-seq (9) , -- full-length processed pseudogene sequencing
rev-pe-map (10) , -- see NOTE (1) below
other (255) } ,
expression-system ENUMERATED {
unknown (0) ,
physiological (1) ,
in-vitro (2) ,
oocyte (3) ,
transfection (4) ,
transgenic (5) ,
other (255) } DEFAULT physiological ,
low-prec-data BOOLEAN DEFAULT FALSE ,
from-homolog BOOLEAN DEFAULT FALSE } -- experiment actually done on
-- close homolog
-- NOTE (1) length measurement of a reverse direction primer-extension
-- product (blocked by RNA 5'end) by comparison with
-- homologous sequence ladder (J. Mol. Biol. 199, 587)
END
--$Revision: 6.0 $
--**********************************************************************
--
-- NCBI Sequence Alignment elements
-- by James Ostell, 1990
--
--**********************************************************************
NCBI-Seqalign DEFINITIONS ::=
BEGIN
EXPORTS Seq-align, Score, Score-set, Seq-align-set;
IMPORTS Seq-id, Seq-loc , Na-strand FROM NCBI-Seqloc
Object-id FROM NCBI-General;
--*** Sequence Alignment ********************************
--*
Seq-align-set ::= SET OF Seq-align
Seq-align ::= SEQUENCE {
type ENUMERATED {
not-set (0) ,
global (1) ,
diags (2) , -- unbroken, but not ordered, diagonals
partial (3) , -- mapping pieces together
disc (4) , -- discontinuous alignment
other (255) } ,
dim INTEGER OPTIONAL , -- dimensionality
score SET OF Score OPTIONAL , -- for whole alignment
segs CHOICE { -- alignment data
dendiag SEQUENCE OF Dense-diag ,
denseg Dense-seg ,
std SEQUENCE OF Std-seg ,
packed Packed-seg ,
disc Seq-align-set } ,
bounds SET OF Seq-loc OPTIONAL } -- regions of sequence over which align
-- was computed
Dense-diag ::= SEQUENCE { -- for (multiway) diagonals
dim INTEGER DEFAULT 2 , -- dimensionality
ids SEQUENCE OF Seq-id , -- sequences in order
starts SEQUENCE OF INTEGER , -- start OFFSETS in ids order
len INTEGER , -- len of aligned segments
strands SEQUENCE OF Na-strand OPTIONAL ,
scores SET OF Score OPTIONAL }
-- Dense-seg: the densist packing for sequence alignments only.
-- a start of -1 indicates a gap for that sequence of
-- length lens.
--
-- id=100 AAGGCCTTTTAGAGATGATGATGATGATGA
-- id=200 AAGGCCTTTTAG.......GATGATGATGA
-- id=300 ....CCTTTTAGAGATGATGAT....ATGA
--
-- dim = 3, numseg = 6, ids = { 100, 200, 300 }
-- starts = { 0,0,-1, 4,4,0, 12,-1,8, 19,12,15, 22,15,-1, 26,19,18 }
-- lens = { 4, 8, 7, 3, 4, 4 }
--
Dense-seg ::= SEQUENCE { -- for (multiway) global or partial alignments
dim INTEGER DEFAULT 2 , -- dimensionality
numseg INTEGER , -- number of segments here
ids SEQUENCE OF Seq-id , -- sequences in order
starts SEQUENCE OF INTEGER , -- start OFFSETS in ids order within segs
lens SEQUENCE OF INTEGER , -- lengths in ids order within segs
strands SEQUENCE OF Na-strand OPTIONAL ,
scores SEQUENCE OF Score OPTIONAL } -- score for each seg
Packed-seg ::= SEQUENCE { -- for (multiway) global or partial alignments
dim INTEGER DEFAULT 2 , -- dimensionality
numseg INTEGER , -- number of segments here
ids SEQUENCE OF Seq-id , -- sequences in order
starts SEQUENCE OF INTEGER , -- start OFFSETS in ids order for whole alignment
present OCTET STRING , -- Boolean if each sequence present or absent in
-- each segment
lens SEQUENCE OF INTEGER , -- length of each segment
strands SEQUENCE OF Na-strand OPTIONAL ,
scores SEQUENCE OF Score OPTIONAL } -- score for each segment
Std-seg ::= SEQUENCE {
dim INTEGER DEFAULT 2 , -- dimensionality
ids SEQUENCE OF Seq-id OPTIONAL ,
loc SEQUENCE OF Seq-loc ,
scores SET OF Score OPTIONAL }
-- use of Score is discouraged for external ASN.1 specifications
Score ::= SEQUENCE {
id Object-id OPTIONAL ,
value CHOICE {
real REAL ,
int INTEGER } }
-- use of Score-set is encouraged for external ASN.1 specifications
Score-set ::= SET OF Score
END
--$Revision: 6.0 $
--**********************************************************************
--
-- NCBI Sequence Analysis Results (other than alignments)
-- by James Ostell, 1990
--
--**********************************************************************
NCBI-Seqres DEFINITIONS ::=
BEGIN
EXPORTS Seq-graph;
IMPORTS Seq-loc FROM NCBI-Seqloc;
--*** Sequence Graph ********************************
--*
--* for values mapped by residue or range to sequence
--*
Seq-graph ::= SEQUENCE {
title VisibleString OPTIONAL ,
comment VisibleString OPTIONAL ,
loc Seq-loc , -- region this applies to
title-x VisibleString OPTIONAL , -- title for x-axis
title-y VisibleString OPTIONAL ,
comp INTEGER OPTIONAL , -- compression (residues/value)
a REAL OPTIONAL , -- for scaling values
b REAL OPTIONAL , -- display = (a x value) + b
numval INTEGER , -- number of values in graph
graph CHOICE {
real Real-graph ,
int Int-graph ,
byte Byte-graph } }
Real-graph ::= SEQUENCE {
max REAL , -- top of graph
min REAL , -- bottom of graph
axis REAL , -- value to draw axis on
values SEQUENCE OF REAL }
Int-graph ::= SEQUENCE {
max INTEGER ,
min INTEGER ,
axis INTEGER ,
values SEQUENCE OF INTEGER }
Byte-graph ::= SEQUENCE { -- integer from 0-255
max INTEGER ,
min INTEGER ,
axis INTEGER ,
values OCTET STRING }
END
--$Revision: 6.1 $
--********************************************************************
--
-- Direct Submission of Sequence Data
-- James Ostell, 1991
--
-- This is a trial specification for direct submission of sequence
-- data worked out between NCBI and EMBL
-- Later revised to reflect work with GenBank and Integrated database
--
-- Version 3.0, 1994
-- This is the official NCBI sequence submission format now.
--
--********************************************************************
NCBI-Submit DEFINITIONS ::=
BEGIN
EXPORTS Seq-submit, Contact-info;
IMPORTS Cit-sub, Author FROM NCBI-Biblio
Date, Object-id FROM NCBI-General
Seq-annot FROM NCBI-Sequence
Seq-id FROM NCBI-Seqloc
Seq-entry FROM NCBI-Seqset;
Seq-submit ::= SEQUENCE {
sub Submit-block ,
data CHOICE {
entrys SET OF Seq-entry , -- sequence(s)
annots SET OF Seq-annot , -- annotation(s)
delete SET OF Seq-id } } -- deletions of entries
Submit-block ::= SEQUENCE {
contact Contact-info , -- who to contact
cit Cit-sub , -- citation for this submission
hup BOOLEAN DEFAULT FALSE , -- hold until publish
reldate Date OPTIONAL , -- release by date
subtype INTEGER { -- type of submission
new (1) , -- new data
update (2) , -- update by author
revision (3) , -- 3rd party (non-author) update
other (255) } OPTIONAL ,
tool VisibleString OPTIONAL, -- tool used to make submission
user-tag VisibleString OPTIONAL, -- user supplied id for this submission
comment VisibleString OPTIONAL } -- user comments/advice to database
Contact-info ::= SEQUENCE { -- who to contact to discuss the submission
name VisibleString OPTIONAL , -- OBSOLETE: will be removed
address SEQUENCE OF VisibleString OPTIONAL ,
phone VisibleString OPTIONAL ,
fax VisibleString OPTIONAL ,
email VisibleString OPTIONAL ,
telex VisibleString OPTIONAL ,
owner-id Object-id OPTIONAL , -- for owner accounts
password OCTET STRING OPTIONAL ,
last-name VisibleString OPTIONAL , -- structured to replace name above
first-name VisibleString OPTIONAL ,
middle-initial VisibleString OPTIONAL ,
contact Author OPTIONAL } -- WARNING: this will replace the above
END
--$Revision: 1.11 $
--**********************************************************************
--
-- Definitions for Cn3D-specific data (rendering settings,
-- user annotations, etc.)
--
-- by Paul Thiessen
--
-- National Center for Biotechnology Information
-- National Institutes of Health
-- Bethesda, MD 20894 USA
--
-- asntool -m cn3d.asn -w 100 -o cn3d.h
-- asntool -B objcn3d -m cn3d.asn -G -w 100 -K cn3d.h -I mapcn3d.h \
-- -M ../mmdb1.asn,../mmdb2.asn,../mmdb3.asn
--**********************************************************************
NCBI-Cn3d DEFINITIONS ::=
-- Cn3D-specific information
BEGIN
EXPORTS Cn3d-style-dictionary, Cn3d-user-annotations;
IMPORTS Biostruc-id FROM MMDB
Molecule-id, Residue-id FROM MMDB-Chemical-graph;
-- values of enumerations must match those in cn3d/style_manager.hpp!
Cn3d-backbone-type ::= ENUMERATED { -- for different types of backbones
off (1),
trace (2),
partial (3),
complete (4)
}
Cn3d-drawing-style ::= ENUMERATED { -- atom/bond/object rendering styles
-- for atoms and bonds
wire (1),
tubes (2),
ball-and-stick (3),
space-fill (4),
wire-worm (5),
tube-worm (6),
-- for 3d-objects
with-arrows (7),
without-arrows (8)
}
Cn3d-color-scheme ::= ENUMERATED { -- available color schemes (not all
-- necessarily applicable to all objects)
element (1),
object (2),
molecule (3),
domain (4),
secondary-structure (5),
user-select (6),
-- different alignment conservation coloring (currently only for proteins)
aligned (7),
identity (8),
variety (9),
weighted-variety (10),
information-content (11),
fit (12),
-- other schemes
temperature (13),
hydrophobicity (14),
charge (15),
rainbow (16)
}
-- RGB triplet, interpreted (after division by the scale-factor) as floating
-- point values which should range from [0..1]. The default scale-factor is
-- 255, so that one can conveniently set integer byte values [0..255] for
-- colors with the scale-factor already set appropriately to map to [0..1].
-- An alpha value is allowed, but is currently ignored by Cn3D.
Cn3d-color ::= SEQUENCE {
scale-factor INTEGER DEFAULT 255,
red INTEGER,
green INTEGER,
blue INTEGER,
alpha INTEGER DEFAULT 255
}
Cn3d-backbone-style ::= SEQUENCE { -- style blob for backbones only
type Cn3d-backbone-type,
style Cn3d-drawing-style,
color-scheme Cn3d-color-scheme,
user-color Cn3d-color
}
Cn3d-general-style ::= SEQUENCE { -- style blob for other objects
is-on BOOLEAN,
style Cn3d-drawing-style,
color-scheme Cn3d-color-scheme,
user-color Cn3d-color
}
Cn3d-backbone-label-style ::= SEQUENCE { -- style blob for backbone labels
spacing INTEGER, -- zero means none
type ENUMERATED {
one-letter (1),
three-letter (2)
},
number ENUMERATED {
none (0),
sequential (1), -- from 1, by residues present, to match sequence
pdb (2) -- use number assigned by PDB
},
termini BOOLEAN,
white BOOLEAN -- all white, or (if false) color of alpha carbon
}
-- rendering settings for Cn3D (mirrors StyleSettings class)
Cn3d-style-settings ::= SEQUENCE {
name VisibleString OPTIONAL, -- a name (for favorites)
protein-backbone Cn3d-backbone-style, -- backbone styles
nucleotide-backbone Cn3d-backbone-style,
protein-sidechains Cn3d-general-style, -- styles for other stuff
nucleotide-sidechains Cn3d-general-style,
heterogens Cn3d-general-style,
solvents Cn3d-general-style,
connections Cn3d-general-style,
helix-objects Cn3d-general-style,
strand-objects Cn3d-general-style,
virtual-disulfides-on BOOLEAN, -- virtual disulfides
virtual-disulfide-color Cn3d-color,
hydrogens-on BOOLEAN, -- hydrogens
background-color Cn3d-color, -- background
-- floating point parameters - scale-factor applies to all the following:
scale-factor INTEGER,
space-fill-proportion INTEGER,
ball-radius INTEGER,
stick-radius INTEGER,
tube-radius INTEGER,
tube-worm-radius INTEGER,
helix-radius INTEGER,
strand-width INTEGER,
strand-thickness INTEGER,
-- backbone labels (no labels if not present)
protein-labels Cn3d-backbone-label-style OPTIONAL,
nucleotide-labels Cn3d-backbone-label-style OPTIONAL,
-- ion labels
ion-labels BOOLEAN OPTIONAL
}
Cn3d-style-settings-set ::= SET OF Cn3d-style-settings
Cn3d-style-table-id ::= INTEGER
Cn3d-style-table-item ::= SEQUENCE {
id Cn3d-style-table-id,
style Cn3d-style-settings
}
-- the global settings, and a lookup table of styles for user annotations.
Cn3d-style-dictionary ::= SEQUENCE {
global-style Cn3d-style-settings,
style-table SEQUENCE OF Cn3d-style-table-item OPTIONAL
}
-- a range of residues in a chain, identified by MMDB residue-id
-- (e.g., numbered from 1)
Cn3d-residue-range ::= SEQUENCE {
from Residue-id,
to Residue-id
}
-- set of locations on a particular chain
Cn3d-molecule-location ::= SEQUENCE {
molecule-id Molecule-id, -- MMDB molecule id
-- which residues; whole molecule implied if absent
residues SEQUENCE OF Cn3d-residue-range OPTIONAL
}
-- set of locations on a particular structure object (e.g., a PDB/MMDB
-- structure), which may include multiple ranges of residues each on
-- multiple chains.
Cn3d-object-location ::= SEQUENCE {
structure-id Biostruc-id,
residues SEQUENCE OF Cn3d-molecule-location
}
-- information for an individual user annotation
Cn3d-user-annotation ::= SEQUENCE {
name VisibleString, -- a (short) name for this annotation
description VisibleString OPTIONAL, -- an optional longer description
style-id Cn3d-style-table-id, -- how to draw this annotation
residues SEQUENCE OF Cn3d-object-location, -- which residues to cover
is-on BOOLEAN -- whether this annotation is to be turned on in Cn3D
}
-- a GL-ordered transformation matrix
Cn3d-GL-matrix ::= SEQUENCE {
m0 REAL, m1 REAL, m2 REAL, m3 REAL,
m4 REAL, m5 REAL, m6 REAL, m7 REAL,
m8 REAL, m9 REAL, m10 REAL, m11 REAL,
m12 REAL, m13 REAL, m14 REAL, m15 REAL
}
-- a floating point 3d vector
Cn3d-vector ::= SEQUENCE {
x REAL,
y REAL,
z REAL
}
-- parameters used to set up the camera in Cn3D
Cn3d-view-settings ::= SEQUENCE {
camera-distance REAL, -- camera on +Z axis this distance from origin
camera-angle-rad REAL, -- camera angle
camera-look-at-X REAL, -- X,Y of point in Z=0 plane camera points at
camera-look-at-Y REAL,
camera-clip-near REAL, -- distance of clipping planes from camera
camera-clip-far REAL,
matrix Cn3d-GL-matrix, -- transformation of objects in the scene
rotation-center Cn3d-vector -- center of rotation of whole scene
}
-- The list of annotations for a given CDD/mime. If residue regions overlap
-- between annotations that are turned on, the last annotation in this list
-- that contains these residues will be used as the display style for these
-- residues.
-- Also contains the current viewpoint, so that user's camera angle
-- can be stored and reproduced, for illustrations, on-line figures, etc.
Cn3d-user-annotations ::= SEQUENCE {
annotations SEQUENCE OF Cn3d-user-annotation OPTIONAL,
view Cn3d-view-settings OPTIONAL
}
END
--$Revision: 6.3 $
--****************************************************************
--
-- NCBI Project Definition Module
-- by Jim Ostell and Jonathan Kans, 1998
--
--****************************************************************
NCBI-Project DEFINITIONS ::=
BEGIN
EXPORTS Project, Project-item;
IMPORTS Date FROM NCBI-General
PubMedId FROM NCBI-Biblio
Seq-id, Seq-loc FROM NCBI-Seqloc
Seq-annot, Pubdesc FROM NCBI-Sequence
Seq-entry FROM NCBI-Seqset
Pubmed-entry FROM NCBI-PubMed;
Project ::= SEQUENCE {
descr Project-descr OPTIONAL ,
data Project-item }
Project-item ::= CHOICE {
pmuid SET OF INTEGER ,
protuid SET OF INTEGER ,
nucuid SET OF INTEGER ,
sequid SET OF INTEGER ,
genomeuid SET OF INTEGER ,
structuid SET OF INTEGER ,
pmid SET OF PubMedId ,
protid SET OF Seq-id ,
nucid SET OF Seq-id ,
seqid SET OF Seq-id ,
genomeid SET OF Seq-id ,
structid NULL ,
pment SET OF Pubmed-entry ,
protent SET OF Seq-entry ,
nucent SET OF Seq-entry ,
seqent SET OF Seq-entry ,
genomeent SET OF Seq-entry ,
structent NULL ,
seqannot SET OF Seq-annot ,
loc SET OF Seq-loc ,
proj SET OF Project
}
Project-descr ::= SEQUENCE {
id SET OF Project-id ,
name VisibleString OPTIONAL ,
descr SET OF Projdesc OPTIONAL }
Projdesc ::= CHOICE {
pub Pubdesc ,
date Date ,
comment VisibleString ,
title VisibleString
}
Project-id ::= VisibleString
END
--$Revision: 6.0 $
--*********************************************************************
--
-- access.asn
--
-- messages for data access
--
--*********************************************************************
NCBI-Access DEFINITIONS ::=
BEGIN
EXPORTS Link-set;
-- links between same class = neighbors
-- links between other classes = links
Link-set ::= SEQUENCE {
num INTEGER , -- number of links to this doc type
uids SEQUENCE OF INTEGER OPTIONAL , -- the links
weights SEQUENCE OF INTEGER OPTIONAL } -- the weights
END
--$Revision: 6.0 $
--**********************************************************************
--
-- NCBI Sequence Feature Definition Module
-- by James Ostell, 1994
--
--**********************************************************************
NCBI-FeatDef DEFINITIONS ::=
BEGIN
EXPORTS FeatDef, FeatDefSet, FeatDispGroup, FeatDispGroupSet;
FeatDef ::= SEQUENCE {
typelabel VisibleString , -- short label for type eg "CDS"
menulabel VisibleString , -- label for a menu eg "Coding Region"
featdef-key INTEGER , -- unique for this feature definition
seqfeat-key INTEGER , -- SeqFeat.data.choice from objfeat.h
entrygroup INTEGER , -- Group for data entry
displaygroup INTEGER , -- Group for data display
molgroup FeatMolType -- Type of Molecule used for
}
FeatMolType ::= ENUMERATED {
aa (1), -- proteins
na (2), -- nucleic acids
both (3) } -- both
FeatDefSet ::= SEQUENCE OF FeatDef -- collections of defintions
FeatDispGroup ::= SEQUENCE {
groupkey INTEGER ,
groupname VisibleString }
FeatDispGroupSet ::= SEQUENCE OF FeatDispGroup
FeatDefGroupSet ::= SEQUENCE {
groups FeatDispGroupSet ,
defs FeatDefSet }
END
--$Revision: 6.12 $
--****************************************************************
--
-- NCBI MIME type (chemical/ncbi-asn1-ascii and chemical/ncbi-asn1-binary)
-- by Jonathan Epstein, February 1996
--
--****************************************************************
NCBI-Mime DEFINITIONS ::=
BEGIN
EXPORTS Ncbi-mime-asn1;
IMPORTS Biostruc, Biostruc-annot-set FROM MMDB
Cdd FROM NCBI-Cdd
Seq-entry FROM NCBI-Seqset
Seq-annot FROM NCBI-Sequence
Medline-entry FROM NCBI-Medline
Cn3d-style-dictionary, Cn3d-user-annotations FROM NCBI-Cn3d;
Ncbi-mime-asn1 ::= CHOICE {
entrez Entrez-general, -- just a structure
alignstruc Biostruc-align, -- structures & sequences & alignments
alignseq Biostruc-align-seq, -- sequence alignment
strucseq Biostruc-seq, -- structure & sequences
strucseqs Biostruc-seqs, -- structure & sequences & alignments
general Biostruc-seqs-aligns-cdd -- all-purpose "grab bag"
-- others may be added here in the future
}
-- generic bundle of sequence and alignment info
Bundle-seqs-aligns ::= SEQUENCE {
sequences SET OF Seq-entry OPTIONAL, -- sequences
seqaligns SET OF Seq-annot OPTIONAL, -- sequence alignments
strucaligns Biostruc-annot-set OPTIONAL, -- structure alignments
imports SET OF Seq-annot OPTIONAL, -- imports (updates in Cn3D)
style-dictionary Cn3d-style-dictionary OPTIONAL, -- Cn3D stuff
user-annotations Cn3d-user-annotations OPTIONAL
}
Biostruc-seqs-aligns-cdd ::= SEQUENCE {
seq-align-data CHOICE {
bundle Bundle-seqs-aligns, -- either seqs + alignments
cdd Cdd -- or CDD (which contains these)
},
structures SET OF Biostruc OPTIONAL, -- structures
structure-type ENUMERATED { -- type of structures to load if
ncbi-backbone(2), -- not present; meanings and
ncbi-all-atom(3), -- values are same as MMDB's
pdb-model(4) -- Model-type
} OPTIONAL
}
Biostruc-align ::= SEQUENCE {
master Biostruc,
slaves SET OF Biostruc,
alignments Biostruc-annot-set, -- structure alignments
sequences SET OF Seq-entry, -- sequences
seqalign SET OF Seq-annot,
style-dictionary Cn3d-style-dictionary OPTIONAL,
user-annotations Cn3d-user-annotations OPTIONAL
}
Biostruc-align-seq ::= SEQUENCE { -- display seq structure align only
sequences SET OF Seq-entry, -- sequences
seqalign SET OF Seq-annot,
style-dictionary Cn3d-style-dictionary OPTIONAL,
user-annotations Cn3d-user-annotations OPTIONAL
}
Biostruc-seq ::= SEQUENCE { -- display structure seq added by yanli
structure Biostruc,
sequences SET OF Seq-entry,
style-dictionary Cn3d-style-dictionary OPTIONAL,
user-annotations Cn3d-user-annotations OPTIONAL
}
Biostruc-seqs ::= SEQUENCE { -- display blast alignment along with neighbor's structure added by yanli
structure Biostruc,
sequences SET OF Seq-entry, -- sequences
seqalign SET OF Seq-annot,
style-dictionary Cn3d-style-dictionary OPTIONAL,
user-annotations Cn3d-user-annotations OPTIONAL
}
Entrez-style ::= ENUMERATED {
docsum (1),
genbank (2) ,
genpept (3) ,
fasta (4) ,
asn1 (5) ,
graphic (6) ,
alignment (7) ,
globalview (8) ,
report (9) ,
medlars (10) ,
embl (11) ,
pdb (12) ,
kinemage (13) }
Entrez-general ::= SEQUENCE {
title VisibleString OPTIONAL,
data CHOICE {
ml Medline-entry ,
prot Seq-entry ,
nuc Seq-entry ,
genome Seq-entry ,
structure Biostruc ,
strucAnnot Biostruc-annot-set } ,
style Entrez-style ,
location VisibleString OPTIONAL }
END
--$Revision: 6.0 $
--********************************************************************
--
-- Print Templates
-- James Ostell, 1993
--
--
--********************************************************************
NCBI-ObjPrt DEFINITIONS ::=
BEGIN
EXPORTS PrintTemplate, PrintTemplateSet;
PrintTemplate ::= SEQUENCE {
name TemplateName , -- name for this template
labelfrom VisibleString OPTIONAL, -- ASN.1 path to get label from
format PrintFormat }
TemplateName ::= VisibleString
PrintTemplateSet ::= SEQUENCE OF PrintTemplate
PrintFormat ::= SEQUENCE {
asn1 VisibleString , -- ASN.1 partial path for this
label VisibleString OPTIONAL , -- printable label
prefix VisibleString OPTIONAL,
suffix VisibleString OPTIONAL,
form PrintForm }
PrintForm ::= CHOICE { -- Forms for various ASN.1 components
block PrintFormBlock,
boolean PrintFormBoolean,
enum PrintFormEnum,
text PrintFormText,
use-template TemplateName,
user UserFormat ,
null NULL } -- rarely used
UserFormat ::= SEQUENCE {
printfunc VisibleString ,
defaultfunc VisibleString OPTIONAL }
PrintFormBlock ::= SEQUENCE { -- for SEQUENCE, SET
separator VisibleString OPTIONAL ,
components SEQUENCE OF PrintFormat }
PrintFormBoolean ::= SEQUENCE {
true VisibleString OPTIONAL ,
false VisibleString OPTIONAL }
PrintFormEnum ::= SEQUENCE {
values SEQUENCE OF VisibleString OPTIONAL }
PrintFormText ::= SEQUENCE {
textfunc VisibleString OPTIONAL }
END
|