bio 1.5.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +35 -36
  3. data/ChangeLog +911 -2554
  4. data/{gemfiles/Gemfile.travis-ruby2.2 → Gemfile} +0 -3
  5. data/KNOWN_ISSUES.rdoc +10 -13
  6. data/LEGAL +0 -10
  7. data/README.rdoc +40 -96
  8. data/README_DEV.rdoc +5 -5
  9. data/RELEASE_NOTES.rdoc +118 -234
  10. data/Rakefile +13 -43
  11. data/appveyor.yml +29 -0
  12. data/bioruby.gemspec +18 -81
  13. data/bioruby.gemspec.erb +8 -28
  14. data/doc/ChangeLog-1.5.0 +2919 -0
  15. data/doc/RELEASE_NOTES-1.5.0.rdoc +285 -0
  16. data/doc/Tutorial.rd +6 -108
  17. data/doc/Tutorial.rd.html +19 -98
  18. data/gemfiles/Gemfile.travis-jruby1.8 +3 -5
  19. data/gemfiles/Gemfile.travis-jruby1.9 +0 -3
  20. data/gemfiles/Gemfile.travis-rbx +0 -3
  21. data/gemfiles/Gemfile.travis-ruby1.8 +3 -5
  22. data/gemfiles/Gemfile.travis-ruby1.9 +0 -3
  23. data/gemfiles/Gemfile.windows +6 -0
  24. data/gemfiles/prepare-gemspec.rb +4 -0
  25. data/lib/bio.rb +0 -10
  26. data/lib/bio/appl/blast/genomenet.rb +4 -4
  27. data/lib/bio/appl/blast/report.rb +40 -8
  28. data/lib/bio/appl/fasta/format10.rb +2 -1
  29. data/lib/bio/command.rb +10 -0
  30. data/lib/bio/data/codontable.rb +99 -3
  31. data/lib/bio/db/aaindex.rb +74 -5
  32. data/lib/bio/db/gff.rb +3 -1
  33. data/lib/bio/db/kegg/common.rb +14 -0
  34. data/lib/bio/db/kegg/genes.rb +26 -0
  35. data/lib/bio/db/kegg/pathway.rb +5 -11
  36. data/lib/bio/db/soft.rb +2 -2
  37. data/lib/bio/io/flatfile/autodetection.rb +5 -0
  38. data/lib/bio/io/togows.rb +5 -5
  39. data/lib/bio/map.rb +4 -4
  40. data/lib/bio/sequence/format.rb +1 -0
  41. data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +1 -1
  42. data/lib/bio/util/sirna.rb +2 -0
  43. data/lib/bio/version.rb +6 -8
  44. data/sample/color_scheme_aa.rb +82 -0
  45. data/sample/color_scheme_na.rb +5 -6
  46. data/sample/fastq2html.cwl +23 -0
  47. data/sample/fastq2html.rb +94 -0
  48. data/sample/fastq2html.testdata.yaml +5 -0
  49. data/sample/na2aa.cwl +23 -0
  50. data/sample/na2aa.rb +11 -25
  51. data/sample/na2aa.testdata.yaml +7 -0
  52. data/sample/rev_comp.cwl +23 -0
  53. data/sample/rev_comp.rb +20 -0
  54. data/sample/rev_comp.testdata.yaml +7 -0
  55. data/sample/test_restriction_enzyme_long.rb +1 -1
  56. data/test/network/bio/db/kegg/test_genes_hsa7422.rb +91 -0
  57. data/test/unit/bio/appl/blast/test_report.rb +4 -4
  58. data/test/unit/bio/data/test_codontable.rb +3 -0
  59. data/test/unit/bio/db/test_gff.rb +5 -0
  60. data/test/unit/bio/test_alignment.rb +2 -2
  61. metadata +20 -77
  62. data/bin/bioruby +0 -47
  63. data/bin/br_biofetch.rb +0 -71
  64. data/bin/br_bioflat.rb +0 -293
  65. data/bin/br_biogetseq.rb +0 -45
  66. data/bin/br_pmfetch.rb +0 -422
  67. data/lib/bio/appl/blast/xmlparser.rb +0 -236
  68. data/lib/bio/db/biosql/biosql_to_biosequence.rb +0 -78
  69. data/lib/bio/db/biosql/sequence.rb +0 -444
  70. data/lib/bio/db/phyloxml/phyloxml.xsd +0 -582
  71. data/lib/bio/db/phyloxml/phyloxml_elements.rb +0 -1197
  72. data/lib/bio/db/phyloxml/phyloxml_parser.rb +0 -1001
  73. data/lib/bio/db/phyloxml/phyloxml_writer.rb +0 -227
  74. data/lib/bio/io/biosql/ar-biosql.rb +0 -257
  75. data/lib/bio/io/biosql/biosql.rb +0 -39
  76. data/lib/bio/io/biosql/config/database.yml +0 -21
  77. data/lib/bio/io/sql.rb +0 -79
  78. data/lib/bio/shell.rb +0 -44
  79. data/lib/bio/shell/core.rb +0 -578
  80. data/lib/bio/shell/demo.rb +0 -146
  81. data/lib/bio/shell/interface.rb +0 -217
  82. data/lib/bio/shell/irb.rb +0 -94
  83. data/lib/bio/shell/object.rb +0 -71
  84. data/lib/bio/shell/plugin/blast.rb +0 -42
  85. data/lib/bio/shell/plugin/codon.rb +0 -218
  86. data/lib/bio/shell/plugin/das.rb +0 -58
  87. data/lib/bio/shell/plugin/emboss.rb +0 -23
  88. data/lib/bio/shell/plugin/entry.rb +0 -137
  89. data/lib/bio/shell/plugin/flatfile.rb +0 -101
  90. data/lib/bio/shell/plugin/midi.rb +0 -430
  91. data/lib/bio/shell/plugin/ncbirest.rb +0 -68
  92. data/lib/bio/shell/plugin/obda.rb +0 -45
  93. data/lib/bio/shell/plugin/psort.rb +0 -56
  94. data/lib/bio/shell/plugin/seq.rb +0 -248
  95. data/lib/bio/shell/plugin/togows.rb +0 -40
  96. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +0 -29
  97. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +0 -4
  98. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +0 -27
  99. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +0 -11
  100. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +0 -4
  101. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +0 -7
  102. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
  103. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
  104. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
  105. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +0 -368
  106. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +0 -47
  107. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +0 -144
  108. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +0 -47
  109. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +0 -8
  110. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +0 -10
  111. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +0 -26
  112. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
  113. data/lib/bio/shell/script.rb +0 -25
  114. data/lib/bio/shell/setup.rb +0 -108
  115. data/lib/bio/shell/web.rb +0 -102
  116. data/sample/test_phyloxml_big.rb +0 -205
  117. data/setup.rb +0 -1600
  118. data/test/data/phyloxml/apaf.xml +0 -666
  119. data/test/data/phyloxml/bcl_2.xml +0 -2097
  120. data/test/data/phyloxml/made_up.xml +0 -144
  121. data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +0 -65
  122. data/test/data/phyloxml/phyloxml_examples.xml +0 -415
  123. data/test/unit/bio/db/biosql/tc_biosql.rb +0 -114
  124. data/test/unit/bio/db/biosql/ts_suite_biosql.rb +0 -8
  125. data/test/unit/bio/db/test_phyloxml.rb +0 -821
  126. data/test/unit/bio/db/test_phyloxml_writer.rb +0 -334
  127. data/test/unit/bio/shell/plugin/test_seq.rb +0 -187
  128. data/test/unit/bio/test_shell.rb +0 -20
