File: NSE.mod.dtd

package info (click to toggle)
python-biopython 1.68%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 46,860 kB
  • ctags: 13,237
  • sloc: python: 160,306; xml: 93,216; ansic: 9,118; sql: 1,208; makefile: 155; sh: 63
file content (895 lines) | stat: -rw-r--r-- 26,853 bytes parent folder | download | duplicates (7)
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
<!-- ============================================
     ::DATATOOL:: Generated from "docsum.asn"
     ::DATATOOL:: by application DATATOOL version 1.9.0
     ::DATATOOL:: on 04/10/2008 16:04:22
     ============================================ -->

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


<!-- Elements used by other modules:
          ExchangeSet,
          Rs,
          Ss,
          MapLoc,
          FxnSet,
          Assembly,
          Assay,
          BaseURL,
          PrimarySequence,
          RsStruct,
          RsLinkout,
          Component -->
<!-- ============================================ -->

<!-- Set of dbSNP refSNP docsums -->
<!ELEMENT ExchangeSet (
        ExchangeSet_setType?, 
        ExchangeSet_setDepth?, 
        ExchangeSet_specVersion?, 
        ExchangeSet_dbSnpBuild?, 
        ExchangeSet_generated?, 
        ExchangeSet_sourceDatabase, 
        ExchangeSet_rs?, 
        ExchangeSet_assay?, 
        ExchangeSet_query?, 
        ExchangeSet_summary, 
        ExchangeSet_baseURL)>

