Supply TEMPLATE and SUFFIX for temporary query sequence files.
[bioperl-run.git] / t / data / efetch_seq.wsdl
bloba388b6fe4e19f9f66749cd13402dce35533b36ca
1 <?xml version="1.0"?>
2 <wsdl:definitions
3 xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
5 xmlns:s0="http://www.ncbi.nlm.nih.gov/soap/eutils/"
6 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
7 xmlns="http://schemas.xmlsoap.org/wsdl/"
8 targetNamespace="http://www.ncbi.nlm.nih.gov/soap/eutils/"
9 xmlns:nsef="http://www.ncbi.nlm.nih.gov/soap/eutils/efetch_seq"
11 <!-- version="2.0" -->
13 <types>
14 <xs:schema
15 xmlns:tns="http://www.ncbi.nlm.nih.gov/soap/eutils/efetch_seq"
16 xmlns:xs="http://www.w3.org/2001/XMLSchema"
17 xmlns:ncbi="http://www.ncbi.nlm.nih.gov"
18 targetNamespace="http://www.ncbi.nlm.nih.gov/soap/eutils/efetch_seq"
19 elementFormDefault="qualified"
21 <!-- version="2.0" -->
22 <xs:element name="TSeq">
23 <xs:complexType>
24 <xs:sequence>
25 <xs:element name="TSeq_seqtype">
26 <xs:complexType>
27 <xs:attribute name="value" use="required">
28 <xs:simpleType>
29 <xs:restriction base="xs:string">
30 <xs:enumeration value="nucleotide"/>
31 <xs:enumeration value="protein"/>
32 </xs:restriction>
33 </xs:simpleType>
34 </xs:attribute>
35 </xs:complexType>
36 </xs:element>
37 <xs:element name="TSeq_gi" type="xs:integer" minOccurs="0"/>
38 <xs:element name="TSeq_accver" type="xs:string" minOccurs="0"/>
39 <xs:element name="TSeq_sid" type="xs:string" minOccurs="0"/>
40 <xs:element name="TSeq_local" type="xs:string" minOccurs="0"/>
41 <xs:element name="TSeq_taxid" type="xs:integer" minOccurs="0"/>
42 <xs:element name="TSeq_orgname" type="xs:string" minOccurs="0"/>
43 <xs:element name="TSeq_defline" type="xs:string"/>
44 <xs:element name="TSeq_length" type="xs:integer"/>
45 <xs:element name="TSeq_sequence" type="xs:string"/>
46 </xs:sequence>
47 </xs:complexType>
48 </xs:element>
50 <!-- a bunch of them -->
51 <xs:element name="TSeqSet">
52 <xs:complexType>
53 <xs:sequence minOccurs="0" maxOccurs="unbounded">
54 <xs:element ref="tns:TSeq"/>
55 </xs:sequence>
56 </xs:complexType>
57 </xs:element>
60 <!--
61 ********
62 GBSeq represents the elements in a GenBank style report
63 of a sequence with some small additions to structure and support
64 for protein (GenPept) versions of GenBank format as seen in
65 Entrez. While this represents the simplification, reduction of
66 detail, and flattening to a single sequence perspective of GenBank
67 format (compared with the full ASN.1 or XML from which GenBank and
68 this format is derived at NCBI), it is presented in ASN.1 or XML for
69 automated parsing and processing. It is hoped that this compromise
70 will be useful for those bulk processing at the GenBank format level
71 of detail today. Since it is a compromise, a number of pragmatic
72 decisions have been made.
74 In pursuit of simplicity and familiarity a number of
75 fields do not have full substructure defined here where there is
76 already a standard GenBank format string. For example:
78 Date DD-Mon-YYYY
79 Authors LastName, Intials (with periods)
80 Journal JounalName Volume (issue), page-range (year)
81 FeatureLocations as per GenBank feature table, but FeatureIntervals
82 may also be provided as a convenience
83 FeatureQualifiers as per GenBank feature table
84 Primary has a string that represents a table to construct
85 a third party (TPA) sequence.
86 other-seqids can have strings with the "vertical bar format" sequence
87 identifiers used in BLAST for example, when they are non-genbank types.
88 Currently in GenBank format you only see GI, but there are others, like
89 patents, submitter clone names, etc which will appear here, as they
90 always have in the ASN.1 format, and full XML format.
91 source-db is a formatted text block for peptides in GenPept format that
92 carries information from the source protein database.
94 There are also a number of elements that could have been
95 more exactly specified, but in the interest of simplicity
96 have been simply left as options. For example..
98 accession and accession.version will always appear in a GenBank record
99 they are optional because this format can also be used for non-GenBank
100 sequences, and in that case will have only "other-seqids".
102 sequences will normally all have "sequence" filled in. But contig records
103 will have a "join" statement in the "contig" slot, and no "sequence".
104 We also may consider a retrieval option with no sequence of any kind
105 and no feature table to quickly check minimal values.
107 a reference may have an author list, or be from a consortium, or both.
109 some fields, such as taxonomy, do appear as separate elements in GenBank
110 format but without a specific linetype (in GenBank format this comes
111 under ORGANISM). Another example is the separation of primary accession
112 from the list of secondary accessions. In GenBank format primary
113 accession is just the first one on the list that includes all secondaries
114 after it.
116 create-date deserves special comment. The date you see on the right hand
117 side of the LOCUS line in GenBank format is actually the last date the
118 the record was modified (or the update-date). The date the record was
119 first submitted to GenBank appears in the first submission citation in
120 the reference section. Internally in the databases and ASN.1 NCBI keeps
121 the first date the record was released into the sequence database at
122 NCBI as create-date. For records from EMBL, which supports create-date,
123 it is the date provided by EMBL. For DDBJ records, which do not supply
124 a create-date (same as GenBank format) the create-date is the first date
125 NCBI saw the record from DDBJ. For older GenBank records, before NCBI
126 took responsibility for GenBank, it is just the first date NCBI saw the
127 record. Create-date can be very useful, so we expose it here, but users
128 must understand it is only an approximation and comes from many sources,
129 and with many exceptions and caveats. It does NOT tell you the first
130 date the public might have seen this record and thus is NOT an accurate
131 measure for legal issues of precedence.
133 ********
135 <xs:element name="GBSet">
136 <xs:complexType>
137 <xs:sequence minOccurs="0" maxOccurs="unbounded">
138 <xs:element ref="tns:GBSeq"/>
139 </xs:sequence>
140 </xs:complexType>
141 </xs:element>
143 <xs:element name="GBSeq">
144 <xs:complexType>
145 <xs:sequence>
146 <xs:element name="GBSeq_locus" type="xs:string"/>
147 <xs:element name="GBSeq_length" type="xs:integer"/>
148 <xs:element name="GBSeq_strandedness" type="xs:string" minOccurs="0"/>
149 <xs:element name="GBSeq_moltype" type="xs:string"/>
150 <xs:element name="GBSeq_topology" type="xs:string" minOccurs="0"/>
151 <xs:element name="GBSeq_division" type="xs:string"/>
152 <xs:element name="GBSeq_update-date" type="xs:string"/>
153 <xs:element name="GBSeq_create-date" type="xs:string" minOccurs="0"/>
154 <xs:element name="GBSeq_update-release" type="xs:string" minOccurs="0"/>
155 <xs:element name="GBSeq_create-release" type="xs:string" minOccurs="0"/>
156 <xs:element name="GBSeq_definition" type="xs:string"/>
157 <xs:element name="GBSeq_primary-accession" type="xs:string" minOccurs="0"/>
158 <xs:element name="GBSeq_entry-version" type="xs:string" minOccurs="0"/>
159 <xs:element name="GBSeq_accession-version" type="xs:string" minOccurs="0"/>
160 <xs:element name="GBSeq_other-seqids" minOccurs="0">
161 <xs:complexType>
162 <xs:sequence minOccurs="0" maxOccurs="unbounded">
163 <xs:element ref="tns:GBSeqid"/>
164 </xs:sequence>
165 </xs:complexType>
166 </xs:element>
167 <xs:element name="GBSeq_secondary-accessions" minOccurs="0">
168 <xs:complexType>
169 <xs:sequence minOccurs="0" maxOccurs="unbounded">
170 <xs:element ref="tns:GBSecondary-accn"/>
171 </xs:sequence>
172 </xs:complexType>
173 </xs:element>
174 <xs:element name="GBSeq_project" type="xs:string" minOccurs="0"/>
175 <xs:element name="GBSeq_keywords" minOccurs="0">
176 <xs:complexType>
177 <xs:sequence minOccurs="0" maxOccurs="unbounded">
178 <xs:element ref="tns:GBKeyword"/>
179 </xs:sequence>
180 </xs:complexType>
181 </xs:element>
182 <xs:element name="GBSeq_segment" type="xs:string" minOccurs="0"/>
183 <xs:element name="GBSeq_source" type="xs:string" minOccurs="0"/>
184 <xs:element name="GBSeq_organism" type="xs:string" minOccurs="0"/>
185 <xs:element name="GBSeq_taxonomy" type="xs:string" minOccurs="0"/>
186 <xs:element name="GBSeq_references" minOccurs="0">
187 <xs:complexType>
188 <xs:sequence minOccurs="0" maxOccurs="unbounded">
189 <xs:element ref="tns:GBReference"/>
190 </xs:sequence>
191 </xs:complexType>
192 </xs:element>
193 <xs:element name="GBSeq_comment" type="xs:string" minOccurs="0"/>
194 <xs:element name="GBSeq_tagset" minOccurs="0">
195 <xs:complexType>
196 <xs:sequence>
197 <xs:element ref="tns:GBTagset"/>
198 </xs:sequence>
199 </xs:complexType>
200 </xs:element>
201 <xs:element name="GBSeq_primary" type="xs:string" minOccurs="0"/>
202 <xs:element name="GBSeq_source-db" type="xs:string" minOccurs="0"/>
203 <xs:element name="GBSeq_database-reference" type="xs:string" minOccurs="0"/>
204 <xs:element name="GBSeq_feature-table" minOccurs="0">
205 <xs:complexType>
206 <xs:sequence minOccurs="0" maxOccurs="unbounded">
207 <xs:element ref="tns:GBFeature"/>
208 </xs:sequence>
209 </xs:complexType>
210 </xs:element>
211 <!-- Optional for other dump forms -->
212 <xs:element name="GBSeq_sequence" type="xs:string" minOccurs="0"/>
213 <xs:element name="GBSeq_contig" type="xs:string" minOccurs="0"/>
214 </xs:sequence>
215 </xs:complexType>
216 </xs:element>
218 <xs:element name="GBSecondary-accn" type="xs:string"/>
220 <xs:element name="GBSeqid" type="xs:string"/>
222 <xs:element name="GBKeyword" type="xs:string"/>
224 <xs:element name="GBAuthor" type="xs:string"/>
226 <xs:element name="GBReference">
227 <xs:complexType>
228 <xs:sequence>
229 <xs:element name="GBReference_reference" type="xs:string"/>
230 <xs:element name="GBReference_position" type="xs:string" minOccurs="0"/>
231 <xs:element name="GBReference_authors" minOccurs="0">
232 <xs:complexType>
233 <xs:sequence minOccurs="0" maxOccurs="unbounded">
234 <xs:element ref="tns:GBAuthor"/>
235 </xs:sequence>
236 </xs:complexType>
237 </xs:element>
238 <xs:element name="GBReference_consortium" type="xs:string" minOccurs="0"/>
239 <xs:element name="GBReference_title" type="xs:string" minOccurs="0"/>
240 <xs:element name="GBReference_journal" type="xs:string"/>
241 <xs:element name="GBReference_xref" minOccurs="0">
242 <xs:complexType>
243 <xs:sequence minOccurs="0" maxOccurs="unbounded">
244 <xs:element ref="tns:GBXref"/>
245 </xs:sequence>
246 </xs:complexType>
247 </xs:element>
248 <xs:element name="GBReference_pubmed" type="xs:integer" minOccurs="0"/>
249 <xs:element name="GBReference_remark" type="xs:string" minOccurs="0"/>
250 </xs:sequence>
251 </xs:complexType>
252 </xs:element>
254 <xs:element name="GBXref">
255 <xs:complexType>
256 <xs:sequence>
257 <xs:element name="GBXref_dbname" type="xs:string"/>
258 <xs:element name="GBXref_id" type="xs:string"/>
259 </xs:sequence>
260 </xs:complexType>
261 </xs:element>
263 <xs:element name="GBTagset">
264 <xs:complexType>
265 <xs:sequence>
266 <xs:element name="GBTagset_authority" type="xs:string" minOccurs="0"/>
267 <xs:element name="GBTagset_version" type="xs:string" minOccurs="0"/>
268 <xs:element name="GBTagset_url" type="xs:string" minOccurs="0"/>
269 <xs:element name="GBTagset_tags" minOccurs="0">
270 <xs:complexType>
271 <xs:sequence>
272 <xs:element ref="tns:GBTags"/>
273 </xs:sequence>
274 </xs:complexType>
275 </xs:element>
276 </xs:sequence>
277 </xs:complexType>
278 </xs:element>
280 <xs:element name="GBTags">
281 <xs:complexType>
282 <xs:sequence minOccurs="0" maxOccurs="unbounded">
283 <xs:element ref="tns:GBTag"/>
284 </xs:sequence>
285 </xs:complexType>
286 </xs:element>
288 <xs:element name="GBTag">
289 <xs:complexType>
290 <xs:sequence>
291 <xs:element name="GBTag_name" type="xs:string" minOccurs="0"/>
292 <xs:element name="GBTag_value" type="xs:string" minOccurs="0"/>
293 <xs:element name="GBTag_unit" type="xs:string" minOccurs="0"/>
294 </xs:sequence>
295 </xs:complexType>
296 </xs:element>
298 <xs:element name="GBFeature">
299 <xs:complexType>
300 <xs:sequence>
301 <xs:element name="GBFeature_key" type="xs:string"/>
302 <xs:element name="GBFeature_location" type="xs:string"/>
303 <xs:element name="GBFeature_intervals" minOccurs="0">
304 <xs:complexType>
305 <xs:sequence minOccurs="0" maxOccurs="unbounded">
306 <xs:element ref="tns:GBInterval"/>
307 </xs:sequence>
308 </xs:complexType>
309 </xs:element>
310 <xs:element name="GBFeature_operator" type="xs:string" minOccurs="0"/>
311 <xs:element name="GBFeature_partial5" minOccurs="0">
312 <xs:complexType>
313 <xs:attribute name="value" use="required">
314 <xs:simpleType>
315 <xs:restriction base="xs:string">
316 <xs:enumeration value="true"/>
317 <xs:enumeration value="false"/>
318 </xs:restriction>
319 </xs:simpleType>
320 </xs:attribute>
321 </xs:complexType>
322 </xs:element>
323 <xs:element name="GBFeature_partial3" minOccurs="0">
324 <xs:complexType>
325 <xs:attribute name="value" use="required">
326 <xs:simpleType>
327 <xs:restriction base="xs:string">
328 <xs:enumeration value="true"/>
329 <xs:enumeration value="false"/>
330 </xs:restriction>
331 </xs:simpleType>
332 </xs:attribute>
333 </xs:complexType>
334 </xs:element>
335 <xs:element name="GBFeature_quals" minOccurs="0">
336 <xs:complexType>
337 <xs:sequence minOccurs="0" maxOccurs="unbounded">
338 <xs:element ref="tns:GBQualifier"/>
339 </xs:sequence>
340 </xs:complexType>
341 </xs:element>
342 </xs:sequence>
343 </xs:complexType>
344 </xs:element>
346 <xs:element name="GBInterval">
347 <xs:complexType>
348 <xs:sequence>
349 <xs:element name="GBInterval_from" type="xs:integer" minOccurs="0"/>
350 <xs:element name="GBInterval_to" type="xs:integer" minOccurs="0"/>
351 <xs:element name="GBInterval_point" type="xs:integer" minOccurs="0"/>
352 <xs:element name="GBInterval_iscomp" minOccurs="0">
353 <xs:complexType>
354 <xs:attribute name="value" use="required">
355 <xs:simpleType>
356 <xs:restriction base="xs:string">
357 <xs:enumeration value="true"/>
358 <xs:enumeration value="false"/>
359 </xs:restriction>
360 </xs:simpleType>
361 </xs:attribute>
362 </xs:complexType>
363 </xs:element>
364 <xs:element name="GBInterval_interbp" minOccurs="0">
365 <xs:complexType>
366 <xs:attribute name="value" use="required">
367 <xs:simpleType>
368 <xs:restriction base="xs:string">
369 <xs:enumeration value="true"/>
370 <xs:enumeration value="false"/>
371 </xs:restriction>
372 </xs:simpleType>
373 </xs:attribute>
374 </xs:complexType>
375 </xs:element>
376 <xs:element name="GBInterval_accession" type="xs:string"/>
377 </xs:sequence>
378 </xs:complexType>
379 </xs:element>
381 <xs:element name="GBQualifier">
382 <xs:complexType>
383 <xs:sequence>
384 <xs:element name="GBQualifier_name" type="xs:string"/>
385 <xs:element name="GBQualifier_value" type="xs:string" minOccurs="0"/>
386 </xs:sequence>
387 </xs:complexType>
388 </xs:element>
390 <xs:element name="GBTagsetRules">
391 <xs:complexType>
392 <xs:sequence>
393 <xs:element name="GBTagsetRules_authority" type="xs:string" minOccurs="0"/>
394 <xs:element name="GBTagsetRules_version" type="xs:string" minOccurs="0"/>
395 <xs:element name="GBTagsetRules_mandatorytags" minOccurs="0">
396 <xs:complexType>
397 <xs:sequence>
398 <xs:element ref="tns:GBTagNames"/>
399 </xs:sequence>
400 </xs:complexType>
401 </xs:element>
402 <xs:element name="GBTagsetRules_optionaltags" minOccurs="0">
403 <xs:complexType>
404 <xs:sequence>
405 <xs:element ref="tns:GBTagNames"/>
406 </xs:sequence>
407 </xs:complexType>
408 </xs:element>
409 <xs:element name="GBTagsetRules_uniquetags" minOccurs="0">
410 <xs:complexType>
411 <xs:sequence>
412 <xs:element ref="tns:GBTagNames"/>
413 </xs:sequence>
414 </xs:complexType>
415 </xs:element>
416 <xs:element name="GBTagsetRules_extensible" minOccurs="0">
417 <xs:complexType>
418 <xs:attribute name="value" use="required">
419 <xs:simpleType>
420 <xs:restriction base="xs:string">
421 <xs:enumeration value="true"/>
422 <xs:enumeration value="false"/>
423 </xs:restriction>
424 </xs:simpleType>
425 </xs:attribute>
426 </xs:complexType>
427 </xs:element>
428 </xs:sequence>
429 </xs:complexType>
430 </xs:element>
432 <xs:element name="GBTagNames">
433 <xs:complexType>
434 <xs:sequence minOccurs="0" maxOccurs="unbounded">
435 <xs:element name="GBTagNames_E" type="xs:string"/>
436 </xs:sequence>
437 </xs:complexType>
438 </xs:element>
440 <xs:element name="GBTagsetRuleSet">
441 <xs:complexType>
442 <xs:sequence minOccurs="0" maxOccurs="unbounded">
443 <xs:element ref="tns:GBTagsetRules"/>
444 </xs:sequence>
445 </xs:complexType>
446 </xs:element>
449 <!--
450 INSDSeq provides the elements of a sequence as presented in the
451 GenBank/EMBL/DDBJ-style flatfile formats, with a small amount of
452 additional structure.
453 Although this single perspective of the three flatfile formats
454 provides a useful simplification, it hides to some extent the
455 details of the actual data underlying those formats. Nevertheless,
456 the XML version of INSD-Seq is being provided with
457 the hopes that it will prove useful to those who bulk-process
458 sequence data at the flatfile-format level of detail. Further
459 documentation regarding the content and conventions of those formats
460 can be found at:
462 URLs for the DDBJ, EMBL, and GenBank Feature Table Document:
463 http://www.ddbj.nig.ac.jp/FT/full_index.html
464 http://www.ebi.ac.uk/embl/Documentation/FT_definitions/feature_table.html
465 http://www.ncbi.nlm.nih.gov/projects/collab/FT/index.html
467 URLs for DDBJ, EMBL, and GenBank Release Notes :
468 ftp://ftp.ddbj.nig.ac.jp/database/ddbj/ddbjrel.txt
469 http://www.ebi.ac.uk/embl/Documentation/Release_notes/current/relnotes.html
470 ftp://ftp.ncbi.nih.gov/genbank/gbrel.txt
472 Because INSDSeq is a compromise, a number of pragmatic decisions have
473 been made:
475 In pursuit of simplicity and familiarity a number of fields do not
476 have full substructure defined here where there is already a
477 standard flatfile format string. For example:
479 Dates: DD-MON-YYYY (eg 10-JUN-2003)
481 Author: LastName, Initials (eg Smith, J.N.)
482 or Lastname Initials (eg Smith J.N.)
484 Journal: JournalName Volume (issue), page-range (year)
485 or JournalName Volume(issue):page-range(year)
486 eg Appl. Environ. Microbiol. 61 (4), 1646-1648 (1995)
487 Appl. Environ. Microbiol. 61(4):1646-1648(1995).
489 FeatureLocations are representated as in the flatfile feature table,
490 but FeatureIntervals may also be provided as a convenience
492 FeatureQualifiers are represented as in the flatfile feature table.
494 Primary has a string that represents a table to construct
495 a third party (TPA) sequence.
497 other-seqids can have strings with the "vertical bar format" sequence
498 identifiers used in BLAST for example, when they are non-INSD types.
500 Currently in flatfile format you only see Accession numbers, but there
501 are others, like patents, submitter clone names, etc which will
502 appear here
504 There are also a number of elements that could have been more exactly
505 specified, but in the interest of simplicity have been simply left as
506 optional. For example:
508 All publicly accessible sequence records in INSDSeq format will
509 include accession and accession.version. However, these elements are
510 optional in optional in INSDSeq so that this format can also be used
511 for non-public sequence data, prior to the assignment of accessions and
512 version numbers. In such cases, records will have only "other-seqids".
514 sequences will normally all have "sequence" filled in. But contig records
515 will have a "join" statement in the "contig" slot, and no "sequence".
516 We also may consider a retrieval option with no sequence of any kind
517 and no feature table to quickly check minimal values.
519 Four (optional) elements are specific to records represented via the EMBL
520 sequence database: INSDSeq_update-release, INSDSeq_create-release,
521 INSDSeq_entry-version, and INSDSeq_database-reference.
523 One (optional) element is specific to records originating at the GenBank
524 and DDBJ sequence databases: INSDSeq_segment.
526 ********
528 <xs:element name="INSDSet">
529 <xs:complexType>
530 <xs:sequence minOccurs="0" maxOccurs="unbounded">
531 <xs:element ref="tns:INSDSeq"/>
532 </xs:sequence>
533 </xs:complexType>
534 </xs:element>
536 <xs:element name="INSDSeq">
537 <xs:complexType>
538 <xs:sequence>
539 <xs:element name="INSDSeq_locus" type="xs:string"/>
540 <xs:element name="INSDSeq_length" type="xs:integer"/>
541 <xs:element name="INSDSeq_strandedness" type="xs:string" minOccurs="0"/>
542 <xs:element name="INSDSeq_moltype" type="xs:string"/>
543 <xs:element name="INSDSeq_topology" type="xs:string" minOccurs="0"/>
544 <xs:element name="INSDSeq_division" type="xs:string"/>
545 <xs:element name="INSDSeq_update-date" type="xs:string"/>
546 <xs:element name="INSDSeq_create-date" type="xs:string" minOccurs="0"/>
547 <xs:element name="INSDSeq_update-release" type="xs:string" minOccurs="0"/>
548 <xs:element name="INSDSeq_create-release" type="xs:string" minOccurs="0"/>
549 <xs:element name="INSDSeq_definition" type="xs:string"/>
550 <xs:element name="INSDSeq_primary-accession" type="xs:string" minOccurs="0"/>
551 <xs:element name="INSDSeq_entry-version" type="xs:string" minOccurs="0"/>
552 <xs:element name="INSDSeq_accession-version" type="xs:string" minOccurs="0"/>
553 <xs:element name="INSDSeq_other-seqids" minOccurs="0">
554 <xs:complexType>
555 <xs:sequence minOccurs="0" maxOccurs="unbounded">
556 <xs:element ref="tns:INSDSeqid"/>
557 </xs:sequence>
558 </xs:complexType>
559 </xs:element>
560 <xs:element name="INSDSeq_secondary-accessions" minOccurs="0">
561 <xs:complexType>
562 <xs:sequence minOccurs="0" maxOccurs="unbounded">
563 <xs:element ref="tns:INSDSecondary-accn"/>
564 </xs:sequence>
565 </xs:complexType>
566 </xs:element>
567 <xs:element name="INSDSeq_project" type="xs:string" minOccurs="0"/>
568 <xs:element name="INSDSeq_keywords" minOccurs="0">
569 <xs:complexType>
570 <xs:sequence minOccurs="0" maxOccurs="unbounded">
571 <xs:element ref="tns:INSDKeyword"/>
572 </xs:sequence>
573 </xs:complexType>
574 </xs:element>
575 <xs:element name="INSDSeq_segment" type="xs:string" minOccurs="0"/>
576 <xs:element name="INSDSeq_source" type="xs:string" minOccurs="0"/>
577 <xs:element name="INSDSeq_organism" type="xs:string" minOccurs="0"/>
578 <xs:element name="INSDSeq_taxonomy" type="xs:string" minOccurs="0"/>
579 <xs:element name="INSDSeq_references" minOccurs="0">
580 <xs:complexType>
581 <xs:sequence minOccurs="0" maxOccurs="unbounded">
582 <xs:element ref="tns:INSDReference"/>
583 </xs:sequence>
584 </xs:complexType>
585 </xs:element>
586 <xs:element name="INSDSeq_comment" type="xs:string" minOccurs="0"/>
587 <xs:element name="INSDSeq_tagset" minOccurs="0">
588 <xs:complexType>
589 <xs:sequence>
590 <xs:element ref="tns:INSDTagset"/>
591 </xs:sequence>
592 </xs:complexType>
593 </xs:element>
594 <xs:element name="INSDSeq_primary" type="xs:string" minOccurs="0"/>
595 <xs:element name="INSDSeq_source-db" type="xs:string" minOccurs="0"/>
596 <xs:element name="INSDSeq_database-reference" type="xs:string" minOccurs="0"/>
597 <xs:element name="INSDSeq_feature-table" minOccurs="0">
598 <xs:complexType>
599 <xs:sequence minOccurs="0" maxOccurs="unbounded">
600 <xs:element ref="tns:INSDFeature"/>
601 </xs:sequence>
602 </xs:complexType>
603 </xs:element>
604 <!-- Optional for other dump forms -->
605 <xs:element name="INSDSeq_sequence" type="xs:string" minOccurs="0"/>
606 <xs:element name="INSDSeq_contig" type="xs:string" minOccurs="0"/>
607 </xs:sequence>
608 </xs:complexType>
609 </xs:element>
611 <xs:element name="INSDSeqid" type="xs:string"/>
613 <xs:element name="INSDSecondary-accn" type="xs:string"/>
615 <xs:element name="INSDKeyword" type="xs:string"/>
617 <!--
618 INSDReference_position contains a string value indicating the
619 basepair span(s) to which a reference applies. The allowable
620 formats are:
622 X..Y : Where X and Y are integers separated by two periods,
623 X >= 1 , Y <= sequence length, and X <= Y
625 Multiple basepair spans can exist, separated by a
626 semi-colon and a space. For example : 10..20; 100..500
628 sites : The string literal 'sites', indicating that a reference
629 provides sequence annotation information, but the specific
630 basepair spans are either not captured, or were too numerous
631 to record.
633 The 'sites' literal string is singly occuring, and
634 cannot be used in conjunction with any X..Y basepair spans.
636 References that lack an INSDReference_position element apply
637 to the entire sequence.
639 <xs:element name="INSDAuthor" type="xs:string"/>
641 <xs:element name="INSDReference">
642 <xs:complexType>
643 <xs:sequence>
644 <xs:element name="INSDReference_reference" type="xs:string"/>
645 <xs:element name="INSDReference_position" type="xs:string" minOccurs="0"/>
646 <xs:element name="INSDReference_authors" minOccurs="0">
647 <xs:complexType>
648 <xs:sequence minOccurs="0" maxOccurs="unbounded">
649 <xs:element ref="tns:INSDAuthor"/>
650 </xs:sequence>
651 </xs:complexType>
652 </xs:element>
653 <xs:element name="INSDReference_consortium" type="xs:string" minOccurs="0"/>
654 <xs:element name="INSDReference_title" type="xs:string" minOccurs="0"/>
655 <xs:element name="INSDReference_journal" type="xs:string"/>
656 <xs:element name="INSDReference_xref" minOccurs="0">
657 <xs:complexType>
658 <xs:sequence minOccurs="0" maxOccurs="unbounded">
659 <xs:element ref="tns:INSDXref"/>
660 </xs:sequence>
661 </xs:complexType>
662 </xs:element>
663 <xs:element name="INSDReference_pubmed" type="xs:integer" minOccurs="0"/>
664 <xs:element name="INSDReference_remark" type="xs:string" minOccurs="0"/>
665 </xs:sequence>
666 </xs:complexType>
667 </xs:element>
669 <!--
670 INSDXref provides a method for referring to records in
671 other databases. INSDXref_dbname is a string value that
672 provides the name of the database, and INSDXref_dbname
673 is a string value that provides the record's identifier
674 in that database.
676 <xs:element name="INSDXref">
677 <xs:complexType>
678 <xs:sequence>
679 <xs:element name="INSDXref_dbname" type="xs:string"/>
680 <xs:element name="INSDXref_id" type="xs:string"/>
681 </xs:sequence>
682 </xs:complexType>
683 </xs:element>
685 <!--
686 INSDTagset is used for community-specific data elements
687 in a tag/value format.
689 <xs:element name="INSDTagset">
690 <xs:complexType>
691 <xs:sequence>
692 <xs:element name="INSDTagset_authority" type="xs:string" minOccurs="0"/>
693 <xs:element name="INSDTagset_version" type="xs:string" minOccurs="0"/>
694 <xs:element name="INSDTagset_url" type="xs:string" minOccurs="0"/>
695 <xs:element name="INSDTagset_tags" minOccurs="0">
696 <xs:complexType>
697 <xs:sequence>
698 <xs:element ref="tns:INSDTags"/>
699 </xs:sequence>
700 </xs:complexType>
701 </xs:element>
702 </xs:sequence>
703 </xs:complexType>
704 </xs:element>
706 <xs:element name="INSDTags">
707 <xs:complexType>
708 <xs:sequence minOccurs="0" maxOccurs="unbounded">
709 <xs:element ref="tns:INSDTag"/>
710 </xs:sequence>
711 </xs:complexType>
712 </xs:element>
714 <xs:element name="INSDTag">
715 <xs:complexType>
716 <xs:sequence>
717 <xs:element name="INSDTag_name" type="xs:string" minOccurs="0"/>
718 <xs:element name="INSDTag_value" type="xs:string" minOccurs="0"/>
719 <xs:element name="INSDTag_unit" type="xs:string" minOccurs="0"/>
720 </xs:sequence>
721 </xs:complexType>
722 </xs:element>
724 <!--
725 INSDFeature_operator contains a string value describing
726 the relationship among a set of INSDInterval within
727 INSDFeature_intervals. The allowable formats are:
729 join : The string literal 'join' indicates that the
730 INSDInterval intervals are biologically joined
731 together into a contiguous molecule.
733 order : The string literal 'order' indicates that the
734 INSDInterval intervals are in the presented
735 order, but they are not necessarily contiguous.
737 Either 'join' or 'order' is required if INSDFeature_intervals
738 is comprised of more than one INSDInterval .
740 <xs:element name="INSDFeature">
741 <xs:complexType>
742 <xs:sequence>
743 <xs:element name="INSDFeature_key" type="xs:string"/>
744 <xs:element name="INSDFeature_location" type="xs:string"/>
745 <xs:element name="INSDFeature_intervals" minOccurs="0">
746 <xs:complexType>
747 <xs:sequence minOccurs="0" maxOccurs="unbounded">
748 <xs:element ref="tns:INSDInterval"/>
749 </xs:sequence>
750 </xs:complexType>
751 </xs:element>
752 <xs:element name="INSDFeature_operator" type="xs:string" minOccurs="0"/>
753 <xs:element name="INSDFeature_partial5" minOccurs="0">
754 <xs:complexType>
755 <xs:attribute name="value" use="required">
756 <xs:simpleType>
757 <xs:restriction base="xs:string">
758 <xs:enumeration value="true"/>
759 <xs:enumeration value="false"/>
760 </xs:restriction>
761 </xs:simpleType>
762 </xs:attribute>
763 </xs:complexType>
764 </xs:element>
765 <xs:element name="INSDFeature_partial3" minOccurs="0">
766 <xs:complexType>
767 <xs:attribute name="value" use="required">
768 <xs:simpleType>
769 <xs:restriction base="xs:string">
770 <xs:enumeration value="true"/>
771 <xs:enumeration value="false"/>
772 </xs:restriction>
773 </xs:simpleType>
774 </xs:attribute>
775 </xs:complexType>
776 </xs:element>
777 <xs:element name="INSDFeature_quals" minOccurs="0">
778 <xs:complexType>
779 <xs:sequence minOccurs="0" maxOccurs="unbounded">
780 <xs:element ref="tns:INSDQualifier"/>
781 </xs:sequence>
782 </xs:complexType>
783 </xs:element>
784 </xs:sequence>
785 </xs:complexType>
786 </xs:element>
788 <!--
789 INSDInterval_iscomp is a boolean indicating whether
790 an INSDInterval_from / INSDInterval_to location
791 represents a location on the complement strand.
792 When INSDInterval_iscomp is TRUE, it essentially
793 confirms that a 'from' value which is greater than
794 a 'to' value is intentional, because the location
795 is on the opposite strand of the presented sequence.
796 INSDInterval_interbp is a boolean indicating whether
797 a feature (such as a restriction site) is located
798 between two adjacent basepairs. When INSDInterval_iscomp
799 is TRUE, the 'from' and 'to' values must differ by
800 exactly one base.
802 <xs:element name="INSDInterval">
803 <xs:complexType>
804 <xs:sequence>
805 <xs:element name="INSDInterval_from" type="xs:integer" minOccurs="0"/>
806 <xs:element name="INSDInterval_to" type="xs:integer" minOccurs="0"/>
807 <xs:element name="INSDInterval_point" type="xs:integer" minOccurs="0"/>
808 <xs:element name="INSDInterval_iscomp" minOccurs="0">
809 <xs:complexType>
810 <xs:attribute name="value" use="required">
811 <xs:simpleType>
812 <xs:restriction base="xs:string">
813 <xs:enumeration value="true"/>
814 <xs:enumeration value="false"/>
815 </xs:restriction>
816 </xs:simpleType>
817 </xs:attribute>
818 </xs:complexType>
819 </xs:element>
820 <xs:element name="INSDInterval_interbp" minOccurs="0">
821 <xs:complexType>
822 <xs:attribute name="value" use="required">
823 <xs:simpleType>
824 <xs:restriction base="xs:string">
825 <xs:enumeration value="true"/>
826 <xs:enumeration value="false"/>
827 </xs:restriction>
828 </xs:simpleType>
829 </xs:attribute>
830 </xs:complexType>
831 </xs:element>
832 <xs:element name="INSDInterval_accession" type="xs:string"/>
833 </xs:sequence>
834 </xs:complexType>
835 </xs:element>
837 <xs:element name="INSDQualifier">
838 <xs:complexType>
839 <xs:sequence>
840 <xs:element name="INSDQualifier_name" type="xs:string"/>
841 <xs:element name="INSDQualifier_value" type="xs:string" minOccurs="0"/>
842 </xs:sequence>
843 </xs:complexType>
844 </xs:element>
846 <!--
847 INSDTagsetRules defines mandatory, optional, and unique tags
848 for a given community's INSDTagset. If the tagset is extensible,
849 then additional tags which are not included in the list of
850 mandatory or optional tags may be present. The uniquetags
851 element provides a list of the tags that may occur only once
852 in a given tagset.
854 <xs:element name="INSDTagsetRules">
855 <xs:complexType>
856 <xs:sequence>
857 <xs:element name="INSDTagsetRules_authority" type="xs:string" minOccurs="0"/>
858 <xs:element name="INSDTagsetRules_version" type="xs:string" minOccurs="0"/>
859 <xs:element name="INSDTagsetRules_mandatorytags" minOccurs="0">
860 <xs:complexType>
861 <xs:sequence>
862 <xs:element ref="tns:INSDTagNames"/>
863 </xs:sequence>
864 </xs:complexType>
865 </xs:element>
866 <xs:element name="INSDTagsetRules_optionaltags" minOccurs="0">
867 <xs:complexType>
868 <xs:sequence>
869 <xs:element ref="tns:INSDTagNames"/>
870 </xs:sequence>
871 </xs:complexType>
872 </xs:element>
873 <xs:element name="INSDTagsetRules_uniquetags" minOccurs="0">
874 <xs:complexType>
875 <xs:sequence>
876 <xs:element ref="tns:INSDTagNames"/>
877 </xs:sequence>
878 </xs:complexType>
879 </xs:element>
880 <xs:element name="INSDTagsetRules_extensible" minOccurs="0">
881 <xs:complexType>
882 <xs:attribute name="value" use="required">
883 <xs:simpleType>
884 <xs:restriction base="xs:string">
885 <xs:enumeration value="true"/>
886 <xs:enumeration value="false"/>
887 </xs:restriction>
888 </xs:simpleType>
889 </xs:attribute>
890 </xs:complexType>
891 </xs:element>
892 </xs:sequence>
893 </xs:complexType>
894 </xs:element>
896 <xs:element name="INSDTagNames">
897 <xs:complexType>
898 <xs:sequence minOccurs="0" maxOccurs="unbounded">
899 <xs:element name="INSDTagNames_E" type="xs:string"/>
900 </xs:sequence>
901 </xs:complexType>
902 </xs:element>
904 <xs:element name="INSDTagsetRuleSet">
905 <xs:complexType>
906 <xs:sequence minOccurs="0" maxOccurs="unbounded">
907 <xs:element ref="tns:INSDTagsetRules"/>
908 </xs:sequence>
909 </xs:complexType>
910 </xs:element>
913 <xs:include schemaLocation="efetch_seq.xsd" />
915 <xs:complexType name="IdListType">
916 <xs:sequence>
917 <xs:element minOccurs="0" maxOccurs="unbounded" name="Id" type="xs:string" />
918 </xs:sequence>
919 </xs:complexType>
921 <!-- Request/Response -->
923 <xs:element name="eFetchRequest">
924 <xs:complexType>
925 <xs:sequence>
926 <xs:element minOccurs="0" maxOccurs="1" name="db" type="xs:string" />
927 <xs:element minOccurs="0" maxOccurs="1" name="id" type="xs:string" />
928 <xs:element minOccurs="0" maxOccurs="1" name="WebEnv" type="xs:string" />
929 <xs:element minOccurs="0" maxOccurs="1" name="query_key" type="xs:string" />
930 <xs:element minOccurs="0" maxOccurs="1" name="tool" type="xs:string" />
931 <xs:element minOccurs="0" maxOccurs="1" name="email" type="xs:string" />
932 <xs:element minOccurs="0" maxOccurs="1" name="retstart" type="xs:string" />
933 <xs:element minOccurs="0" maxOccurs="1" name="retmax" type="xs:string" />
934 <xs:element minOccurs="0" maxOccurs="1" name="rettype" type="xs:string" />
935 <xs:element minOccurs="0" maxOccurs="1" name="strand" type="xs:string" />
936 <xs:element minOccurs="0" maxOccurs="1" name="seq_start" type="xs:string" />
937 <xs:element minOccurs="0" maxOccurs="1" name="seq_stop" type="xs:string" />
938 <xs:element minOccurs="0" maxOccurs="1" name="complexity" type="xs:string" />
939 <xs:element minOccurs="0" maxOccurs="1" name="report" type="xs:string" />
940 </xs:sequence>
941 </xs:complexType>
942 </xs:element>
945 <xs:element name="eFetchResult">
946 <xs:complexType>
947 <xs:sequence>
948 <xs:element minOccurs="0" maxOccurs="1" name="ERROR" type="xs:string" />
949 <xs:element minOccurs="0" maxOccurs="1" ref="tns:TSeqSet"/>
950 <xs:element minOccurs="0" maxOccurs="1" ref="tns:GBSet" />
951 <xs:element minOccurs="0" maxOccurs="1" ref="tns:INSDSet" />
952 <!-- xs:element minOccurs="0" maxOccurs="1" name="Bioseq-set" type="tns:Bioseq-setType" / -->
953 <xs:element minOccurs="0" maxOccurs="1" name="IdList" type="tns:IdListType" />
954 </xs:sequence>
955 </xs:complexType>
956 </xs:element>
958 </xs:schema>
959 </types>
962 <message name="eFetchRequest_m">
963 <part name="inpp" element="nsef:eFetchRequest"/>
964 </message>
965 <message name="eFetchResponse_m">
966 <part name="outp" element="nsef:eFetchResult"/>
967 </message>
969 <portType name="eUtilsServiceSoap">
970 <operation name="run_eFetch">
971 <input message="s0:eFetchRequest_m"/>
972 <output message="s0:eFetchResponse_m"/>
973 </operation>
974 </portType>
976 <binding name="eUtilsServiceSoap" type="s0:eUtilsServiceSoap">
977 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
978 <operation name="run_eFetch">
979 <soap:operation soapAction="efetch" style="document"/>
980 <input>
981 <soap:body use="literal" />
982 </input>
983 <output>
984 <soap:body use="literal" />
985 </output>
986 </operation>
987 </binding>
989 <service name="eFetchSequenceService">
990 <port name="eUtilsServiceSoap" binding="s0:eUtilsServiceSoap">
991 <soap:address location="http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/soap_adapter_2_0.cgi"/>
992 </port>
993 </service>
995 </wsdl:definitions>