@@ -1,582 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- -->
3
- <!-- phyloXML -->
4
- <!-- -->
5
- <!-- schema in XMLSchema -->
6
- <!-- -->
7
- <!-- License: The phyloXML XML Schema Definition is -->
8
- <!-- dual-licensed under the LGPL or Ruby's -->
9
- <!-- License. -->
10
- <!-- You can redistribute and/or modify -->
11
- <!-- it under either the terms of the LGPL, -->
12
- <!-- or Ruby's License. -->
13
- <!-- see: http://www.ruby-lang.org/en/about/license.txt -->
14
- <!-- -->
15
- <!-- Copyright (c) 2008-2009 Christian M Zmasek -->
16
- <!-- -->
17
- <!-- www.phyloxml.org -->
18
- <!-- Version: 1.10 -->
19
- <!-- Last modified: 2009.11.17 by Christian M Zmasek -->
20
- <!-- -->
21
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:phy="http://www.phyloxml.org"
22
- targetNamespace="http://www.phyloxml.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
23
- <xs:annotation>
24
- <xs:documentation> phyloXML is an XML language to describe evolutionary trees and associated data. Version: 1.10.
25
- License: dual-licensed under the LGPL or Ruby's License. Copyright (c) 2008-2009 Christian M Zmasek.</xs:documentation>
26
- </xs:annotation>
27
- <!-- phyloxml is the root element:-->
28
- <xs:element name="phyloxml" type="phy:Phyloxml"/>
29
- <!-- phyloXML definition:-->
30
- <xs:complexType name="Phyloxml">
31
- <xs:annotation>
32
- <xs:documentation> 'phyloxml' is the name of the root element. Phyloxml contains an arbitrary number of
33
- 'phylogeny' elements (each representing one phylogeny) possibly followed by elements from other namespaces.
34
- </xs:documentation>
35
- </xs:annotation>
36
- <xs:sequence maxOccurs="unbounded">
37
- <xs:element name="phylogeny" type="phy:Phylogeny" minOccurs="0" maxOccurs="unbounded"/>
38
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
39
- </xs:sequence>
40
- </xs:complexType>
41
- <!-- Phylogeny:-->
42
- <xs:complexType name="Phylogeny">
43
- <xs:annotation>
44
- <xs:documentation> Element Phylogeny is used to represent a phylogeny. The required attribute 'rooted' is used
45
- to indicate whether the phylogeny is rooted or not. The attribute 'rerootable' can be used to indicate that
46
- the phylogeny is not allowed to be rooted differently (i.e. because it is associated with root dependent
47
- data, such as gene duplications). The attribute 'type' can be used to indicate the type of phylogeny (i.e.
48
- 'gene tree'). It is recommended to use the attribute 'branch_length_unit' if the phylogeny has branch
49
- lengths. Element clade is used in a recursive manner to describe the topology of a phylogenetic
50
- tree.</xs:documentation>
51
- </xs:annotation>
52
- <xs:sequence>
53
- <xs:element name="name" type="xs:token" minOccurs="0"/>
54
- <xs:element name="id" type="phy:Id" minOccurs="0"/>
55
- <xs:element name="description" type="xs:token" minOccurs="0"/>
56
- <xs:element name="date" type="xs:dateTime" minOccurs="0"/>
57
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0" maxOccurs="unbounded"/>
58
- <xs:element name="clade" type="phy:Clade" minOccurs="0"/>
59
- <xs:element name="clade_relation" type="phy:CladeRelation" minOccurs="0" maxOccurs="unbounded"/>
60
- <xs:element name="sequence_relation" type="phy:SequenceRelation" minOccurs="0" maxOccurs="unbounded"/>
61
- <xs:element name="property" type="phy:Property" minOccurs="0" maxOccurs="unbounded"/>
62
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
63
- </xs:sequence>
64
- <xs:attribute name="rooted" type="xs:boolean" use="required"/>
65
- <xs:attribute name="rerootable" type="xs:boolean"/>
66
- <xs:attribute name="branch_length_unit" type="xs:token"/>
67
- <xs:attribute name="type" type="xs:token"/>
68
- </xs:complexType>
69
- <!-- Clade:-->
70
- <xs:complexType name="Clade">
71
- <xs:annotation>
72
- <xs:documentation> Element Clade is used in a recursive manner to describe the topology of a phylogenetic tree.
73
- The parent branch length of a clade can be described either with the 'branch_length' element or the
74
- 'branch_length' attribute (it is not recommended to use both at the same time, though). Usage of the
75
- 'branch_length' attribute allows for a less verbose description. Element 'confidence' is used to indicate
76
- the support for a clade/parent branch. Element 'events' is used to describe such events as gene-duplications
77
- at the root node/parent branch of a clade. Element 'width' is the branch width for this clade (including
78
- parent branch). Both 'color' and 'width' elements apply for the whole clade unless overwritten in-sub
79
- clades. Attribute 'id_source' is used to link other elements to a clade (on the xml-level).
80
- </xs:documentation>
81
- </xs:annotation>
82
- <xs:sequence>
83
- <xs:element name="name" type="xs:token" minOccurs="0"/>
84
- <xs:element name="branch_length" type="xs:double" minOccurs="0"/>
85
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0" maxOccurs="unbounded"/>
86
- <xs:element name="width" type="xs:double" minOccurs="0"/>
87
- <xs:element name="color" type="phy:BranchColor" minOccurs="0"/>
88
- <xs:element name="node_id" type="phy:Id" minOccurs="0"/>
89
- <xs:element name="taxonomy" type="phy:Taxonomy" minOccurs="0" maxOccurs="unbounded"/>
90
- <xs:element name="sequence" type="phy:Sequence" minOccurs="0" maxOccurs="unbounded"/>
91
- <xs:element name="events" type="phy:Events" minOccurs="0"/>
92
- <xs:element name="binary_characters" type="phy:BinaryCharacters" minOccurs="0"/>
93
- <xs:element name="distribution" type="phy:Distribution" minOccurs="0" maxOccurs="unbounded"/>
94
- <xs:element name="date" type="phy:Date" minOccurs="0"/>
95
- <xs:element name="reference" type="phy:Reference" minOccurs="0" maxOccurs="unbounded"/>
96
- <xs:element name="property" type="phy:Property" minOccurs="0" maxOccurs="unbounded"/>
97
- <xs:element name="clade" type="phy:Clade" minOccurs="0" maxOccurs="unbounded"/>
98
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
99
- </xs:sequence>
100
- <xs:attribute name="branch_length" type="xs:double"/>
101
- <xs:attribute name="id_source" type="phy:id_source"/>
102
- </xs:complexType>
103
- <!-- Taxonomy:-->
104
- <xs:complexType name="Taxonomy">
105
- <xs:annotation>
106
- <xs:documentation> Element Taxonomy is used to describe taxonomic information for a clade. Element 'code' is
107
- intended to store UniProt/Swiss-Prot style organism codes (e.g. 'APLCA' for the California sea hare 'Aplysia
108
- californica') or other styles of mnemonics (e.g. 'Aca'). Element 'authority' is used to keep the authority,
109
- such as 'J. G. Cooper, 1863', associated with the 'scientific_name'. Element 'id' is used for a unique
110
- identifier of a taxon (for example '6500' with 'ncbi_taxonomy' as 'provider' for the California sea hare).
111
- Attribute 'id_source' is used to link other elements to a taxonomy (on the xml-level).</xs:documentation>
112
- </xs:annotation>
113
- <xs:sequence>
114
- <xs:element name="id" type="phy:Id" minOccurs="0"/>
115
- <xs:element name="code" type="phy:TaxonomyCode" minOccurs="0"/>
116
- <xs:element name="scientific_name" type="xs:token" minOccurs="0"/>
117
- <xs:element name="authority" type="xs:token" minOccurs="0"/>
118
- <xs:element name="common_name" type="xs:token" minOccurs="0" maxOccurs="unbounded"/>
119
- <xs:element name="synonym" type="xs:token" minOccurs="0" maxOccurs="unbounded"/>
120
- <xs:element name="rank" type="phy:Rank" minOccurs="0"/>
121
- <xs:element name="uri" type="phy:Uri" minOccurs="0"/>
122
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
123
- </xs:sequence>
124
- <xs:attribute name="id_source" type="phy:id_source"/>
125
- </xs:complexType>
126
- <xs:simpleType name="TaxonomyCode">
127
- <xs:restriction base="xs:token">
128
- <xs:pattern value="[a-zA-Z0-9_]{2,10}"/>
129
- </xs:restriction>
130
- </xs:simpleType>
131
- <xs:simpleType name="Rank">
132
- <xs:restriction base="xs:token">
133
- <xs:enumeration value="domain"/>
134
- <xs:enumeration value="kingdom"/>
135
- <xs:enumeration value="subkingdom"/>
136
- <xs:enumeration value="branch"/>
137
- <xs:enumeration value="infrakingdom"/>
138
- <xs:enumeration value="superphylum"/>
139
- <xs:enumeration value="phylum"/>
140
- <xs:enumeration value="subphylum"/>
141
- <xs:enumeration value="infraphylum"/>
142
- <xs:enumeration value="microphylum"/>
143
- <xs:enumeration value="superdivision"/>
144
- <xs:enumeration value="division"/>
145
- <xs:enumeration value="subdivision"/>
146
- <xs:enumeration value="infradivision"/>
147
- <xs:enumeration value="superclass"/>
148
- <xs:enumeration value="class"/>
149
- <xs:enumeration value="subclass"/>
150
- <xs:enumeration value="infraclass"/>
151
- <xs:enumeration value="superlegion"/>
152
- <xs:enumeration value="legion"/>
153
- <xs:enumeration value="sublegion"/>
154
- <xs:enumeration value="infralegion"/>
155
- <xs:enumeration value="supercohort"/>
156
- <xs:enumeration value="cohort"/>
157
- <xs:enumeration value="subcohort"/>
158
- <xs:enumeration value="infracohort"/>
159
- <xs:enumeration value="superorder"/>
160
- <xs:enumeration value="order"/>
161
- <xs:enumeration value="suborder"/>
162
- <xs:enumeration value="superfamily"/>
163
- <xs:enumeration value="family"/>
164
- <xs:enumeration value="subfamily"/>
165
- <xs:enumeration value="supertribe"/>
166
- <xs:enumeration value="tribe"/>
167
- <xs:enumeration value="subtribe"/>
168
- <xs:enumeration value="infratribe"/>
169
- <xs:enumeration value="genus"/>
170
- <xs:enumeration value="subgenus"/>
171
- <xs:enumeration value="superspecies"/>
172
- <xs:enumeration value="species"/>
173
- <xs:enumeration value="subspecies"/>
174
- <xs:enumeration value="variety"/>
175
- <xs:enumeration value="subvariety"/>
176
- <xs:enumeration value="form"/>
177
- <xs:enumeration value="subform"/>
178
- <xs:enumeration value="cultivar"/>
179
- <xs:enumeration value="unknown"/>
180
- <xs:enumeration value="other"/>
181
- </xs:restriction>
182
- </xs:simpleType>
183
- <!-- Sequence:-->
184
- <xs:complexType name="Sequence">
185
- <xs:annotation>
186
- <xs:documentation> Element Sequence is used to represent a molecular sequence (Protein, DNA, RNA) associated
187
- with a node. 'symbol' is a short (maximal ten characters) symbol of the sequence (e.g. 'ACTM') whereas
188
- 'name' is used for the full name (e.g. 'muscle Actin'). 'location' is used for the location of a sequence on
189
- a genome/chromosome. The actual sequence can be stored with the 'mol_seq' element. Attribute 'type' is used
190
- to indicate the type of sequence ('dna', 'rna', or 'protein'). One intended use for 'id_ref' is to link a
191
- sequence to a taxonomy (via the taxonomy's 'id_source') in case of multiple sequences and taxonomies per
192
- node. </xs:documentation>
193
- </xs:annotation>
194
- <xs:sequence>
195
- <xs:element name="symbol" type="phy:SequenceSymbol" minOccurs="0"/>
196
- <xs:element name="accession" type="phy:Accession" minOccurs="0"/>
197
- <xs:element name="name" type="xs:token" minOccurs="0"/>
198
- <xs:element name="location" type="xs:token" minOccurs="0"/>
199
- <xs:element name="mol_seq" type="phy:MolSeq" minOccurs="0"/>
200
- <xs:element name="uri" type="phy:Uri" minOccurs="0"/>
201
- <xs:element name="annotation" type="phy:Annotation" minOccurs="0" maxOccurs="unbounded"/>
202
- <xs:element name="domain_architecture" type="phy:DomainArchitecture" minOccurs="0"/>
203
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
204
- </xs:sequence>
205
- <xs:attribute name="type" type="phy:SequenceType"/>
206
- <xs:attribute name="id_source" type="phy:id_source"/>
207
- <xs:attribute name="id_ref" type="phy:id_ref"/>
208
- </xs:complexType>
209
- <xs:simpleType name="SequenceSymbol">
210
- <xs:restriction base="xs:token">
211
- <xs:pattern value="\S{1,10}"/>
212
- </xs:restriction>
213
- </xs:simpleType>
214
- <xs:complexType name="MolSeq">
215
- <xs:annotation>
216
- <xs:documentation> Element 'mol_seq' is used to store molecular sequences. The 'is_aligned' attribute is used
217
- to indicated that this molecular sequence is aligned with all other sequences in the same phylogeny for
218
- which 'is aligned' is true as well (which, in most cases, means that gaps were introduced, and that all
219
- sequences for which 'is aligned' is true must have the same length).</xs:documentation>
220
- </xs:annotation>
221
- <xs:simpleContent>
222
- <xs:extension base="phy:MolSeqChars">
223
- <xs:attribute name="is_aligned" type="xs:boolean"/>
224
- </xs:extension>
225
- </xs:simpleContent>
226
- </xs:complexType>
227
- <xs:simpleType name="MolSeqChars">
228
- <xs:restriction base="xs:token">
229
- <xs:pattern value="[a-zA-Z\.\-\?\*_]+"/>
230
- </xs:restriction>
231
- </xs:simpleType>
232
- <xs:simpleType name="SequenceType">
233
- <xs:restriction base="xs:token">
234
- <xs:enumeration value="rna"/>
235
- <xs:enumeration value="dna"/>
236
- <xs:enumeration value="protein"/>
237
- </xs:restriction>
238
- </xs:simpleType>
239
- <!-- Accession:-->
240
- <xs:complexType name="Accession">
241
- <xs:annotation>
242
- <xs:documentation> Element Accession is used to capture the local part in a sequence identifier (e.g. 'P17304'
243
- in 'UniProtKB:P17304', in which case the 'source' attribute would be 'UniProtKB'). </xs:documentation>
244
- </xs:annotation>
245
- <xs:simpleContent>
246
- <xs:extension base="xs:token">
247
- <xs:attribute name="source" type="xs:token" use="required"/>
248
- </xs:extension>
249
- </xs:simpleContent>
250
- </xs:complexType>
251
- <!-- DomainArchitecture: -->
252
- <xs:complexType name="DomainArchitecture">
253
- <xs:annotation>
254
- <xs:documentation> This is used describe the domain architecture of a protein. Attribute 'length' is the total
255
- length of the protein</xs:documentation>
256
- </xs:annotation>
257
- <xs:sequence>
258
- <xs:element name="domain" type="phy:ProteinDomain" minOccurs="1" maxOccurs="unbounded"/>
259
- </xs:sequence>
260
- <xs:attribute name="length" type="xs:nonNegativeInteger"/>
261
- </xs:complexType>
262
- <xs:complexType name="ProteinDomain">
263
- <xs:annotation>
264
- <xs:documentation> To represent an individual domain in a domain architecture. The name/unique identifier is
265
- described via the 'id' attribute. 'confidence' can be used to store (i.e.) E-values.</xs:documentation>
266
- </xs:annotation>
267
- <xs:simpleContent>
268
- <xs:extension base="xs:token">
269
- <xs:attribute name="from" type="xs:nonNegativeInteger" use="required"/>
270
- <xs:attribute name="to" type="xs:nonNegativeInteger" use="required"/>
271
- <xs:attribute name="confidence" type="xs:double"/>
272
- <xs:attribute name="id" type="xs:token"/>
273
- </xs:extension>
274
- </xs:simpleContent>
275
- </xs:complexType>
276
- <!-- Events:-->
277
- <xs:complexType name="Events">
278
- <xs:annotation>
279
- <xs:documentation> Events at the root node of a clade (e.g. one gene duplication). </xs:documentation>
280
- </xs:annotation>
281
- <xs:sequence>
282
- <xs:element name="type" type="phy:EventType" minOccurs="0"/>
283
- <xs:element name="duplications" type="xs:nonNegativeInteger" minOccurs="0"/>
284
- <xs:element name="speciations" type="xs:nonNegativeInteger" minOccurs="0"/>
285
- <xs:element name="losses" type="xs:nonNegativeInteger" minOccurs="0"/>
286
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0"/>
287
- </xs:sequence>
288
- </xs:complexType>
289
- <xs:simpleType name="EventType">
290
- <xs:restriction base="xs:token">
291
- <xs:enumeration value="transfer"/>
292
- <xs:enumeration value="fusion"/>
293
- <xs:enumeration value="speciation_or_duplication"/>
294
- <xs:enumeration value="other"/>
295
- <xs:enumeration value="mixed"/>
296
- <xs:enumeration value="unassigned"/>
297
- </xs:restriction>
298
- </xs:simpleType>
299
- <!--BinaryCharacters:-->
300
- <xs:complexType name="BinaryCharacters">
301
- <xs:annotation>
302
- <xs:documentation> The names and/or counts of binary characters present, gained, and lost at the root of a
303
- clade. </xs:documentation>
304
- </xs:annotation>
305
- <xs:sequence>
306
- <xs:element name="gained" type="phy:BinaryCharacterList" minOccurs="0"/>
307
- <xs:element name="lost" type="phy:BinaryCharacterList" minOccurs="0"/>
308
- <xs:element name="present" type="phy:BinaryCharacterList" minOccurs="0"/>
309
- <xs:element name="absent" type="phy:BinaryCharacterList" minOccurs="0"/>
310
- </xs:sequence>
311
- <xs:attribute name="type" type="xs:token"/>
312
- <xs:attribute name="gained_count" type="xs:nonNegativeInteger"/>
313
- <xs:attribute name="lost_count" type="xs:nonNegativeInteger"/>
314
- <xs:attribute name="present_count" type="xs:nonNegativeInteger"/>
315
- <xs:attribute name="absent_count" type="xs:nonNegativeInteger"/>
316
- </xs:complexType>
317
- <xs:complexType name="BinaryCharacterList">
318
- <xs:sequence>
319
- <xs:element name="bc" type="xs:token" maxOccurs="unbounded"/>
320
- </xs:sequence>
321
- </xs:complexType>
322
- <!-- Reference:-->
323
- <xs:complexType name="Reference">
324
- <xs:annotation>
325
- <xs:documentation> A literature reference for a clade. It is recommended to use the 'doi' attribute instead of
326
- the free text 'desc' element whenever possible. </xs:documentation>
327
- </xs:annotation>
328
- <xs:sequence>
329
- <xs:element name="desc" type="xs:token" minOccurs="0"/>
330
- </xs:sequence>
331
- <xs:attribute name="doi" type="phy:Doi"/>
332
- </xs:complexType>
333
- <xs:simpleType name="Doi">
334
- <xs:restriction base="xs:token">
335
- <xs:pattern value="[a-zA-Z0-9_\.]+/\S+"/>
336
- </xs:restriction>
337
- </xs:simpleType>
338
- <!-- Annotation:-->
339
- <xs:complexType name="Annotation">
340
- <xs:annotation>
341
- <xs:documentation> The annotation of a molecular sequence. It is recommended to annotate by using the optional
342
- 'ref' attribute (some examples of acceptable values for the ref attribute: 'GO:0008270',
343
- 'KEGG:Tetrachloroethene degradation', 'EC:1.1.1.1'). Optional element 'desc' allows for a free text
344
- description. Optional element 'confidence' is used to state the type and value of support for a annotation.
345
- Similarly, optional attribute 'evidence' is used to describe the evidence for a annotation as free text
346
- (e.g. 'experimental'). Optional element 'property' allows for further, typed and referenced annotations from
347
- external resources.</xs:documentation>
348
- </xs:annotation>
349
- <xs:sequence>
350
- <xs:element name="desc" type="xs:token" minOccurs="0"/>
351
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0"/>
352
- <xs:element name="property" type="phy:Property" minOccurs="0" maxOccurs="unbounded"/>
353
- <xs:element name="uri" type="phy:Uri" minOccurs="0"/>
354
- </xs:sequence>
355
- <xs:attribute name="ref" type="phy:ref"/>
356
- <xs:attribute name="source" type="xs:token"/>
357
- <xs:attribute name="evidence" type="xs:token"/>
358
- <xs:attribute name="type" type="xs:token"/>
359
- </xs:complexType>
360
- <!-- Property:-->
361
- <xs:complexType name="Property" mixed="true">
362
- <xs:annotation>
363
- <xs:documentation> Property allows for typed and referenced properties from external resources to be attached
364
- to 'Phylogeny', 'Clade', and 'Annotation'. The value of a property is its mixed (free text) content.
365
- Attribute 'datatype' indicates the type of a property and is limited to xsd-datatypes (e.g. 'xsd:string',
366
- 'xsd:boolean', 'xsd:integer', 'xsd:decimal', 'xsd:float', 'xsd:double', 'xsd:date', 'xsd:anyURI'). Attribute
367
- 'applies_to' indicates the item to which a property applies to (e.g. 'node' for the parent node of a clade,
368
- 'parent_branch' for the parent branch of a clade). Attribute 'id_ref' allows to attached a property
369
- specifically to one element (on the xml-level). Optional attribute 'unit' is used to indicate the unit of
370
- the property. An example: &lt;property datatype="xsd:integer" ref="NOAA:depth" applies_to="clade"
371
- unit="METRIC:m"&gt; 200 &lt;/property&gt; </xs:documentation>
372
- </xs:annotation>
373
- <xs:attribute name="ref" type="phy:ref" use="required"/>
374
- <xs:attribute name="unit" type="phy:ref"/>
375
- <xs:attribute name="datatype" type="phy:PropertyDataType" use="required"/>
376
- <xs:attribute name="applies_to" type="phy:AppliesTo" use="required"/>
377
- <xs:attribute name="id_ref" type="phy:id_ref"/>
378
- </xs:complexType>
379
- <xs:simpleType name="ref">
380
- <xs:restriction base="xs:token">
381
- <xs:pattern value="[a-zA-Z0-9_]+:[a-zA-Z0-9_\.\-\s]+"/>
382
- </xs:restriction>
383
- </xs:simpleType>
384
- <xs:simpleType name="AppliesTo">
385
- <xs:restriction base="xs:token">
386
- <xs:enumeration value="phylogeny"/>
387
- <xs:enumeration value="clade"/>
388
- <xs:enumeration value="node"/>
389
- <xs:enumeration value="annotation"/>
390
- <xs:enumeration value="parent_branch"/>
391
- <xs:enumeration value="other"/>
392
- </xs:restriction>
393
- </xs:simpleType>
394
- <xs:simpleType name="PropertyDataType">
395
- <xs:restriction base="xs:token">
396
- <xs:enumeration value="xsd:string"/>
397
- <xs:enumeration value="xsd:boolean"/>
398
- <xs:enumeration value="xsd:decimal"/>
399
- <xs:enumeration value="xsd:float"/>
400
- <xs:enumeration value="xsd:double"/>
401
- <xs:enumeration value="xsd:duration"/>
402
- <xs:enumeration value="xsd:dateTime"/>
403
- <xs:enumeration value="xsd:time"/>
404
- <xs:enumeration value="xsd:date"/>
405
- <xs:enumeration value="xsd:gYearMonth"/>
406
- <xs:enumeration value="xsd:gYear"/>
407
- <xs:enumeration value="xsd:gMonthDay"/>
408
- <xs:enumeration value="xsd:gDay"/>
409
- <xs:enumeration value="xsd:gMonth"/>
410
- <xs:enumeration value="xsd:hexBinary"/>
411
- <xs:enumeration value="xsd:base64Binary"/>
412
- <xs:enumeration value="xsd:anyURI"/>
413
- <xs:enumeration value="xsd:normalizedString"/>
414
- <xs:enumeration value="xsd:token"/>
415
- <xs:enumeration value="xsd:integer"/>
416
- <xs:enumeration value="xsd:nonPositiveInteger"/>
417
- <xs:enumeration value="xsd:negativeInteger"/>
418
- <xs:enumeration value="xsd:long"/>
419
- <xs:enumeration value="xsd:int"/>
420
- <xs:enumeration value="xsd:short"/>
421
- <xs:enumeration value="xsd:byte"/>
422
- <xs:enumeration value="xsd:nonNegativeInteger"/>
423
- <xs:enumeration value="xsd:unsignedLong"/>
424
- <xs:enumeration value="xsd:unsignedInt"/>
425
- <xs:enumeration value="xsd:unsignedShort"/>
426
- <xs:enumeration value="xsd:unsignedByte"/>
427
- <xs:enumeration value="xsd:positiveInteger"/>
428
- </xs:restriction>
429
- </xs:simpleType>
430
- <!--Uri-->
431
- <xs:complexType name="Uri">
432
- <xs:annotation>
433
- <xs:documentation> A uniform resource identifier. In general, this is expected to be an URL (for example, to
434
- link to an image on a website, in which case the 'type' attribute might be 'image' and 'desc' might be
435
- 'image of a California sea hare'). </xs:documentation>
436
- </xs:annotation>
437
- <xs:simpleContent>
438
- <xs:extension base="xs:anyURI">
439
- <xs:attribute name="desc" type="xs:token"/>
440
- <xs:attribute name="type" type="xs:token"/>
441
- </xs:extension>
442
- </xs:simpleContent>
443
- </xs:complexType>
444
- <!-- Confidence:-->
445
- <xs:complexType name="Confidence">
446
- <xs:annotation>
447
- <xs:documentation> A general purpose confidence element. For example this can be used to express the bootstrap
448
- support value of a clade (in which case the 'type' attribute is 'bootstrap').</xs:documentation>
449
- </xs:annotation>
450
- <xs:simpleContent>
451
- <xs:extension base="xs:double">
452
- <xs:attribute name="type" type="xs:token" use="required"/>
453
- </xs:extension>
454
- </xs:simpleContent>
455
- </xs:complexType>
456
- <!-- Identifier:-->
457
- <xs:complexType name="Id">
458
- <xs:annotation>
459
- <xs:documentation> A general purpose identifier element. Allows to indicate the provider (or authority) of an
460
- identifier. </xs:documentation>
461
- </xs:annotation>
462
- <xs:simpleContent>
463
- <xs:extension base="xs:token">
464
- <xs:attribute name="provider" type="xs:token"/>
465
- </xs:extension>
466
- </xs:simpleContent>
467
- </xs:complexType>
468
- <!-- Distribution:-->
469
- <xs:complexType name="Distribution">
470
- <xs:annotation>
471
- <xs:documentation> The geographic distribution of the items of a clade (species, sequences), intended for
472
- phylogeographic applications. The location can be described either by free text in the 'desc' element and/or
473
- by the coordinates of one or more 'Points' (similar to the 'Point' element in Google's KML format) or by
474
- 'Polygons'. </xs:documentation>
475
- </xs:annotation>
476
- <xs:sequence>
477
- <xs:element name="desc" type="xs:token" minOccurs="0"/>
478
- <xs:element name="point" type="phy:Point" minOccurs="0" maxOccurs="unbounded"/>
479
- <xs:element name="polygon" type="phy:Polygon" minOccurs="0" maxOccurs="unbounded"/>
480
- </xs:sequence>
481
- </xs:complexType>
482
- <xs:complexType name="Point">
483
- <xs:annotation>
484
- <xs:documentation> The coordinates of a point with an optional altitude (used by element 'Distribution').
485
- Required attributes are the 'geodetic_datum' used to indicate the geodetic datum (also called 'map datum',
486
- for example Google's KML uses 'WGS84'). Attribute 'alt_unit' is the unit for the altitude (e.g. 'meter').
487
- </xs:documentation>
488
- </xs:annotation>
489
- <xs:sequence>
490
- <xs:element name="lat" type="xs:decimal"/>
491
- <xs:element name="long" type="xs:decimal"/>
492
- <xs:element name="alt" type="xs:decimal" minOccurs="0"/>
493
- </xs:sequence>
494
- <xs:attribute name="geodetic_datum" type="xs:token" use="required"/>
495
- <xs:attribute name="alt_unit" type="xs:token"/>
496
- </xs:complexType>
497
- <xs:complexType name="Polygon">
498
- <xs:annotation>
499
- <xs:documentation> A polygon defined by a list of 'Points' (used by element 'Distribution').
500
- </xs:documentation>
501
- </xs:annotation>
502
- <xs:sequence>
503
- <xs:element name="point" type="phy:Point" minOccurs="3" maxOccurs="unbounded"/>
504
- </xs:sequence>
505
- </xs:complexType>
506
- <!-- Date:-->
507
- <xs:complexType name="Date">
508
- <xs:annotation>
509
- <xs:documentation> A date associated with a clade/node. Its value can be numerical by using the 'value' element
510
- and/or free text with the 'desc' element' (e.g. 'Silurian'). If a numerical value is used, it is recommended
511
- to employ the 'unit' attribute to indicate the type of the numerical value (e.g. 'mya' for 'million years
512
- ago'). The elements 'minimum' and 'maximum' are used the indicate a range/confidence
513
- interval</xs:documentation>
514
- </xs:annotation>
515
- <xs:sequence>
516
- <xs:element name="desc" type="xs:token" minOccurs="0"/>
517
- <xs:element name="value" type="xs:decimal" minOccurs="0"/>
518
- <xs:element name="minimum" type="xs:decimal" minOccurs="0"/>
519
- <xs:element name="maximum" type="xs:decimal" minOccurs="0"/>
520
- </xs:sequence>
521
- <xs:attribute name="unit" type="xs:token"/>
522
- </xs:complexType>
523
- <!-- BranchColor:-->
524
- <xs:complexType name="BranchColor">
525
- <xs:annotation>
526
- <xs:documentation> This indicates the color of a clade when rendered (the color applies to the whole clade
527
- unless overwritten by the color(s) of sub clades).</xs:documentation>
528
- </xs:annotation>
529
- <xs:sequence>
530
- <xs:element name="red" type="xs:unsignedByte"/>
531
- <xs:element name="green" type="xs:unsignedByte"/>
532
- <xs:element name="blue" type="xs:unsignedByte"/>
533
- </xs:sequence>
534
- </xs:complexType>
535
- <!-- SequenceRelation:-->
536
- <xs:complexType name="SequenceRelation">
537
- <xs:annotation>
538
- <xs:documentation> This is used to express a typed relationship between two sequences. For example it could be
539
- used to describe an orthology (in which case attribute 'type' is 'orthology'). </xs:documentation>
540
- </xs:annotation>
541
- <xs:sequence>
542
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0"/>
543
- </xs:sequence>
544
- <xs:attribute name="id_ref_0" type="phy:id_ref" use="required"/>
545
- <xs:attribute name="id_ref_1" type="phy:id_ref" use="required"/>
546
- <xs:attribute name="distance" type="xs:double"/>
547
- <xs:attribute name="type" type="phy:SequenceRelationType" use="required"/>
548
- </xs:complexType>
549
- <xs:simpleType name="SequenceRelationType">
550
- <xs:restriction base="xs:token">
551
- <xs:enumeration value="orthology"/>
552
- <xs:enumeration value="one_to_one_orthology"/>
553
- <xs:enumeration value="super_orthology"/>
554
- <xs:enumeration value="paralogy"/>
555
- <xs:enumeration value="ultra_paralogy"/>
556
- <xs:enumeration value="xenology"/>
557
- <xs:enumeration value="unknown"/>
558
- <xs:enumeration value="other"/>
559
- </xs:restriction>
560
- </xs:simpleType>
561
- <!-- CladeRelation:-->
562
- <xs:complexType name="CladeRelation">
563
- <xs:annotation>
564
- <xs:documentation> This is used to express a typed relationship between two clades. For example it could be
565
- used to describe multiple parents of a clade.</xs:documentation>
566
- </xs:annotation>
567
- <xs:sequence>
568
- <xs:element name="confidence" type="phy:Confidence" minOccurs="0"/>
569
- </xs:sequence>
570
- <xs:attribute name="id_ref_0" type="phy:id_ref" use="required"/>
571
- <xs:attribute name="id_ref_1" type="phy:id_ref" use="required"/>
572
- <xs:attribute name="distance" type="xs:double"/>
573
- <xs:attribute name="type" type="xs:token" use="required"/>
574
- </xs:complexType>
575
- <!-- Used to link elements together on the xml level:-->
576
- <xs:simpleType name="id_source">
577
- <xs:restriction base="xs:ID"/>
578
- </xs:simpleType>
579
- <xs:simpleType name="id_ref">
580
- <xs:restriction base="xs:IDREF"/>
581
- </xs:simpleType>
582
- </xs:schema>