<!-- set-type: full dump; from query; single refSNP -->
<!ELEMENT ExchangeSet_setType (#PCDATA)>

<!-- content depth: brief XML (only refSNP properties and summary subSNP element content); full XML (full refSNP, full subSNP content; all flanking sequences) -->
<!ELEMENT ExchangeSet_setDepth (#PCDATA)>

<!-- version number of docsum.asn/docsum.dtd specification -->
<!ELEMENT ExchangeSet_specVersion (#PCDATA)>

<!-- build number of database for this export -->
<!ELEMENT ExchangeSet_dbSnpBuild (%INTEGER;)>

<!-- Generated date -->
<!ELEMENT ExchangeSet_generated (#PCDATA)>

<!ELEMENT ExchangeSet_sourceDatabase (
        ExchangeSet_sourceDatabase_taxId, 
        ExchangeSet_sourceDatabase_organism, 
        ExchangeSet_sourceDatabase_dbSnpOrgAbbr?, 
        ExchangeSet_sourceDatabase_gpipeOrgAbbr?)>

<!-- NCBI taxonomy ID for variation -->
<!ELEMENT ExchangeSet_sourceDatabase_taxId (%INTEGER;)>

<!-- common name for species used as part of database name. -->
<!ELEMENT ExchangeSet_sourceDatabase_organism (#PCDATA)>

<!-- organism abbreviation used in dbSNP. -->
<!ELEMENT ExchangeSet_sourceDatabase_dbSnpOrgAbbr (#PCDATA)>

<!-- organism abbreviation used within NCBI genome pipeline data dumps. -->
<!ELEMENT ExchangeSet_sourceDatabase_gpipeOrgAbbr (#PCDATA)>

<!ELEMENT ExchangeSet_rs (Rs*)>

<!ELEMENT ExchangeSet_assay (Assay)>

<!ELEMENT ExchangeSet_query (
        ExchangeSet_query_date?, 
        ExchangeSet_query_string?)>

<!-- yyyy-mm-dd -->
<!ELEMENT ExchangeSet_query_date (#PCDATA)>

<!-- Query terms or search constraints -->
<!ELEMENT ExchangeSet_query_string (#PCDATA)>

<!ELEMENT ExchangeSet_summary (
        ExchangeSet_summary_numRsIds?, 
        ExchangeSet_summary_totalSeqLength?, 
        ExchangeSet_summary_numContigHits?, 
        ExchangeSet_summary_numGeneHits?, 
        ExchangeSet_summary_numGiHits?, 
        ExchangeSet_summary_num3dStructs?, 
        ExchangeSet_summary_numAlleleFreqs?, 
        ExchangeSet_summary_numStsHits?, 
        ExchangeSet_summary_numUnigeneCids?)>

<!-- Total number of refsnp-ids in this exchange set -->
<!ELEMENT ExchangeSet_summary_numRsIds (%INTEGER;)>

<!-- Total length of exemplar flanking sequences -->
<!ELEMENT ExchangeSet_summary_totalSeqLength (%INTEGER;)>

<!-- Total number of contig locations from SNPContigLoc -->
<!ELEMENT ExchangeSet_summary_numContigHits (%INTEGER;)>

<!-- Total number of locus ids from SNPContigLocusId -->
<!ELEMENT ExchangeSet_summary_numGeneHits (%INTEGER;)>

<!-- Total number of gi hits from MapLink -->
<!ELEMENT ExchangeSet_summary_numGiHits (%INTEGER;)>

<!-- Total number of 3D structures from SNP3D -->
<!ELEMENT ExchangeSet_summary_num3dStructs (%INTEGER;)>

<!-- Total number of allele frequences from SubPopAllele -->
<!ELEMENT ExchangeSet_summary_numAlleleFreqs (%INTEGER;)>

<!-- Total number of STS hits from SnpInSts -->
<!ELEMENT ExchangeSet_summary_numStsHits (%INTEGER;)>

<!-- Total number of unigene cluster ids from UnigeneSnp -->
<!ELEMENT ExchangeSet_summary_numUnigeneCids (%INTEGER;)>

<!ELEMENT ExchangeSet_baseURL (BaseURL*)>

<!-- defines the docsum structure for refSNP clusters, where a refSNP cluster (rs) is a grouping of individual dbSNP submissions that all refer to the same variation. The refsnp provides a single unified record for annotation of NCBI resources such as reference genome sequence. -->
<!ELEMENT Rs (
        Rs_rsId, 
        Rs_snpClass, 
        Rs_snpType, 
        Rs_molType, 
        Rs_validProbMin?, 
        Rs_validProbMax?, 
        Rs_genotype?, 
        Rs_het?, 
        Rs_validation, 
        Rs_create, 
        Rs_update?, 
        Rs_sequence, 
        Rs_ss, 
        Rs_assembly?, 
        Rs_primarySequence?, 
        Rs_rsStruct?, 
        Rs_rsLinkout?, 
        Rs_mergeHistory?)>

<!-- refSNP (rs) number -->
<!ELEMENT Rs_rsId (%INTEGER;)>

<!ELEMENT Rs_snpClass %ENUM;>
<!ATTLIST Rs_snpClass value (
        snp |
        in-del |
        heterozygous |
        microsatellite |
        named-locus |
        no-variation |
        mixed |
        multinucleotide-polymorphism
        ) #REQUIRED >


<!ELEMENT Rs_snpType %ENUM;>
<!ATTLIST Rs_snpType value (
        notwithdrawn |
        artifact |
        gene-duplication |
        duplicate-submission |
        notspecified |
        ambiguous-location |
        low-map-quality
        ) #REQUIRED >


<!ELEMENT Rs_molType %ENUM;>
<!ATTLIST Rs_molType value (
        genomic |
        cDNA |
        mito |
        chloro |
        unknown
        ) #REQUIRED >


<!-- minimum reported success rate of all submissions in cluster -->
<!ELEMENT Rs_validProbMin (%INTEGER;)>

<!-- maximum reported success rate of all submissions in cluster -->
<!ELEMENT Rs_validProbMax (%INTEGER;)>

<!-- at least one genotype reported for this refSNP -->
<!ELEMENT Rs_genotype EMPTY>
<!ATTLIST Rs_genotype value ( true | false ) #REQUIRED >


<!ELEMENT Rs_het (
        Rs_het_type, 
        Rs_het_value, 
        Rs_het_stdError?)>

<!-- Est=Estimated average het from allele frequencies, Obs=Observed from genotype data -->
<!ELEMENT Rs_het_type %ENUM;>
<!ATTLIST Rs_het_type value (
        est |
        obs
        ) #REQUIRED >


<!-- Heterozygosity -->
<!ELEMENT Rs_het_value (%REAL;)>

<!-- Standard error of Het estimate -->
<!ELEMENT Rs_het_stdError (%REAL;)>

<!ELEMENT Rs_validation (
        Rs_validation_byCluster?, 
        Rs_validation_byFrequency?, 
        Rs_validation_byOtherPop?, 
        Rs_validation_by2Hit2Allele?, 
        Rs_validation_byHapMap?, 
        Rs_validation_otherPopBatchId?, 
        Rs_validation_twoHit2AlleleBatchId?)>

<!-- at least one subsnp in cluster has frequency data submitted -->
<!ELEMENT Rs_validation_byCluster EMPTY>
<!ATTLIST Rs_validation_byCluster value ( true | false ) #REQUIRED >


<!-- cluster has 2+ submissions, with 1+ submissions assayed with a non-computational method -->
<!ELEMENT Rs_validation_byFrequency EMPTY>
<!ATTLIST Rs_validation_byFrequency value ( true | false ) #REQUIRED >


<!ELEMENT Rs_validation_byOtherPop EMPTY>
<!ATTLIST Rs_validation_byOtherPop value ( true | false ) #REQUIRED >


<!-- cluster has 2+ submissions, with 1+ submissions assayed with a non-computational method -->
<!ELEMENT Rs_validation_by2Hit2Allele EMPTY>
<!ATTLIST Rs_validation_by2Hit2Allele value ( true | false ) #REQUIRED >


<!-- TBD -->
<!ELEMENT Rs_validation_byHapMap EMPTY>
<!ATTLIST Rs_validation_byHapMap value ( true | false ) #REQUIRED >


<!-- dbSNP batch-id's for other pop snp validation data. -->
<!ELEMENT Rs_validation_otherPopBatchId (Rs_validation_otherPopBatchId_E*)>


<!ELEMENT Rs_validation_otherPopBatchId_E (%INTEGER;)>

<!-- dbSNP batch-id's for double-hit snp validation data. Use batch-id to get methods, etc. -->
<!ELEMENT Rs_validation_twoHit2AlleleBatchId (Rs_validation_twoHit2AlleleBatchId_E*)>


<!ELEMENT Rs_validation_twoHit2AlleleBatchId_E (%INTEGER;)>

<!-- date the refsnp cluster was instantiated -->
<!ELEMENT Rs_create (
        Rs_create_build?, 
        Rs_create_date?)>

<!-- build number when the cluster was created -->
<!ELEMENT Rs_create_build (%INTEGER;)>

<!-- yyyy-mm-dd -->
<!ELEMENT Rs_create_date (#PCDATA)>

<!-- most recent date the cluster was updated (member added or deleted) -->
<!ELEMENT Rs_update (
        Rs_update_build?, 
        Rs_update_date?)>

<!-- build number when the cluster was updated -->
<!ELEMENT Rs_update_build (%INTEGER;)>

<!-- yyyy-mm-dd -->
<!ELEMENT Rs_update_date (#PCDATA)>

<!ELEMENT Rs_sequence (
        Rs_sequence_exemplarSs, 
        Rs_sequence_seq5?, 
        Rs_sequence_observed, 
        Rs_sequence_seq3?)>

<!-- dbSNP ss# selected as source of refSNP flanking sequence, ss# part of ss-list below -->
<!ELEMENT Rs_sequence_exemplarSs (%INTEGER;)>

<!-- 5' sequence that flanks the variation -->
<!ELEMENT Rs_sequence_seq5 (#PCDATA)>

<!-- list of all nucleotide alleles observed in ss-list members, correcting for reverse complementation of memebers reported in reverse orientation -->
<!ELEMENT Rs_sequence_observed (#PCDATA)>

<!-- 3' sequence that flanks the variation -->
<!ELEMENT Rs_sequence_seq3 (#PCDATA)>

<!ELEMENT Rs_ss (Ss*)>

<!ELEMENT Rs_assembly (Assembly*)>

<!ELEMENT Rs_primarySequence (PrimarySequence*)>

<!ELEMENT Rs_rsStruct (RsStruct*)>

<!ELEMENT Rs_rsLinkout (RsLinkout*)>

<!ELEMENT Rs_mergeHistory (Rs_mergeHistory_E*)>


<!ELEMENT Rs_mergeHistory_E (
        Rs_mergeHistory_E_rsId, 
        Rs_mergeHistory_E_buildId?, 
        Rs_mergeHistory_E_orientFlip?)>

<!-- previously issued rs id whose member assays have now been merged -->
<!ELEMENT Rs_mergeHistory_E_rsId (%INTEGER;)>

<!-- build id when rs id was merged into parent rs -->
<!ELEMENT Rs_mergeHistory_E_buildId (%INTEGER;)>

<!-- TRUE if strand of rs id is reverse to parent object's current strand -->
<!ELEMENT Rs_mergeHistory_E_orientFlip EMPTY>
<!ATTLIST Rs_mergeHistory_E_orientFlip value ( true | false ) #REQUIRED >


<!-- data for an individual submission to dbSNP -->
<!ELEMENT Ss (
        Ss_ssId, 
        Ss_handle, 
        Ss_batchId, 
        Ss_locSnpId?, 
        Ss_subSnpClass?, 
        Ss_orient?, 
        Ss_strand?, 
        Ss_molType?, 
        Ss_buildId?, 
        Ss_methodClass?, 
        Ss_validated?, 
        Ss_linkoutUrl?, 
        Ss_sequence)>

<!-- dbSNP accession number for submission -->
<!ELEMENT Ss_ssId (%INTEGER;)>

<!-- Tag for the submitting laboratory -->
<!ELEMENT Ss_handle (#PCDATA)>

<!-- dbSNP number for batch submission -->
<!ELEMENT Ss_batchId (%INTEGER;)>

<!-- submission (ss#) submitter ID -->
<!ELEMENT Ss_locSnpId (#PCDATA)>

<!-- SubSNP classification by type of variation -->
<!ELEMENT Ss_subSnpClass %ENUM;>
<!ATTLIST Ss_subSnpClass value (
        snp |
        in-del |
        heterozygous |
        microsatellite |
        named-locus |
        no-variation |
        mixed |
        multinucleotide-polymorphism
        ) #REQUIRED >


<!-- orientation of refsnp cluster members to refsnp cluster sequence -->
<!ELEMENT Ss_orient %ENUM;>

<!--
    forward	-  ss flanking sequence is in same orientation as seq-ss-exemplar
    reverse	-  lanking sequence and alleles are reverse complement of refSNP as defined by ss exemplar
-->
<!ATTLIST Ss_orient value (
        forward |
        reverse
        ) #REQUIRED >


<!-- strand is defined as TOP/BOTTOM by nature of flanking nucleotide sequence -->
<!ELEMENT Ss_strand %ENUM;>
<!ATTLIST Ss_strand value (
        top |
        bottom
        ) #REQUIRED >


<!-- moltype from Batch table -->
<!ELEMENT Ss_molType %ENUM;>
<!ATTLIST Ss_molType value (
        genomic |
        cDNA |
        mito |
        chloro |
        unknown
        ) #REQUIRED >


<!-- dbSNP build number when ss# was added to a refSNP (rs#) cluster -->
<!ELEMENT Ss_buildId (%INTEGER;)>

<!-- class of method used to assay for the variation -->
<!ELEMENT Ss_methodClass %ENUM;>

<!--
    dHPLC	-  Denaturing High Pressure Liquid Chromatography used to detect SNP
    hybridize	-  a hybridization method (e.g. chip) was used to assay for variation
    computed	-  variation was mined from sequence alignment with software
    sequence	-  samples were sequenced and resulting alignment used to define variation
-->
<!ATTLIST Ss_methodClass value (
        dHPLC |
        hybridize |
        computed |
        sSCP |
        other |
        unknown |
        rFLP |
        sequence
        ) #REQUIRED >


<!ELEMENT Ss_validated %ENUM;>

<!--
    by-submitter	-  subsnp has been experimentally validated by submitter
    by-frequency	-  subsnp has frequency data submitted
    by-cluster	-  has 2+ submissions, with 1+ submission assayed with a non-computational method
-->
<!ATTLIST Ss_validated value (
        by-submitter |
        by-frequency |
        by-cluster
        ) #REQUIRED >


<!-- append loc-snp-id to this base URL to construct a pointer to submitter data. -->
<!ELEMENT Ss_linkoutUrl (#PCDATA)>

<!ELEMENT Ss_sequence (
        Ss_sequence_seq5?, 
        Ss_sequence_observed, 
        Ss_sequence_seq3?)>

<!-- 5' sequence that flanks the variation -->
<!ELEMENT Ss_sequence_seq5 (#PCDATA)>

<!-- list of all nucleotide alleles observed in ss-list members, correcting for reverse complementation of memebers reported in reverse orientation -->
<!ELEMENT Ss_sequence_observed (#PCDATA)>

<!-- 3' sequence that flanks the variation -->
<!ELEMENT Ss_sequence_seq3 (#PCDATA)>

<!-- Position of a single hit of a variation on a contig -->
<!ELEMENT MapLoc (
        MapLoc_asnFrom, 
        MapLoc_asnTo, 
        MapLoc_locType, 
        MapLoc_alnQuality?, 
        MapLoc_orient?, 
        MapLoc_physMapInt?, 
        MapLoc_leftFlankNeighborPos?, 
        MapLoc_rightFlankNeighborPos?, 
        MapLoc_leftContigNeighborPos?, 
        MapLoc_rightContigNeighborPos?, 
        MapLoc_numberOfMismatches?, 
        MapLoc_numberOfDeletions?, 
        MapLoc_numberOfInsertions?, 
        MapLoc_fxnSet?)>

<!-- beginning of variation as feature on contig -->
<!ELEMENT MapLoc_asnFrom (%INTEGER;)>

<!-- end position of variation as feature on contig -->
<!ELEMENT MapLoc_asnTo (%INTEGER;)>

<!-- defines the seq-loc symbol if asn_from != asn_to -->
<!ELEMENT MapLoc_locType %ENUM;>

<!--
    insertion	-  insertion on contig
    exact	-  asn-from = asn-to write as 'asn-from'
    deletion	-  deletion on contig
-->
<!ATTLIST MapLoc_locType value (
        insertion |
        exact |
        deletion |
        range-ins |
        range-exact |
        range-del
        ) #REQUIRED >


<!-- alignment qualiity -->
<!ELEMENT MapLoc_alnQuality (%REAL;)>

<!-- orientation of refSNP sequence to contig sequence -->
<!ELEMENT MapLoc_orient %ENUM;>
<!ATTLIST MapLoc_orient value (
        forward |
        reverse
        ) #REQUIRED >


<!-- chromosome position as integer for sorting -->
<!ELEMENT MapLoc_physMapInt (%INTEGER;)>

<!-- nearest aligned position in 5' flanking sequence of snp -->
<!ELEMENT MapLoc_leftFlankNeighborPos (%INTEGER;)>

<!-- nearest aligned position in 3' flanking sequence of snp -->
<!ELEMENT MapLoc_rightFlankNeighborPos (%INTEGER;)>

<!-- nearest aligned position in 5' contig alignment of snp -->
<!ELEMENT MapLoc_leftContigNeighborPos (%INTEGER;)>

<!-- nearest aligned position in 3' contig alignment of snp -->
<!ELEMENT MapLoc_rightContigNeighborPos (%INTEGER;)>

<!-- number of Mismatched positions in this alignment -->
<!ELEMENT MapLoc_numberOfMismatches (%INTEGER;)>

<!-- number of deletions in this alignment -->
<!ELEMENT MapLoc_numberOfDeletions (%INTEGER;)>

<!-- number of insetions in this alignment -->
<!ELEMENT MapLoc_numberOfInsertions (%INTEGER;)>

<!ELEMENT MapLoc_fxnSet (FxnSet*)>

<!-- functional relationship of SNP (and possibly alleles) to genes at contig location as defined in organism-specific bxxx_SNPContigLocusId_xxx tables. -->
<!ELEMENT FxnSet (
        FxnSet_geneId?, 
        FxnSet_symbol?, 
        FxnSet_mrnaAcc?, 
        FxnSet_mrnaVer?, 
        FxnSet_protAcc?, 
        FxnSet_protVer?, 
        FxnSet_fxnClass?, 
        FxnSet_readingFrame?, 
        FxnSet_allele?, 
        FxnSet_residue?, 
        FxnSet_aaPosition?)>

<!-- gene-id of gene as aligned to contig -->
<!ELEMENT FxnSet_geneId (%INTEGER;)>

<!-- symbol (official if present in Entrez Gene) of gene -->
<!ELEMENT FxnSet_symbol (#PCDATA)>

<!-- mRNA accession if variation in transcript -->
<!ELEMENT FxnSet_mrnaAcc (#PCDATA)>

<!-- mRNA sequence version if variation is in transcripot -->
<!ELEMENT FxnSet_mrnaVer (%INTEGER;)>

<!-- protein accession if variation in protein -->
<!ELEMENT FxnSet_protAcc (#PCDATA)>

<!-- protein version if variation is in protein -->
<!ELEMENT FxnSet_protVer (%INTEGER;)>

<!ELEMENT FxnSet_fxnClass %ENUM;>

<!--
    locus-region	-  variation in region of gene, but not in transcript
-->
<!ATTLIST FxnSet_fxnClass value (
        locus-region |
        coding-unknown |
        coding-synonymous |
        coding-nonsynonymous |
        mrna-utr |
        intron |
        splice-site |
        reference |
        coding-exception
        ) #REQUIRED >


<!ELEMENT FxnSet_readingFrame (%INTEGER;)>

<!-- variation allele: * suffix indicates allele of contig at this location -->
<!ELEMENT FxnSet_allele (#PCDATA)>

<!-- translated amino acid residue for allele -->
<!ELEMENT FxnSet_residue (#PCDATA)>

<!-- position of the variant residue in peptide sequence -->
<!ELEMENT FxnSet_aaPosition (%INTEGER;)>

<!-- A collection of genome sequence records (curated gene regions (NG's), contigs (NWNT's)  and chromosomes (NC/AC's) produced by a genome sequence project. Structure is populated from ContigInfo tables. -->
<!ELEMENT Assembly (
        Assembly_dbSnpBuild, 
        Assembly_genomeBuild, 
        Assembly_groupLabel?, 
        Assembly_assemblySource?, 
        Assembly_current?, 
        Assembly_reference?, 
        Assembly_component?, 
        Assembly_snpStat)>

<!-- dbSNP build number defining the rsid set aligned to this assembly -->
<!ELEMENT Assembly_dbSnpBuild (%INTEGER;)>

<!-- assembly build number with possible 'subbuild' version numbers to reflect updates in gene annotation (human e.g. 34_3, 35_1, 36_1) -->
<!ELEMENT Assembly_genomeBuild (#PCDATA)>

<!-- High-level classification of the assembly to distinguish reference projects from alternate solutions. GroupLabel field from organism/build-specific ContigInfo tables. "reference" is occasionally used as the preferred assembly; standards will converge as additional organism genome projects are finished. Note that some organism assembly names include extended characters like '~' and '/' that may be incompatible with OS filename conventions. -->
<!ELEMENT Assembly_groupLabel (#PCDATA)>

<!-- Name of the group(s) or organization(s) that generated the assembly -->
<!ELEMENT Assembly_assemblySource (#PCDATA)>

<!-- Marks the current genomic assembly -->
<!ELEMENT Assembly_current EMPTY>
<!ATTLIST Assembly_current value ( true | false ) #REQUIRED >


<!ELEMENT Assembly_reference EMPTY>
<!ATTLIST Assembly_reference value ( true | false ) #REQUIRED >


<!ELEMENT Assembly_component (Component*)>

<!ELEMENT Assembly_snpStat (
        Assembly_snpStat_mapWeight, 
        Assembly_snpStat_chromCount?, 
        Assembly_snpStat_placedContigCount?, 
        Assembly_snpStat_unplacedContigCount?, 
        Assembly_snpStat_seqlocCount?, 
        Assembly_snpStat_hapCount?)>

<!-- summary measure of placement precision in the assembly -->
<!ELEMENT Assembly_snpStat_mapWeight %ENUM;>
<!ATTLIST Assembly_snpStat_mapWeight value (
        unmapped |
        unique-in-contig |
        two-hits-in-contig |
        less-10-hits |
        multiple-hits
        ) #REQUIRED >


<!-- number of distinct chromosomes in the mapset -->
<!ELEMENT Assembly_snpStat_chromCount (%INTEGER;)>

<!-- number of distinct contigs [ gi | accession[.version] ] in the mapset -->
<!ELEMENT Assembly_snpStat_placedContigCount (%INTEGER;)>

<!-- number of sequence postions to a contig with unknown chromosomal assignment -->
<!ELEMENT Assembly_snpStat_unplacedContigCount (%INTEGER;)>

<!-- total number of sequence positions in the mapset -->
<!ELEMENT Assembly_snpStat_seqlocCount (%INTEGER;)>

<!-- Number of hits to alternative genomic haplotypes (e.g. HLA DR region, KIR, or pseudo-autosomal regions like PAR) within the assembly mapset. Note that positions on haplotypes defined in other assemblies (a different assembly_group_label value) will not be counted in this value. -->
<!ELEMENT Assembly_snpStat_hapCount (%INTEGER;)>


<!ELEMENT Assay (
        Assay_handle?, 
        Assay_batch?, 
        Assay_batchId?, 
        Assay_batchType?, 
        Assay_molType?, 
        Assay_sampleSize?, 
        Assay_population?, 
        Assay_linkoutUrl?, 
        Assay_method?, 
        Assay_taxonomy, 
        Assay_strains?, 
        Assay_comment?, 
        Assay_citation?)>

<!ELEMENT Assay_handle (#PCDATA)>

<!ELEMENT Assay_batch (#PCDATA)>

<!ELEMENT Assay_batchId (%INTEGER;)>

<!ELEMENT Assay_batchType %ENUM;>
<!ATTLIST Assay_batchType value (
        snpassay |
        validation |
        doublehit
        ) #REQUIRED >


<!ELEMENT Assay_molType %ENUM;>
<!ATTLIST Assay_molType value (
        genomic |
        cDNA |
        mito |
        chloro
        ) #REQUIRED >


<!ELEMENT Assay_sampleSize (%INTEGER;)>

<!ELEMENT Assay_population (#PCDATA)>

<!ELEMENT Assay_linkoutUrl (#PCDATA)>

<!ELEMENT Assay_method (
        Assay_method_name?, 
        Assay_method_id?, 
        Assay_method_exception)>

<!-- Submitters method identifier -->
<!ELEMENT Assay_method_name (#PCDATA)>

<!-- dbSNP method identifier -->
<!ELEMENT Assay_method_id (#PCDATA)>

<!-- description of deviation from/addition to given method -->
<!ELEMENT Assay_method_exception (#PCDATA)>

<!ELEMENT Assay_taxonomy (
        Assay_taxonomy_id, 
        Assay_taxonomy_organism?)>

<!-- NCBI taxonomy ID for variation -->
<!ELEMENT Assay_taxonomy_id (%INTEGER;)>

<!ELEMENT Assay_taxonomy_organism (#PCDATA)>

<!ELEMENT Assay_strains (Assay_strains_E*)>


<!ELEMENT Assay_strains_E (#PCDATA)>

<!ELEMENT Assay_comment (#PCDATA)>

<!ELEMENT Assay_citation (Assay_citation_E*)>


<!ELEMENT Assay_citation_E (#PCDATA)>

<!-- URL value from dbSNP_main.BaseURL links table. attributes provide context information and URL id that is referenced within individual refSNP objects. -->
<!ELEMENT BaseURL (
        BaseURL_urlId?, 
        BaseURL_resourceName?, 
        BaseURL_resourceId?, 
        BaseURL_baseURL)>

<!-- Resource identifier from dbSNP_main.baseURL. -->
<!ELEMENT BaseURL_urlId (%INTEGER;)>

<!-- Name of linked resource -->
<!ELEMENT BaseURL_resourceName (#PCDATA)>

<!-- identifier expected by resource for URL -->
<!ELEMENT BaseURL_resourceId (#PCDATA)>

<!ELEMENT BaseURL_baseURL (#PCDATA)>


<!ELEMENT PrimarySequence (
        PrimarySequence_dbSnpBuild, 
        PrimarySequence_gi, 
        PrimarySequence_source?, 
        PrimarySequence_accession?, 
        PrimarySequence_mapLoc)>

<!ELEMENT PrimarySequence_dbSnpBuild (%INTEGER;)>

<!ELEMENT PrimarySequence_gi (%INTEGER;)>

<!ELEMENT PrimarySequence_source %ENUM;>
<!ATTLIST PrimarySequence_source value (
        submitter |
        blastmb |
        xm
        ) #REQUIRED >


<!ELEMENT PrimarySequence_accession (#PCDATA)>

<!ELEMENT PrimarySequence_mapLoc (MapLoc*)>

<!-- structure information for SNP -->
<!ELEMENT RsStruct (
        RsStruct_protAcc?, 
        RsStruct_protGi?, 
        RsStruct_protLoc?, 
        RsStruct_protResidue?, 
        RsStruct_rsResidue?, 
        RsStruct_structGi?, 
        RsStruct_structLoc?, 
        RsStruct_structResidue?)>

<!-- accession of the protein with variation -->
<!ELEMENT RsStruct_protAcc (#PCDATA)>

<!-- GI of the protein with variation -->
<!ELEMENT RsStruct_protGi (%INTEGER;)>

<!-- position of the residue for the protein GI -->
<!ELEMENT RsStruct_protLoc (%INTEGER;)>

<!-- residue specified for protein at prot-loc location -->
<!ELEMENT RsStruct_protResidue (#PCDATA)>

<!-- alternative residue specified by variation sequence -->
<!ELEMENT RsStruct_rsResidue (#PCDATA)>

<!-- GI of the structure neighbor -->
<!ELEMENT RsStruct_structGi (%INTEGER;)>

<!-- position of the residue for the structure GI -->
<!ELEMENT RsStruct_structLoc (%INTEGER;)>

<!-- residue specified for protein at struct-loc location -->
<!ELEMENT RsStruct_structResidue (#PCDATA)>

<!-- link data for another resource -->
<!ELEMENT RsLinkout (
        RsLinkout_resourceId, 
        RsLinkout_linkValue)>

<!-- BaseURLList.url_id -->
<!ELEMENT RsLinkout_resourceId (#PCDATA)>

<!-- value to append to ResourceURL.base-url for complete link -->
<!ELEMENT RsLinkout_linkValue (#PCDATA)>


<!ELEMENT Component (
        Component_componentType?, 
        Component_ctgId?, 
        Component_accession?, 
        Component_name?, 
        Component_chromosome?, 
        Component_start?, 
        Component_end?, 
        Component_orientation?, 
        Component_gi?, 
        Component_groupTerm?, 
        Component_contigLabel?, 
        Component_mapLoc)>

<!-- type of component: chromosome, contig, gene_region, etc. -->
<!ELEMENT Component_componentType %ENUM;>
<!ATTLIST Component_componentType value (
        contig |
        mrna
        ) #REQUIRED >


<!-- dbSNP contig_id used to join on contig hit / mapset data to these assembly properties -->
<!ELEMENT Component_ctgId (%INTEGER;)>

<!-- Accession[.version] for the sequence component -->
<!ELEMENT Component_accession (#PCDATA)>

<!-- contig name defined as either a submitter local id, element of a whole genome assembly set, or internal NCBI local id -->
<!ELEMENT Component_name (#PCDATA)>

<!-- Organism appropriate chromosome tag, 'Un' reserved for default case of unplaced components -->
<!ELEMENT Component_chromosome (#PCDATA)>

<!-- component starting position on the chromosome (base 0 inclusive) -->
<!ELEMENT Component_start (%INTEGER;)>

<!-- component ending position on the chromosome (base 0 inclusive) -->
<!ELEMENT Component_end (%INTEGER;)>

<!-- orientation of this component to chromosome, forward (fwd) = 0, reverse (rev) = 1, unknown = NULL in ContigInfo.orient. -->
<!ELEMENT Component_orientation %ENUM;>
<!ATTLIST Component_orientation value (
        fwd |
        rev |
        unknown
        ) #REQUIRED >


<!-- NCBI gi for component sequence (equivalent to accession.version) for nucleotide sequence. -->
<!ELEMENT Component_gi (#PCDATA)>

<!-- Identifier label for the genome assembly that defines the contigs in this mapset and their placement within the organism genome. -->
<!ELEMENT Component_groupTerm (#PCDATA)>

<!-- Display label for component -->
<!ELEMENT Component_contigLabel (#PCDATA)>

<!ELEMENT Component_mapLoc (MapLoc*)>