diff options
Diffstat (limited to 'node_modules/xml2js')
-rw-r--r-- | node_modules/xml2js/.npmignore | 6 | ||||
-rw-r--r-- | node_modules/xml2js/.travis.yml | 5 | ||||
-rw-r--r-- | node_modules/xml2js/83.coffee | 6 | ||||
-rw-r--r-- | node_modules/xml2js/CONTRIBUTING.md | 19 | ||||
-rw-r--r-- | node_modules/xml2js/LICENSE | 19 | ||||
-rw-r--r-- | node_modules/xml2js/README.md | 343 | ||||
-rw-r--r-- | node_modules/xml2js/canon.xml | 482 | ||||
-rw-r--r-- | node_modules/xml2js/incompat.coffee | 5 | ||||
-rw-r--r-- | node_modules/xml2js/incompat2.js | 7 | ||||
-rw-r--r-- | node_modules/xml2js/lib/bom.js | 15 | ||||
-rw-r--r-- | node_modules/xml2js/lib/processors.js | 19 | ||||
-rw-r--r-- | node_modules/xml2js/lib/xml2js.js | 436 | ||||
-rw-r--r-- | node_modules/xml2js/package.json | 63 | ||||
-rw-r--r-- | node_modules/xml2js/text.coffee | 11 | ||||
-rw-r--r-- | node_modules/xml2js/text.xml | 485 | ||||
-rw-r--r-- | node_modules/xml2js/x.js | 24 |
16 files changed, 1945 insertions, 0 deletions
diff --git a/node_modules/xml2js/.npmignore b/node_modules/xml2js/.npmignore new file mode 100644 index 000000000..ef7b9b905 --- /dev/null +++ b/node_modules/xml2js/.npmignore @@ -0,0 +1,6 @@ +*.swp +.idea +node_modules +src +test +Cakefile
\ No newline at end of file diff --git a/node_modules/xml2js/.travis.yml b/node_modules/xml2js/.travis.yml new file mode 100644 index 000000000..755a6b73d --- /dev/null +++ b/node_modules/xml2js/.travis.yml @@ -0,0 +1,5 @@ +language: node_js + +node_js: + - "0.8" + - "0.10" diff --git a/node_modules/xml2js/83.coffee b/node_modules/xml2js/83.coffee new file mode 100644 index 000000000..3443540fe --- /dev/null +++ b/node_modules/xml2js/83.coffee @@ -0,0 +1,6 @@ +xml2js = require 'xml2js' +util = require 'util' + +body = '<sample><chartest desc="Test for CHARs">Character data here!</chartest></sample>' +xml2js.parseString body, (err, result) -> + console.log util.inspect result, false, null diff --git a/node_modules/xml2js/CONTRIBUTING.md b/node_modules/xml2js/CONTRIBUTING.md new file mode 100644 index 000000000..2209adf57 --- /dev/null +++ b/node_modules/xml2js/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# How to contribute + +We're always happy about useful new pull requests. Keep in mind that the better +your pull request is, the easier it can be added to `xml2js`. As such please +make sure your patch is ok: + + * `xml2js` is written in CoffeeScript. Please don't send patches to + the JavaScript source, as it get's overwritten by the CoffeeScript + compiler. The reason we have the JS code in the repository is for easier + use with eg. `git submodule` + * Make sure that the unit tests still all pass. Failing unit tests mean that + someone *will* run into a bug, if we accept your pull request. + * Please, add a unit test with your pull request, to show what was broken and + is now fixed or what was impossible and now works due to your new code. + * If you add a new feature, please add some documentation that it exists. + +If you like, you can add yourself in the `package.json` as contributor if you +deem your contribution significant enough. Otherwise, we will decide and maybe +add you. diff --git a/node_modules/xml2js/LICENSE b/node_modules/xml2js/LICENSE new file mode 100644 index 000000000..e3b4222a6 --- /dev/null +++ b/node_modules/xml2js/LICENSE @@ -0,0 +1,19 @@ +Copyright 2010, 2011, 2012, 2013. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/node_modules/xml2js/README.md b/node_modules/xml2js/README.md new file mode 100644 index 000000000..4e01478e9 --- /dev/null +++ b/node_modules/xml2js/README.md @@ -0,0 +1,343 @@ +node-xml2js +=========== + +Ever had the urge to parse XML? And wanted to access the data in some sane, +easy way? Don't want to compile a C parser, for whatever reason? Then xml2js is +what you're looking for! + +Description +=========== + +Simple XML to JavaScript object converter. It supports bi-directional conversion. +Uses [sax-js](https://github.com/isaacs/sax-js/) and +[xmlbuilder-js](https://github.com/oozcitak/xmlbuilder-js/). + +Note: If you're looking for a full DOM parser, you probably want +[JSDom](https://github.com/tmpvar/jsdom). + +Installation +============ + +Simplest way to install `xml2js` is to use [npm](http://npmjs.org), just `npm +install xml2js` which will download xml2js and all dependencies. + +Usage +===== + +No extensive tutorials required because you are a smart developer! The task of +parsing XML should be an easy one, so let's make it so! Here's some examples. + +Shoot-and-forget usage +---------------------- + +You want to parse XML as simple and easy as possible? It's dangerous to go +alone, take this: + +```javascript +var parseString = require('xml2js').parseString; +var xml = "<root>Hello xml2js!</root>" +parseString(xml, function (err, result) { + console.dir(result); +}); +``` + +Can't get easier than this, right? This works starting with `xml2js` 0.2.3. +With CoffeeScript it looks like this: + +```coffeescript +{parseString} = require 'xml2js' +xml = "<root>Hello xml2js!</root>" +parseString xml, (err, result) -> + console.dir result +``` + +If you need some special options, fear not, `xml2js` supports a number of +options (see below), you can specify these as second argument: + +```javascript +parseString(xml, {trim: true}, function (err, result) { +}); +``` + +Simple as pie usage +------------------- + +That's right, if you have been using xml-simple or a home-grown +wrapper, this was added in 0.1.11 just for you: + +```javascript +var fs = require('fs'), + xml2js = require('xml2js'); + +var parser = new xml2js.Parser(); +fs.readFile(__dirname + '/foo.xml', function(err, data) { + parser.parseString(data, function (err, result) { + console.dir(result); + console.log('Done'); + }); +}); +``` + +Look ma, no event listeners! + +You can also use `xml2js` from +[CoffeeScript](http://jashkenas.github.com/coffee-script/), further reducing +the clutter: + +```coffeescript +fs = require 'fs', +xml2js = require 'xml2js' + +parser = new xml2js.Parser() +fs.readFile __dirname + '/foo.xml', (err, data) -> + parser.parseString data, (err, result) -> + console.dir result + console.log 'Done.' +``` + +But what happens if you forget the `new` keyword to create a new `Parser`? In +the middle of a nightly coding session, it might get lost, after all. Worry +not, we got you covered! Starting with 0.2.8 you can also leave it out, in +which case `xml2js` will helpfully add it for you, no bad surprises and +inexplicable bugs! + +"Traditional" usage +------------------- + +Alternatively you can still use the traditional `addListener` variant that was +supported since forever: + +```javascript +var fs = require('fs'), + xml2js = require('xml2js'); + +var parser = new xml2js.Parser(); +parser.addListener('end', function(result) { + console.dir(result); + console.log('Done.'); +}); +fs.readFile(__dirname + '/foo.xml', function(err, data) { + parser.parseString(data); +}); +``` + +If you want to parse multiple files, you have multiple possibilites: + + * You can create one `xml2js.Parser` per file. That's the recommended one + and is promised to always *just work*. + * You can call `reset()` on your parser object. + * You can hope everything goes well anyway. This behaviour is not + guaranteed work always, if ever. Use option #1 if possible. Thanks! + +So you wanna some JSON? +----------------------- + +Just wrap the `result` object in a call to `JSON.stringify` like this +`JSON.stringify(result)`. You get a string containing the JSON representation +of the parsed object that you can feed to JSON-hungry consumers. + +Displaying results +------------------ + +You might wonder why, using `console.dir` or `console.log` the output at some +level is only `[Object]`. Don't worry, this is not because xml2js got lazy. +That's because Node uses `util.inspect` to convert the object into strings and +that function stops after `depth=2` which is a bit low for most XML. + +To display the whole deal, you can use `console.log(util.inspect(result, false, +null))`, which displays the whole result. + +So much for that, but what if you use +[eyes](https://github.com/cloudhead/eyes.js) for nice colored output and it +truncates the output with `…`? Don't fear, there's also a solution for that, +you just need to increase the `maxLength` limit by creating a custom inspector +`var inspect = require('eyes').inspector({maxLength: false})` and then you can +easily `inspect(result)`. + +XML builder usage +----------------- + +Since 0.4.0, objects can be also be used to build XML: + +```javascript +var fs = require('fs'), + xml2js = require('xml2js'); + +var obj = {name: "Super", Surname: "Man", age: 23}; + +var builder = new xml2js.Builder(); +var xml = builder.buildObject(obj); +``` + +At the moment, a one to one bi-directional conversion is guaranteed only for +default configuration, except for `attrkey`, `charkey` and `explicitArray` options +you can redefine to your taste. Writing CDATA is not currently supported. + +Processing attribute and tag names +---------------------------------- + +Since 0.4.1 you can optionally provide the parser with attribute and tag name processors: + +```javascript + +function nameToUpperCase(name){ + return name.toUpperCase(); +} + +//transform all attribute and tag names to uppercase +parseString(xml, {tagNameProcessors: [nameToUpperCase], attrNameProcessors: [nameToUpperCase]}, function (err, result) { +}); +``` + +The `tagNameProcessors` and `attrNameProcessors` options both accept an `Array` of functions with the following signature: +```javascript +function (name){ + //do something with `name` + return name +} +``` + +Some processors are provided out-of-the-box and can be found in `lib/processors.js`: + +- `normalize`: transforms the name to lowercase. +(Automatically used when `options.normalize` is set to `true`) + +- `firstCharLowerCase`: transforms the first character to lower case. +E.g. 'MyTagName' becomes 'myTagName' + +- `stripPrefix`: strips the xml namespace prefix. E.g `<foo:Bar/>` will become 'Bar'. +(N.B.: the `xmlns` prefix is NOT stripped.) + +Options +======= + +Apart from the default settings, there are a number of options that can be +specified for the parser. Options are specified by ``new Parser({optionName: +value})``. Possible options are: + + * `attrkey` (default: `$`): Prefix that is used to access the attributes. + Version 0.1 default was `@`. + * `charkey` (default: `_`): Prefix that is used to access the character + content. Version 0.1 default was `#`. + * `explicitCharkey` (default: `false`) + * `trim` (default: `false`): Trim the whitespace at the beginning and end of + text nodes. + * `normalizeTags` (default: `false`): Normalize all tag names to lowercase. + * `normalize` (default: `false`): Trim whitespaces inside text nodes. + * `explicitRoot` (default: `true`): Set this if you want to get the root + node in the resulting object. + * `emptyTag` (default: `undefined`): what will the value of empty nodes be. + Default is `{}`. + * `explicitArray` (default: `true`): Always put child nodes in an array if + true; otherwise an array is created only if there is more than one. + * `ignoreAttrs` (default: `false`): Ignore all XML attributes and only create + text nodes. + * `mergeAttrs` (default: `false`): Merge attributes and child elements as + properties of the parent, instead of keying attributes off a child + attribute object. This option is ignored if `ignoreAttrs` is `false`. + * `validator` (default `null`): You can specify a callable that validates + the resulting structure somehow, however you want. See unit tests + for an example. + * `xmlns` (default `false`): Give each element a field usually called '$ns' + (the first character is the same as attrkey) that contains its local name + and namespace URI. + * `explicitChildren` (default `false`): Put child elements to separate + property. Doesn't work with `mergeAttrs = true`. If element has no children + then "children" won't be created. Added in 0.2.5. + * `childkey` (default `$$`): Prefix that is used to access child elements if + `explicitChildren` is set to `true`. Added in 0.2.5. + * `charsAsChildren` (default `false`): Determines whether chars should be + considered children if `explicitChildren` is on. Added in 0.2.5. + * `async` (default `false`): Should the callbacks be async? This *might* be + an incompatible change if your code depends on sync execution of callbacks. + xml2js 0.3 might change this default, so the recommendation is to not + depend on sync execution anyway. Added in 0.2.6. + * `strict` (default `true`): Set sax-js to strict or non-strict parsing mode. + Defaults to `true` which is *highly* recommended, since parsing HTML which + is not well-formed XML might yield just about anything. Added in 0.2.7. + * `attrNameProcessors` (default: `null`): Allows the addition of attribute name processing functions. + Accepts an `Array` of functions with following signature: + ```javascript + function (name){ + //do something with `name` + return name + } + ``` + Added in 0.4.1 + * `tagNameProcessors` (default: `null`):Allows the addition of tag name processing functions. + Accepts an `Array` of functions with following signature: + ```javascript + function (name){ + //do something with `name` + return name + } + ``` + Added in 0.4.1 + +Options for the `Builder` class +------------------------------- + + * `rootName` (default `root`): root element name to be used in case + `explicitRoot` is `false` or to override the root element name. + * `renderOpts` (default `{ 'pretty': true, 'indent': ' ', 'newline': '\n' }`): + Rendering options for xmlbuilder-js. + * pretty: prettify generated XML + * indent: whitespace for indentation (only when pretty) + * newline: newline char (only when pretty) + * `xmldec` (default `{ 'version': '1.0', 'encoding': 'UTF-8', 'standalone': true }`: + XML declaration attributes. + * `xmldec.version` A version number string, e.g. 1.0 + * `xmldec.encoding` Encoding declaration, e.g. UTF-8 + * `xmldec.standalone` standalone document declaration: true or false + * `doctype` (default `null`): optional DTD. Eg. `{'ext': 'hello.dtd'}` + * `headless` (default: `false`): omit the XML header. Added in 0.4.3. + +`renderOpts`, `xmldec`,`doctype` and `headless` pass through to +[xmlbuilder-js](https://github.com/oozcitak/xmlbuilder-js). + +Updating to new version +======================= + +Version 0.2 changed the default parsing settings, but version 0.1.14 introduced +the default settings for version 0.2, so these settings can be tried before the +migration. + +```javascript +var xml2js = require('xml2js'); +var parser = new xml2js.Parser(xml2js.defaults["0.2"]); +``` + +To get the 0.1 defaults in version 0.2 you can just use +`xml2js.defaults["0.1"]` in the same place. This provides you with enough time +to migrate to the saner way of parsing in xml2js 0.2. We try to make the +migration as simple and gentle as possible, but some breakage cannot be +avoided. + +So, what exactly did change and why? In 0.2 we changed some defaults to parse +the XML in a more universal and sane way. So we disabled `normalize` and `trim` +so xml2js does not cut out any text content. You can reenable this at will of +course. A more important change is that we return the root tag in the resulting +JavaScript structure via the `explicitRoot` setting, so you need to access the +first element. This is useful for anybody who wants to know what the root node +is and preserves more information. The last major change was to enable +`explicitArray`, so everytime it is possible that one might embed more than one +sub-tag into a tag, xml2js >= 0.2 returns an array even if the array just +includes one element. This is useful when dealing with APIs that return +variable amounts of subtags. + +Running tests, development +========================== + +[](https://travis-ci.org/Leonidas-from-XIV/node-xml2js) +[](https://david-dm.org/Leonidas-from-XIV/node-xml2js) + +The development requirements are handled by npm, you just need to install them. +We also have a number of unit tests, they can be run using `npm test` directly +from the project root. This runs zap to discover all the tests and execute +them. + +If you like to contribute, keep in mind that xml2js is written in CoffeeScript, +so don't develop on the JavaScript files that are checked into the repository +for convenience reasons. Also, please write some unit test to check your +behaviour and if it is some user-facing thing, add some documentation to this +README, so people will know it exists. Thanks in advance! diff --git a/node_modules/xml2js/canon.xml b/node_modules/xml2js/canon.xml new file mode 100644 index 000000000..f24ddd130 --- /dev/null +++ b/node_modules/xml2js/canon.xml @@ -0,0 +1,482 @@ +<GBSet> +<GBSeq> + <GBSeq_locus>AF485783</GBSeq_locus> + <GBSeq_length>14758</GBSeq_length> + <GBSeq_strandedness>double</GBSeq_strandedness> + <GBSeq_moltype>DNA</GBSeq_moltype> + <GBSeq_topology>circular</GBSeq_topology> + <GBSeq_division>SYN</GBSeq_division> + <GBSeq_update-date>15-MAY-2003</GBSeq_update-date> + <GBSeq_create-date>21-MAR-2002</GBSeq_create-date> + <GBSeq_definition>Binary vector pBI121, complete sequence</GBSeq_definition> + <GBSeq_primary-accession>AF485783</GBSeq_primary-accession> + <GBSeq_accession-version>AF485783.1</GBSeq_accession-version> + <GBSeq_other-seqids> + <GBSeqid>gb|AF485783.1|</GBSeqid> + <GBSeqid>gi|19569229</GBSeqid> + </GBSeq_other-seqids> + <GBSeq_source>Binary vector pBI121</GBSeq_source> + <GBSeq_organism>Binary vector pBI121</GBSeq_organism> + <GBSeq_taxonomy>other sequences; artificial sequences; vectors</GBSeq_taxonomy> + <GBSeq_references> + <GBReference> + <GBReference_reference>1</GBReference_reference> + <GBReference_position>1..14758</GBReference_position> + <GBReference_authors> + <GBAuthor>Chen,P.Y.</GBAuthor> + <GBAuthor>Wang,C.K.</GBAuthor> + <GBAuthor>Soong,S.C.</GBAuthor> + <GBAuthor>To,K.Y.</GBAuthor> + </GBReference_authors> + <GBReference_title>Complete sequence of the binary vector pBI121 and its application in cloning T-DNA insertion from transgenic plants</GBReference_title> + <GBReference_journal>Mol. Breed. 11, 287-293 (2003)</GBReference_journal> + </GBReference> + <GBReference> + <GBReference_reference>2</GBReference_reference> + <GBReference_position>1..14758</GBReference_position> + <GBReference_authors> + <GBAuthor>To,K.Y.</GBAuthor> + </GBReference_authors> + <GBReference_title>Direct Submission</GBReference_title> + <GBReference_journal>Submitted (20-FEB-2002) Institute of BioAgricultural Sciences, Academia Sinica, Taipei 11529, Taiwan</GBReference_journal> + </GBReference> + </GBSeq_references> + <GBSeq_feature-table> + <GBFeature> + <GBFeature_key>source</GBFeature_key> + <GBFeature_location>1..14758</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>1</GBInterval_from> + <GBInterval_to>14758</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>organism</GBQualifier_name> + <GBQualifier_value>Binary vector pBI121</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>mol_type</GBQualifier_name> + <GBQualifier_value>genomic DNA</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>taxon:189807</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>constructed using pB221 from Clontech Laboratories and Bin19 described in GenBank Accession Number U09365</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13..796)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>796</GBInterval_from> + <GBInterval_to>13</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to traF in GenBank Accession Number X54459</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>rep_origin</GBFeature_key> + <GBFeature_location>complement(790..1168)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>1168</GBInterval_from> + <GBInterval_to>790</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>ColE1 ori; similar to sequence in GenBank Accession Number V00268</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(1161..2344)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2344</GBInterval_from> + <GBInterval_to>1161</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to tetA in GenBank Accession Number X75761</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(2454..2478)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2478</GBInterval_from> + <GBInterval_to>2454</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>T-DNA right border</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>promoter</GBFeature_key> + <GBFeature_location>2519..2825</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2519</GBInterval_from> + <GBInterval_to>2825</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>gene</GBFeature_key> + <GBFeature_location>2838..3632</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2838</GBInterval_from> + <GBInterval_to>3632</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>nptII</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>CDS</GBFeature_key> + <GBFeature_location>2838..3632</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2838</GBInterval_from> + <GBInterval_to>3632</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>nptII</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>codon_start</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>transl_table</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>product</GBQualifier_name> + <GBQualifier_value>neomycin phosphotransferase II</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>protein_id</GBQualifier_name> + <GBQualifier_value>AAL92039.1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>GI:19569230</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>translation</GBQualifier_name> + <GBQualifier_value>MIEQDGLHAGSPAAWVERLFGYDWAQQTIGCSDAAVFRLSAQGRPVLFVKTDLSGALNELQDEAARLSWLATTGVPCAAVLDVVTEAGRDWLLLGEVPGQDLLSSHLAPAEKVSIMADAMRRLHTLDPATCPFDHQAKHRIERARTRMEAGLVDQDDLDEEHQGLAPAELFARLKARMPDGDDLVVTHGDACLPNIMVENGRFSGFIDCGRLGVADRYQDIALATRDIAEELGGEWADRFLVLYGIAAPDSQRIAFYRLLDEFF</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>terminator</GBFeature_key> + <GBFeature_location>4022..4277</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>4022</GBInterval_from> + <GBInterval_to>4277</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>promoter</GBFeature_key> + <GBFeature_location>4974..5808</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>4974</GBInterval_from> + <GBInterval_to>5808</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>CaMV 35S</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>gene</GBFeature_key> + <GBFeature_location>5845..7656</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>5845</GBInterval_from> + <GBInterval_to>7656</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>gusA</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>CDS</GBFeature_key> + <GBFeature_location>5845..7656</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>5845</GBInterval_from> + <GBInterval_to>7656</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>gusA</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>GUS</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>codon_start</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>transl_table</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>product</GBQualifier_name> + <GBQualifier_value>beta-glucuronidase</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>protein_id</GBQualifier_name> + <GBQualifier_value>AAL92040.1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>GI:19569231</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>translation</GBQualifier_name> + <GBQualifier_value>MLRPVETPTREIKKLDGLWAFSLDRENCGIDQRWWESALQESRAIAVPGSFNDQFADADIRNYAGNVWYQREVFIPKGWAGQRIVLRFDAVTHYGKVWVNNQEVMEHQGGYTPFEADVTPYVIAGKSVRITVCVNNELNWQTIPPGMVITDENGKKKQSYFHDFFNYAGIHRSVMLYTTPNTWVDDITVVTHVAQDCNHASVDWQVVANGDVSVELRDADQQVVATGQGTSGTLQVVNPHLWQPGEGYLYELCVTAKSQTECDIYPLRVGIRSVAVKGEQFLINHKPFYFTGFGRHEDADLRGKGFDNVLMVHDHALMDWIGANSYRTSHYPYAEEMLDWADEHGIVVIDETAAVGFNLSLGIGFEAGNKPKELYSEEAVNGETQQAHLQAIKELIARDKNHPSVVMWSIANEPDTRPQGAREYFAPLAEATRKLDPTRPITCVNVMFCDAHTDTISDLFDVLCLNRYYGWYVQSGDLETAEKVLEKELLAWQEKLHQPIIITEYGVDTLAGLHSMYTDMWSEEYQCAWLDMYHRVFDRVSAVVGEQVWNFADFATSQGILRVGGNKKGIFTRDRKPKSAAFLLQKRWTGMNFGEKPQQGGKQ</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>terminator</GBFeature_key> + <GBFeature_location>7727..7979</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>7727</GBInterval_from> + <GBInterval_to>7979</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(8621..8646)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>8646</GBInterval_from> + <GBInterval_to>8621</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>T-DNA left border</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(9156..10198)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>10198</GBInterval_from> + <GBInterval_to>9156</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to tetA in GenBank Accession Number L13842</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(10199..11680)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>11680</GBInterval_from> + <GBInterval_to>10199</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to trfA in GenBank Accession Number X00713</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(11681..12673)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>12673</GBInterval_from> + <GBInterval_to>11681</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to NPTIII gene in GenBank Accession Number V01547</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(12674..13443)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>13443</GBInterval_from> + <GBInterval_to>12674</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to transposable element IS1 in GenBank Accession Number X58999</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13444..13794)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>13794</GBInterval_from> + <GBInterval_to>13444</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similarity to NPT III gene in GenBank Accession Number V01547</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13795..14066)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>14066</GBInterval_from> + <GBInterval_to>13795</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to kilA in GenBank Accession Number M62846</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>rep_origin</GBFeature_key> + <GBFeature_location>complement(14141..14758)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>14758</GBInterval_from> + <GBInterval_to>14141</GBInterval_to> + <GBInterval_iscomp value="true"></GBInterval_iscomp> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>ori V; similar to sequence in GenBank Accession Number M20134</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + </GBSeq_feature-table> + <GBSeq_sequence>tgagcgtcgcaaaggcgctcggtcttgccttgctcgtcggtgatgtacttcaccagctccgcgaagtcgctcttcttgatggagcgcatggggacgtgcttggcaatcacgcgcaccccccggccgttttagcggctaaaaaagtcatggctctgccctcgggcggaccacgcccatcatgaccttgccaagctcgtcctgcttctcttcgatcttcgccagcagggcgaggatcgtggcatcaccgaaccgcgccgtgcgcgggtcgtcggtgagccagagtttcagcaggccgcccaggcggcccaggtcgccattgatgcgggccagctcgcggacgtgctcatagtccacgacgcccgtgattttgtagccctggccgacggccagcaggtaggccgacaggctcatgccggccgccgccgccttttcctcaatcgctcttcgttcgtctggaaggcagtacaccttgataggtgggctgcccttcctggttggcttggtttcatcagccatccgcttgccctcatctgttacgccggcggtagccggccagcctcgcagagcaggattcccgttgagcaccgccaggtgcgaataagggacagtgaagaaggaacacccgctcgcgggtgggcctacttcacctatcctgcccggctgacgccgttggatacaccaaggaaagtctacacgaaccctttggcaaaatcctgtatatcgtgcgaaaaaggatggatataccgaaaaaatcgctataatgaccccgaagcagggttatgcagcggaaaagcgccacgcttcccgaagggagaaaggcggacaggtatccggtaagcggcagggtcggaacaggagagcgcacgagggagcttccagggggaaacgcctggtatctttatagtcctgtcgggtttcgccacctctgacttgagcgtcgatttttgtgatgctcgtcaggggggcggagcctatggaaaaacgccagcaacgcggcctttttacggttcctggccttttgctggccttttgctcacatgttctttcctgcgttatcccctgattctgtggataaccgtattaccgcctttgagtgagctgataccgctcgccgcagccgaacgaccgagcgcagcgagtcagtgagcgaggaagcggaagagcgccagaaggccgccagagaggccgagcgcggccgtgaggcttggacgctagggcagggcatgaaaaagcccgtagcgggctgctacgggcgtctgacgcggtggaaagggggaggggatgttgtctacatggctctgctgtagtgagtgggttgcgctccggcagcggtcctgatcaatcgtcaccctttctcggtccttcaacgttcctgacaacgagcctccttttcgccaatccatcgacaatcaccgcgagtccctgctcgaacgctgcgtccggaccggcttcgtcgaaggcgtctatcgcggcccgcaacagcggcgagagcggagcctgttcaacggtgccgccgcgctcgccggcatcgctgtcgccggcctgctcctcaagcacggccccaacagtgaagtagctgattgtcatcagcgcattgacggcgtccccggccgaaaaacccgcctcgcagaggaagcgaagctgcgcgtcggccgtttccatctgcggtgcgcccggtcgcgtgccggcatggatgcgcgcgccatcgcggtaggcgagcagcgcctgcctgaagctgcgggcattcccgatcagaaatgagcgccagtcgtcgtcggctctcggcaccgaatgcgtatgattctccgccagcatggcttcggccagtgcgtcgagcagcgcccgcttgttcctgaagtgccagtaaagcgccggctgctgaacccccaaccgttccgccagtttgcgtgtcgtcagaccgtctacgccgacctcgttcaacaggtccagggcggcacggatcactgtattcggctgcaactttgtcatgcttgacactttatcactgataaacataatatgtccaccaacttatcagtgataaagaatccgcgcgttcaatcggaccagcggaggctggtccggaggccagacgtgaaacccaacatacccctgatcgtaattctgagcactgtcgcgctcgacgctgtcggcatcggcctgattatgccggtgctgccgggcctcctgcgcgatctggttcactcgaacgacgtcaccgcccactatggcattctgctggcgctgtatgcgttggtgcaatttgcctgcgcacctgtgctgggcgcgctgtcggatcgtttcgggcggcggccaatcttgctcgtctcgctggccggcgccagatctggggaaccctgtggttggcatgcacatacaaatggacgaacggataaaccttttcacgcccttttaaatatccgattattctaataaacgctcttttctcttaggtttacccgccaatatatcctgtcaaacactgatagtttaaactgaaggcgggaaacgacaatctgatcatgagcggagaattaagggagtcacgttatgacccccgccgatgacgcgggacaagccgttttacgtttggaactgacagaaccgcaacgttgaaggagccactcagccgcgggtttctggagtttaatgagctaagcacatacgtcagaaaccattattgcgcgttcaaaagtcgcctaaggtcactatcagctagcaaatatttcttgtcaaaaatgctccactgacgttccataaattcccctcggtatccaattagagtctcatattcactctcaatccaaataatctgcaccggatctggatcgtttcgcatgattgaacaagatggattgcacgcaggttctccggccgcttgggtggagaggctattcggctatgactgggcacaacagacaatcggctgctctgatgccgccgtgttccggctgtcagcgcaggggcgcccggttctttttgtcaagaccgacctgtccggtgccctgaatgaactgcaggacgaggcagcgcggctatcgtggctggccacgacgggcgttccttgcgcagctgtgctcgacgttgtcactgaagcgggaagggactggctgctattgggcgaagtgccggggcaggatctcctgtcatctcaccttgctcctgccgagaaagtatccatcatggctgatgcaatgcggcggctgcatacgcttgatccggctacctgcccattcgaccaccaagcgaaacatcgcatcgagcgagcacgtactcggatggaagccggtcttgtcgatcaggatgatctggacgaagagcatcaggggctcgcgccagccgaactgttcgccaggctcaaggcgcgcatgcccgacggcgatgatctcgtcgtgacccatggcgatgcctgcttgccgaatatcatggtggaaaatggccgcttttctggattcatcgactgtggccggctgggtgtggcggaccgctatcaggacatagcgttggctacccgtgatattgctgaagagcttggcggcgaatgggctgaccgcttcctcgtgctttacggtatcgccgctcccgattcgcagcgcatcgccttctatcgccttcttgacgagttcttctgagcgggactctggggttcgaaatgaccgaccaagcgacgcccaacctgccatcacgagatttcgattccaccgccgccttctatgaaaggttgggcttcggaatcgttttccgggacgccggctggatgatcctccagcgcggggatctcatgctggagttcttcgcccacgggatctctgcggaacaggcggtcgaaggtgccgatatcattacgacagcaacggccgacaagcacaacgccacgatcctgagcgacaatatgatcgggcccggcgtccacatcaacggcgtcggcggcgactgcccaggcaagaccgagatgcaccgcgatatcttgctgcgttcggatattttcgtggagttcccgccacagacccggatgatccccgatcgttcaaacatttggcaataaagtttcttaagattgaatcctgttgccggtcttgcgatgattatcatataatttctgttgaattacgttaagcatgtaataattaacatgtaatgcatgacgttatttatgagatgggtttttatgattagagtcccgcaattatacatttaatacgcgatagaaaacaaaatatagcgcgcaaactaggataaattatcgcgcgcggtgtcatctatgttactagatcgggcctcctgtcaatgctggcggcggctctggtggtggttctggtggcggctctgagggtggtggctctgagggtggcggttctgagggtggcggctctgagggaggcggttccggtggtggctctggttccggtgattttgattatgaaaagatggcaaacgctaataagggggctatgaccgaaaatgccgatgaaaacgcgctacagtctgacgctaaaggcaaacttgattctgtcgctactgattacggtgctgctatcgatggtttcattggtgacgtttccggccttgctaatggtaatggtgctactggtgattttgctggctctaattcccaaatggctcaagtcggtgacggtgataattcacctttaatgaataatttccgtcaatatttaccttccctccctcaatcggttgaatgtcgcccttttgtctttggcccaatacgcaaaccgcctctccccgcgcgttggccgattcattaatgcagctggcacgacaggtttcccgactggaaagcgggcagtgagcgcaacgcaattaatgtgagttagctcactcattaggcaccccaggctttacactttatgcttccggctcgtatgttgtgtggaattgtgagcggataacaatttcacacaggaaacagctatgaccatgattacgccaagcttgcatgcctgcaggtccccagattagccttttcaatttcagaaagaatgctaacccacagatggttagagaggcttacgcagcaggtctcatcaagacgatctacccgagcaataatctccaggaaatcaaataccttcccaagaaggttaaagatgcagtcaaaagattcaggactaactgcatcaagaacacagagaaagatatatttctcaagatcagaagtactattccagtatggacgattcaaggcttgcttcacaaaccaaggcaagtaatagagattggagtctctaaaaaggtagttcccactgaatcaaaggccatggagtcaaagattcaaatagaggacctaacagaactcgccgtaaagactggcgaacagttcatacagagtctcttacgactcaatgacaagaagaaaatcttcgtcaacatggtggagcacgacacacttgtctactccaaaaatatcaaagatacagtctcagaagaccaaagggcaattgagacttttcaacaaagggtaatatccggaaacctcctcggattccattgcccagctatctgtcactttattgtgaagatagtggaaaaggaaggtggctcctacaaatgccatcattgcgataaaggaaaggccatcgttgaagatgcctctgccgacagtggtcccaaagatggacccccacccacgaggagcatcgtggaaaaagaagacgttccaaccacgtcttcaaagcaagtggattgatgtgatatctccactgacgtaagggatgacgcacaatcccactatccttcgcaagacccttcctctatataaggaagttcatttcatttggagagaacacgggggactctagaggatccccgggtggtcagtcccttatgttacgtcctgtagaaaccccaacccgtgaaatcaaaaaactcgacggcctgtgggcattcagtctggatcgcgaaaactgtggaattgatcagcgttggtgggaaagcgcgttacaagaaagccgggcaattgctgtgccaggcagttttaacgatcagttcgccgatgcagatattcgtaattatgcgggcaacgtctggtatcagcgcgaagtctttataccgaaaggttgggcaggccagcgtatcgtgctgcgtttcgatgcggtcactcattacggcaaagtgtgggtcaataatcaggaagtgatggagcatcagggcggctatacgccatttgaagccgatgtcacgccgtatgttattgccgggaaaagtgtacgtatcaccgtttgtgtgaacaacgaactgaactggcagactatcccgccgggaatggtgattaccgacgaaaacggcaagaaaaagcagtcttacttccatgatttctttaactatgccggaatccatcgcagcgtaatgctctacaccacgccgaacacctgggtggacgatatcaccgtggtgacgcatgtcgcgcaagactgtaaccacgcgtctgttgactggcaggtggtggccaatggtgatgtcagcgttgaactgcgtgatgcggatcaacaggtggttgcaactggacaaggcactagcgggactttgcaagtggtgaatccgcacctctggcaaccgggtgaaggttatctctatgaactgtgcgtcacagccaaaagccagacagagtgtgatatctacccgcttcgcgtcggcatccggtcagtggcagtgaagggcgaacagttcctgattaaccacaaaccgttctactttactggctttggtcgtcatgaagatgcggacttgcgtggcaaaggattcgataacgtgctgatggtgcacgaccacgcattaatggactggattggggccaactcctaccgtacctcgcattacccttacgctgaagagatgctcgactgggcagatgaacatggcatcgtggtgattgatgaaactgctgctgtcggctttaacctctctttaggcattggtttcgaagcgggcaacaagccgaaagaactgtacagcgaagaggcagtcaacggggaaactcagcaagcgcacttacaggcgattaaagagctgatagcgcgtgacaaaaaccacccaagcgtggtgatgtggagtattgccaacgaaccggatacccgtccgcaaggtgcacgggaatatttcgcgccactggcggaagcaacgcgtaaactcgacccgacgcgtccgatcacctgcgtcaatgtaatgttctgcgacgctcacaccgataccatcagcgatctctttgatgtgctgtgcctgaaccgttattacggatggtatgtccaaagcggcgatttggaaacggcagagaaggtactggaaaaagaacttctggcctggcaggagaaactgcatcagccgattatcatcaccgaatacggcgtggatacgttagccgggctgcactcaatgtacaccgacatgtggagtgaagagtatcagtgtgcatggctggatatgtatcaccgcgtctttgatcgcgtcagcgccgtcgtcggtgaacaggtatggaatttcgccgattttgcgacctcgcaaggcatattgcgcgttggcggtaacaagaaagggatcttcactcgcgaccgcaaaccgaagtcggcggcttttctgctgcaaaaacgctggactggcatgaacttcggtgaaaaaccgcagcagggaggcaaacaatgaatcaacaactctcctggcgcaccatcgtcggctacagcctcgggaattgctaccgagctcgaatttccccgatcgttcaaacatttggcaataaagtttcttaagattgaatcctgttgccggtcttgcgatgattatcatataatttctgttgaattacgttaagcatgtaataattaacatgtaatgcatgacgttatttatgagatgggtttttatgattagagtcccgcaattatacatttaatacgcgatagaaaacaaaatatagcgcgcaaactaggataaattatcgcgcgcggtgtcatctatgttactagatcgggaattcactggccgtcgttttacaacgtcgtgactgggaaaaccctggcgttacccaacttaatcgccttgcagcacatccccctttcgccagctggcgtaatagcgaagaggcccgcaccgatcgcccttcccaacagttgcgcagcctgaatggcgcccgctcctttcgctttcttcccttcctttctcgccacgttcgccggctttccccgtcaagctctaaatcgggggctccctttagggttccgatttagtgctttacggcacctcgaccccaaaaaacttgatttgggtgatggttcacgtagtgggccatcgccctgatagacggtttttcgccctttgacgttggagtccacgttctttaatagtggactcttgttccaaactggaacaacactcaaccctatctcgggctattcttttgatttataagggattttgccgatttcggaaccaccatcaaacaggattttcgcctgctggggcaaaccagcgtggaccgcttgctgcaactctctcagggccaggcggtgaagggcaatcagctgttgcccgtctcactggtgaaaagaaaaaccaccccagtacattaaaaacgtccgcaatgtgttattaagttgtctaagcgtcaatttgtttacaccacaatatatcctgccaccagccagccaacagctccccgaccggcagctcggcacaaaatcaccactcgatacaggcagcccatcagtccgggacggcgtcagcgggagagccgttgtaaggcggcagactttgctcatgttaccgatgctattcggaagaacggcaactaagctgccgggtttgaaacacggatgatctcgcggagggtagcatgttgattgtaacgatgacagagcgttgctgcctgtgatcaaatatcatctccctcgcagagatccgaattatcagccttcttattcatttctcgcttaaccgtgacaggctgtcgatcttgagaactatgccgacataataggaaatcgctggataaagccgctgaggaagctgagtggcgctatttctttagaagtgaacgttgacgatatcaactcccctatccattgctcaccgaatggtacaggtcggggacccgaagttccgactgtcggcctgatgcatccccggctgatcgaccccagatctggggctgagaaagcccagtaaggaaacaactgtaggttcgagtcgcgagatcccccggaaccaaaggaagtaggttaaacccgctccgatcaggccgagccacgccaggccgagaacattggttcctgtaggcatcgggattggcggatcaaacactaaagctactggaacgagcagaagtcctccggccgccagttgccaggcggtaaaggtgagcagaggcacgggaggttgccacttgcgggtcagcacggttccgaacgccatggaaaccgcccccgccaggcccgctgcgacgccgacaggatctagcgctgcgtttggtgtcaacaccaacagcgccacgcccgcagttccgcaaatagcccccaggaccgccatcaatcgtatcgggctacctagcagagcggcagagatgaacacgaccatcagcggctgcacagcgcctaccgtcgccgcgaccccgcccggcaggcggtagaccgaaataaacaacaagctccagaatagcgaaatattaagtgcgccgaggatgaagatgcgcatccaccagattcccgttggaatctgtcggacgatcatcacgagcaataaacccgccggcaacgcccgcagcagcataccggcgacccctcggcctcgctgttcgggctccacgaaaacgccggacagatgcgccttgtgagcgtccttggggccgtcctcctgtttgaagaccgacagcccaatgatctcgccgtcgatgtaggcgccgaatgccacggcatctcgcaaccgttcagcgaacgcctccatgggctttttctcctcgtgctcgtaaacggacccgaacatctctggagctttcttcagggccgacaatcggatctcgcggaaatcctgcacgtcggccgctccaagccgtcgaatctgagccttaatcacaattgtcaattttaatcctctgtttatcggcagttcgtagagcgcgccgtgcgtcccgagcgatactgagcgaagcaagtgcgtcgagcagtgcccgcttgttcctgaaatgccagtaaagcgctggctgctgaacccccagccggaactgaccccacaaggccctagcgtttgcaatgcaccaggtcatcattgacccaggcgtgttccaccaggccgctgcctcgcaactcttcgcaggcttcgccgacctgctcgcgccacttcttcacgcgggtggaatccgatccgcacatgaggcggaaggtttccagcttgagcgggtacggctcccggtgcgagctgaaatagtcgaacatccgtcgggccgtcggcgacagcttgcggtacttctcccatatgaatttcgtgtagtggtcgccagcaaacagcacgacgatttcctcgtcgatcaggacctggcaacgggacgttttcttgccacggtccaggacgcggaagcggtgcagcagcgacaccgattccaggtgcccaacgcggtcggacgtgaagcccatcgccgtcgcctgtaggcgcgacaggcattcctcggccttcgtgtaataccggccattgatcgaccagcccaggtcctggcaaagctcgtagaacgtgaaggtgatcggctcgccgataggggtgcgcttcgcgtactccaacacctgctgccacaccagttcgtcatcgtcggcccgcagctcgacgccggtgtaggtgatcttcacgtccttgttgacgtggaaaatgaccttgttttgcagcgcctcgcgcgggattttcttgttgcgcgtggtgaacagggcagagcgggccgtgtcgtttggcatcgctcgcatcgtgtccggccacggcgcaatatcgaacaaggaaagctgcatttccttgatctgctgcttcgtgtgtttcagcaacgcggcctgcttggcctcgctgacctgttttgccaggtcctcgccggcggtttttcgcttcttggtcgtcatagttcctcgcgtgtcgatggtcatcgacttcgccaaacctgccgcctcctgttcgagacgacgcgaacgctccacggcggccgatggcgcgggcagggcagggggagccagttgcacgctgtcgcgctcgatcttggccgtagcttgctggaccatcgagccgacggactggaaggtttcgcggggcgcacgcatgacggtgcggcttgcgatggtttcggcatcctcggcggaaaaccccgcgtcgatcagttcttgcctgtatgccttccggtcaaacgtccgattcattcaccctccttgcgggattgccccgactcacgccggggcaatgtgcccttattcctgatttgacccgcctggtgccttggtgtccagataatccaccttatcggcaatgaagtcggtcccgtagaccgtctggccgtccttctcgtacttggtattccgaatcttgccctgcacgaataccagcgaccccttgcccaaatacttgccgtgggcctcggcctgagagccaaaacacttgatgcggaagaagtcggtgcgctcctgcttgtcgccggcatcgttgcgccacatctaggtactaaaacaattcatccagtaaaatataatattttattttctcccaatcaggcttgatccccagtaagtcaaaaaatagctcgacatactgttcttccccgatatcctccctgatcgaccggacgcagaaggcaatgtcataccacttgtccgccctgccgcttctcccaagatcaataaagccacttactttgccatctttcacaaagatgttgctgtctcccaggtcgccgtgggaaaagacaagttcctcttcgggcttttccgtctttaaaaaatcatacagctcgcgcggatctttaaatggagtgtcttcttcccagttttcgcaatccacatcggccagatcgttattcagtaagtaatccaattcggctaagcggctgtctaagctattcgtatagggacaatccgatatgtcgatggagtgaaagagcctgatgcactccgcatacagctcgataatcttttcagggctttgttcatcttcatactcttccgagcaaaggacgccatcggcctcactcatgagcagattgctccagccatcatgccgttcaaagtgcaggacctttggaacaggcagctttccttccagccatagcatcatgtccttttcccgttccacatcataggtggtccctttataccggctgtccgtcatttttaaatataggttttcattttctcccaccagcttatataccttagcaggagacattccttccgtatcttttacgcagcggtatttttcgatcagttttttcaattccggtgatattctcattttagccatttattatttccttcctcttttctacagtatttaaagataccccaagaagctaattataacaagacgaactccaattcactgttccttgcattctaaaaccttaaataccagaaaacagctttttcaaagttgttttcaaagttggcgtataacatagtatcgacggagccgattttgaaaccacaattatgggtgatgctgccaacttactgatttagtgtatgatggtgtttttgaggtgctccagtggcttctgtgtctatcagctgtccctcctgttcagctactgacggggtggtgcgtaacggcaaaagcaccgccggacatcagcgctatctctgctctcactgccgtaaaacatggcaactgcagttcacttacaccgcttctcaacccggtacgcaccagaaaatcattgatatggccatgaatggcgttggatgccgggcaacagcccgcattatgggcgttggcctcaacacgattttacgtcacttaaaaaactcaggccgcagtcggtaacctcgcgcatacagccgggcagtgacgtcatcgtctgcgcggaaatggacgaacagtggggctatgtcggggctaaatcgcgccagcgctggctgttttacgcgtatgacagtctccggaagacggttgttgcgcacgtattcggtgaacgcactatggcgacgctggggcgtcttatgagcctgctgtcaccctttgacgtggtgatatggatgacggatggctggccgctgtatgaatcccgcctgaagggaaagctgcacgtaatcagcaagcgatatacgcagcgaattgagcggcataacctgaatctgaggcagcacctggcacggctgggacggaagtcgctgtcgttctcaaaatcggtggagctgcatgacaaagtcatcgggcattatctgaacataaaacactatcaataagttggagtcattacccaattatgatagaatttacaagctataaggttattgtcctgggtttcaagcattagtccatgcaagtttttatgctttgcccattctatagatatattgataagcgcgctgcctatgccttgccccctgaaatccttacatacggcgatatcttctatataaaagatatattatcttatcagtattgtcaatatattcaaggcaatctgcctcctcatcctcttcatcctcttcgtcttggtagctttttaaatatggcgcttcatagagtaattctgtaaaggtccaattctcgttttcatacctcggtataatcttacctatcacctcaaatggttcgctgggtttatcgcacccccgaacacgagcacggcacccgcgaccactatgccaagaatgcccaaggtaaaaattgccggccccgccatgaagtccgtgaatgccccgacggccgaagtgaagggcaggccgccacccaggccgccgccctcactgcccggcacctggtcgctgaatgtcgatgccagcacctgcggcacgtcaatgcttccgggcgtcgcgctcgggctgatcgcccatcccgttactgccccgatcccggcaatggcaaggactgccagcgctgccatttttggggtgaggccgttcgcggccgaggggcgcagcccctggggggatgggaggcccgcgttagcgggccgggagggttcgagaagggggggcaccccccttcggcgtgcgcggtcacgcgcacagggcgcagccctggttaaaaacaaggtttataaatattggtttaaaagcaggttaaaagacaggttagcggtggccgaaaaacgggcggaaacccttgcaaatgctggattttctgcctgtggacagcccctcaaatgtcaataggtgcgcccctcatctgtcagcactctgcccctcaagtgtcaaggatcgcgcccctcatctgtcagtagtcgcgcccctcaagtgtcaataccgcagggcacttatccccaggcttgtccacatcatctgtgggaaactcgcgtaaaatcaggcgttttcgccgatttgcgaggctggccagctccacgtcgccggccgaaatcgagcctgcccctcatctgtcaacgccgcgccgggtgagtcggcccctcaagtgtcaacgtccgcccctcatctgtcagtgagggccaagttttccgcgaggtatccacaacgccggcggccgcggtgtctcgcacacggcttcgacggcgtttctggcgcgtttgcagggccatagacggccgccagcccagcggcgagggcaaccagcccgg</GBSeq_sequence> +</GBSeq> + +</GBSet>
\ No newline at end of file diff --git a/node_modules/xml2js/incompat.coffee b/node_modules/xml2js/incompat.coffee new file mode 100644 index 000000000..553396567 --- /dev/null +++ b/node_modules/xml2js/incompat.coffee @@ -0,0 +1,5 @@ +{parseString} = require './lib/xml2js' +xml = '<outline htmlUrl="futurity.org" text="Futurity.org" title="Futurity.org" type="rss" xmlUrl="http://www.futurity.org/feed/"/>' +parseString xml, (err, result) -> + console.dir result + diff --git a/node_modules/xml2js/incompat2.js b/node_modules/xml2js/incompat2.js new file mode 100644 index 000000000..31cfbc82c --- /dev/null +++ b/node_modules/xml2js/incompat2.js @@ -0,0 +1,7 @@ +var xml2js = require('xml2js'); +var parser = new xml2js.Parser({ + mergeAttrs: true +}); +parser.parseString('<outline xmlUrl="http://www.futurity.org/feed/"/>', function (err, result) { + console.dir(result); +}); diff --git a/node_modules/xml2js/lib/bom.js b/node_modules/xml2js/lib/bom.js new file mode 100644 index 000000000..d7f226edc --- /dev/null +++ b/node_modules/xml2js/lib/bom.js @@ -0,0 +1,15 @@ +// Generated by CoffeeScript 1.7.1 +(function() { + var xml2js; + + xml2js = require('../lib/xml2js'); + + exports.stripBOM = function(str) { + if (str[0] === '\uFEFF') { + return str.substring(1); + } else { + return str; + } + }; + +}).call(this); diff --git a/node_modules/xml2js/lib/processors.js b/node_modules/xml2js/lib/processors.js new file mode 100644 index 000000000..aeadaef35 --- /dev/null +++ b/node_modules/xml2js/lib/processors.js @@ -0,0 +1,19 @@ +// Generated by CoffeeScript 1.7.1 +(function() { + var prefixMatch; + + prefixMatch = new RegExp(/(?!xmlns)^.*:/); + + exports.normalize = function(str) { + return str.toLowerCase(); + }; + + exports.firstCharLowerCase = function(str) { + return str.charAt(0).toLowerCase() + str.slice(1); + }; + + exports.stripPrefix = function(str) { + return str.replace(prefixMatch, ''); + }; + +}).call(this); diff --git a/node_modules/xml2js/lib/xml2js.js b/node_modules/xml2js/lib/xml2js.js new file mode 100644 index 000000000..7c1cad319 --- /dev/null +++ b/node_modules/xml2js/lib/xml2js.js @@ -0,0 +1,436 @@ +// Generated by CoffeeScript 1.7.1 +(function() { + var bom, builder, events, isEmpty, processName, processors, sax, + __hasProp = {}.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, + __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + + sax = require('sax'); + + events = require('events'); + + builder = require('xmlbuilder'); + + bom = require('./bom'); + + processors = require('./processors'); + + isEmpty = function(thing) { + return typeof thing === "object" && (thing != null) && Object.keys(thing).length === 0; + }; + + processName = function(processors, processedName) { + var process, _i, _len; + for (_i = 0, _len = processors.length; _i < _len; _i++) { + process = processors[_i]; + processedName = process(processedName); + } + return processedName; + }; + + exports.processors = processors; + + exports.defaults = { + "0.1": { + explicitCharkey: false, + trim: true, + normalize: true, + normalizeTags: false, + attrkey: "@", + charkey: "#", + explicitArray: false, + ignoreAttrs: false, + mergeAttrs: false, + explicitRoot: false, + validator: null, + xmlns: false, + explicitChildren: false, + childkey: '@@', + charsAsChildren: false, + async: false, + strict: true, + attrNameProcessors: null, + tagNameProcessors: null + }, + "0.2": { + explicitCharkey: false, + trim: false, + normalize: false, + normalizeTags: false, + attrkey: "$", + charkey: "_", + explicitArray: true, + ignoreAttrs: false, + mergeAttrs: false, + explicitRoot: true, + validator: null, + xmlns: false, + explicitChildren: false, + childkey: '$$', + charsAsChildren: false, + async: false, + strict: true, + attrNameProcessors: null, + tagNameProcessors: null, + rootName: 'root', + xmldec: { + 'version': '1.0', + 'encoding': 'UTF-8', + 'standalone': true + }, + doctype: null, + renderOpts: { + 'pretty': true, + 'indent': ' ', + 'newline': '\n' + }, + headless: false + } + }; + + exports.ValidationError = (function(_super) { + __extends(ValidationError, _super); + + function ValidationError(message) { + this.message = message; + } + + return ValidationError; + + })(Error); + + exports.Builder = (function() { + function Builder(opts) { + var key, value, _ref; + this.options = {}; + _ref = exports.defaults["0.2"]; + for (key in _ref) { + if (!__hasProp.call(_ref, key)) continue; + value = _ref[key]; + this.options[key] = value; + } + for (key in opts) { + if (!__hasProp.call(opts, key)) continue; + value = opts[key]; + this.options[key] = value; + } + } + + Builder.prototype.buildObject = function(rootObj) { + var attrkey, charkey, render, rootElement, rootName; + attrkey = this.options.attrkey; + charkey = this.options.charkey; + if ((Object.keys(rootObj).length === 1) && (this.options.rootName === exports.defaults['0.2'].rootName)) { + rootName = Object.keys(rootObj)[0]; + rootObj = rootObj[rootName]; + } else { + rootName = this.options.rootName; + } + render = function(element, obj) { + var attr, child, entry, index, key, value, _ref, _ref1; + if (typeof obj !== 'object') { + element.txt(obj); + } else { + for (key in obj) { + if (!__hasProp.call(obj, key)) continue; + child = obj[key]; + if (key === attrkey) { + if (typeof child === "object") { + for (attr in child) { + value = child[attr]; + element = element.att(attr, value); + } + } + } else if (key === charkey) { + element = element.txt(child); + } else if (typeof child === 'object' && ((child != null ? child.constructor : void 0) != null) && ((child != null ? (_ref = child.constructor) != null ? _ref.name : void 0 : void 0) != null) && (child != null ? (_ref1 = child.constructor) != null ? _ref1.name : void 0 : void 0) === 'Array') { + for (index in child) { + if (!__hasProp.call(child, index)) continue; + entry = child[index]; + if (typeof entry === 'string') { + element = element.ele(key, entry).up(); + } else { + element = arguments.callee(element.ele(key), entry).up(); + } + } + } else if (typeof child === "object") { + element = arguments.callee(element.ele(key), child).up(); + } else { + element = element.ele(key, child.toString()).up(); + } + } + } + return element; + }; + rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, { + headless: this.options.headless + }); + return render(rootElement, rootObj).end(this.options.renderOpts); + }; + + return Builder; + + })(); + + exports.Parser = (function(_super) { + __extends(Parser, _super); + + function Parser(opts) { + this.parseString = __bind(this.parseString, this); + this.reset = __bind(this.reset, this); + this.assignOrPush = __bind(this.assignOrPush, this); + var key, value, _ref; + if (!(this instanceof exports.Parser)) { + return new exports.Parser(opts); + } + this.options = {}; + _ref = exports.defaults["0.2"]; + for (key in _ref) { + if (!__hasProp.call(_ref, key)) continue; + value = _ref[key]; + this.options[key] = value; + } + for (key in opts) { + if (!__hasProp.call(opts, key)) continue; + value = opts[key]; + this.options[key] = value; + } + if (this.options.xmlns) { + this.options.xmlnskey = this.options.attrkey + "ns"; + } + if (this.options.normalizeTags) { + if (!this.options.tagNameProcessors) { + this.options.tagNameProcessors = []; + } + this.options.tagNameProcessors.unshift(processors.normalize); + } + this.reset(); + } + + Parser.prototype.assignOrPush = function(obj, key, newValue) { + if (!(key in obj)) { + if (!this.options.explicitArray) { + return obj[key] = newValue; + } else { + return obj[key] = [newValue]; + } + } else { + if (!(obj[key] instanceof Array)) { + obj[key] = [obj[key]]; + } + return obj[key].push(newValue); + } + }; + + Parser.prototype.reset = function() { + var attrkey, charkey, ontext, stack; + this.removeAllListeners(); + this.saxParser = sax.parser(this.options.strict, { + trim: false, + normalize: false, + xmlns: this.options.xmlns + }); + this.saxParser.errThrown = false; + this.saxParser.onerror = (function(_this) { + return function(error) { + _this.saxParser.resume(); + if (!_this.saxParser.errThrown) { + _this.saxParser.errThrown = true; + return _this.emit("error", error); + } + }; + })(this); + this.saxParser.ended = false; + this.EXPLICIT_CHARKEY = this.options.explicitCharkey; + this.resultObject = null; + stack = []; + attrkey = this.options.attrkey; + charkey = this.options.charkey; + this.saxParser.onopentag = (function(_this) { + return function(node) { + var key, newValue, obj, processedKey, _ref; + obj = {}; + obj[charkey] = ""; + if (!_this.options.ignoreAttrs) { + _ref = node.attributes; + for (key in _ref) { + if (!__hasProp.call(_ref, key)) continue; + if (!(attrkey in obj) && !_this.options.mergeAttrs) { + obj[attrkey] = {}; + } + newValue = node.attributes[key]; + processedKey = _this.options.attrNameProcessors ? processName(_this.options.attrNameProcessors, key) : key; + if (_this.options.mergeAttrs) { + _this.assignOrPush(obj, processedKey, newValue); + } else { + obj[attrkey][processedKey] = newValue; + } + } + } + obj["#name"] = _this.options.tagNameProcessors ? processName(_this.options.tagNameProcessors, node.name) : node.name; + if (_this.options.xmlns) { + obj[_this.options.xmlnskey] = { + uri: node.uri, + local: node.local + }; + } + return stack.push(obj); + }; + })(this); + this.saxParser.onclosetag = (function(_this) { + return function() { + var cdata, emptyStr, err, node, nodeName, obj, old, s, xpath; + obj = stack.pop(); + nodeName = obj["#name"]; + delete obj["#name"]; + cdata = obj.cdata; + delete obj.cdata; + s = stack[stack.length - 1]; + if (obj[charkey].match(/^\s*$/) && !cdata) { + emptyStr = obj[charkey]; + delete obj[charkey]; + } else { + if (_this.options.trim) { + obj[charkey] = obj[charkey].trim(); + } + if (_this.options.normalize) { + obj[charkey] = obj[charkey].replace(/\s{2,}/g, " ").trim(); + } + if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) { + obj = obj[charkey]; + } + } + if (isEmpty(obj)) { + obj = _this.options.emptyTag !== void 0 ? _this.options.emptyTag : emptyStr; + } + if (_this.options.validator != null) { + xpath = "/" + ((function() { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = stack.length; _i < _len; _i++) { + node = stack[_i]; + _results.push(node["#name"]); + } + return _results; + })()).concat(nodeName).join("/"); + try { + obj = _this.options.validator(xpath, s && s[nodeName], obj); + } catch (_error) { + err = _error; + _this.emit("error", err); + } + } + if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') { + node = {}; + if (_this.options.attrkey in obj) { + node[_this.options.attrkey] = obj[_this.options.attrkey]; + delete obj[_this.options.attrkey]; + } + if (!_this.options.charsAsChildren && _this.options.charkey in obj) { + node[_this.options.charkey] = obj[_this.options.charkey]; + delete obj[_this.options.charkey]; + } + if (Object.getOwnPropertyNames(obj).length > 0) { + node[_this.options.childkey] = obj; + } + obj = node; + } + if (stack.length > 0) { + return _this.assignOrPush(s, nodeName, obj); + } else { + if (_this.options.explicitRoot) { + old = obj; + obj = {}; + obj[nodeName] = old; + } + _this.resultObject = obj; + _this.saxParser.ended = true; + return _this.emit("end", _this.resultObject); + } + }; + })(this); + ontext = (function(_this) { + return function(text) { + var s; + s = stack[stack.length - 1]; + if (s) { + s[charkey] += text; + return s; + } + }; + })(this); + this.saxParser.ontext = ontext; + return this.saxParser.oncdata = (function(_this) { + return function(text) { + var s; + s = ontext(text); + if (s) { + return s.cdata = true; + } + }; + })(this); + }; + + Parser.prototype.parseString = function(str, cb) { + var err; + if ((cb != null) && typeof cb === "function") { + this.on("end", function(result) { + this.reset(); + if (this.options.async) { + return process.nextTick(function() { + return cb(null, result); + }); + } else { + return cb(null, result); + } + }); + this.on("error", function(err) { + this.reset(); + if (this.options.async) { + return process.nextTick(function() { + return cb(err); + }); + } else { + return cb(err); + } + }); + } + if (str.toString().trim() === '') { + this.emit("end", null); + return true; + } + try { + return this.saxParser.write(bom.stripBOM(str.toString())).close(); + } catch (_error) { + err = _error; + if (!(this.saxParser.errThrown || this.saxParser.ended)) { + this.emit('error', err); + return this.saxParser.errThrown = true; + } + } + }; + + return Parser; + + })(events.EventEmitter); + + exports.parseString = function(str, a, b) { + var cb, options, parser; + if (b != null) { + if (typeof b === 'function') { + cb = b; + } + if (typeof a === 'object') { + options = a; + } + } else { + if (typeof a === 'function') { + cb = a; + } + options = {}; + } + parser = new exports.Parser(options); + return parser.parseString(str, cb); + }; + +}).call(this); diff --git a/node_modules/xml2js/package.json b/node_modules/xml2js/package.json new file mode 100644 index 000000000..f0a14d7cf --- /dev/null +++ b/node_modules/xml2js/package.json @@ -0,0 +1,63 @@ +{ + "name" : "xml2js", + "description" : "Simple XML to JavaScript object converter.", + "keywords" : ["xml", "json"], + "homepage" : "https://github.com/Leonidas-from-XIV/node-xml2js", + "version" : "0.4.4", + "author" : "Marek Kubica <marek@xivilization.net> (http://xivilization.net)", + "contributors" : [ + "maqr <maqr.lollerskates@gmail.com> (https://github.com/maqr)", + "Ben Weaver (http://benweaver.com/)", + "Jae Kwon (https://github.com/jaekwon)", + "Jim Robert", + "Ștefan Rusu (http://www.saltwaterc.eu/)", + "Carter Cole <carter.cole@cartercole.com> (http://cartercole.com/)", + "Kurt Raschke <kurt@kurtraschke.com> (http://www.kurtraschke.com/)", + "Contra <contra@australia.edu> (https://github.com/Contra)", + "Marcelo Diniz <marudiniz@gmail.com> (https://github.com/mdiniz)", + "Michael Hart (https://github.com/mhart)", + "Zachary Scott <zachary@zacharyscott.net> (http://zacharyscott.net/)", + "Raoul Millais (https://github.com/raoulmillais)", + "Salsita Software (http://www.salsitasoft.com/)", + "Mike Schilling <mike@emotive.com> (http://www.emotive.com/)", + "Jackson Tian <shyvo1987@gmail.com> (http://weibo.com/shyvo)", + "Mikhail Zyatin <mikhail.zyatin@gmail.com> (https://github.com/Sitin)", + "Chris Tavares <ctavares@microsoft.com> (https://github.com/christav)", + "Frank Xu <yyfrankyy@gmail.com> (http://f2e.us/)", + "Guido D'Albore <guido@bitstorm.it> (http://www.bitstorm.it/)", + "Jack Senechal (http://jacksenechal.com/)", + "Matthias Hölzl <tc@xantira.com> (https://github.com/hoelzl)", + "Camille Reynders <info@creynders.be> (http://www.creynders.be/)", + "Taylor Gautier (https://github.com/tsgautier)", + "Todd Bryan (https://github.com/toddrbryan)", + "Leore Avidar <leore.avidar@gmail.com> (http://leoreavidar.com/)", + "Dave Aitken <dave.aitken@gmail.com> (http://www.actionshrimp.com/)" + ], + "main" : "./lib/xml2js", + "directories" : { + "lib": "./lib" + }, + "scripts" : { + "test": "zap" + }, + "repository" : { + "type" : "git", + "url" : "https://github.com/Leonidas-from-XIV/node-xml2js.git" + }, + "dependencies" : { + "sax" : "0.6.x", + "xmlbuilder" : ">=1.0.0" + }, + "devDependencies" : { + "coffee-script" : ">=1.7.1", + "zap" : ">=0.2.6", + "docco" : ">=0.6.2", + "diff" : ">=1.0.8" + }, + "licenses": [ + { + "type": "MIT", + "url": "https://raw.github.com/Leonidas-from-XIV/node-xml2js/master/LICENSE" + } + ] +} diff --git a/node_modules/xml2js/text.coffee b/node_modules/xml2js/text.coffee new file mode 100644 index 000000000..c5d8c66d9 --- /dev/null +++ b/node_modules/xml2js/text.coffee @@ -0,0 +1,11 @@ +fs = require 'fs' +xml2js = require 'xml2js' + +parser = new xml2js.Parser + +fs.readFile 'canon.xml', (err, data) -> + console.log err + parser.parseString (err, result) -> + console.log err + console.dir result + diff --git a/node_modules/xml2js/text.xml b/node_modules/xml2js/text.xml new file mode 100644 index 000000000..bd3b482a4 --- /dev/null +++ b/node_modules/xml2js/text.xml @@ -0,0 +1,485 @@ +<?xml version="1.0"?> + <!DOCTYPE GBSet PUBLIC "-//NCBI//NCBI GBSeq/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_GBSeq.dtd"> + <GBSet> +<GBSeq> + <GBSeq_locus>AF485783</GBSeq_locus> + <GBSeq_length>14758</GBSeq_length> + <GBSeq_strandedness>double</GBSeq_strandedness> + <GBSeq_moltype>DNA</GBSeq_moltype> + <GBSeq_topology>circular</GBSeq_topology> + <GBSeq_division>SYN</GBSeq_division> + <GBSeq_update-date>15-MAY-2003</GBSeq_update-date> + <GBSeq_create-date>21-MAR-2002</GBSeq_create-date> + <GBSeq_definition>Binary vector pBI121, complete sequence</GBSeq_definition> + <GBSeq_primary-accession>AF485783</GBSeq_primary-accession> + <GBSeq_accession-version>AF485783.1</GBSeq_accession-version> + <GBSeq_other-seqids> + <GBSeqid>gb|AF485783.1|</GBSeqid> + <GBSeqid>gi|19569229</GBSeqid> + </GBSeq_other-seqids> + <GBSeq_source>Binary vector pBI121</GBSeq_source> + <GBSeq_organism>Binary vector pBI121</GBSeq_organism> + <GBSeq_taxonomy>other sequences; artificial sequences; vectors</GBSeq_taxonomy> + <GBSeq_references> + <GBReference> + <GBReference_reference>1</GBReference_reference> + <GBReference_position>1..14758</GBReference_position> + <GBReference_authors> + <GBAuthor>Chen,P.Y.</GBAuthor> + <GBAuthor>Wang,C.K.</GBAuthor> + <GBAuthor>Soong,S.C.</GBAuthor> + <GBAuthor>To,K.Y.</GBAuthor> + </GBReference_authors> + <GBReference_title>Complete sequence of the binary vector pBI121 and its application in cloning T-DNA insertion from transgenic plants</GBReference_title> + <GBReference_journal>Mol. Breed. 11, 287-293 (2003)</GBReference_journal> + </GBReference> + <GBReference> + <GBReference_reference>2</GBReference_reference> + <GBReference_position>1..14758</GBReference_position> + <GBReference_authors> + <GBAuthor>To,K.Y.</GBAuthor> + </GBReference_authors> + <GBReference_title>Direct Submission</GBReference_title> + <GBReference_journal>Submitted (20-FEB-2002) Institute of BioAgricultural Sciences, Academia Sinica, Taipei 11529, Taiwan</GBReference_journal> + </GBReference> + </GBSeq_references> + <GBSeq_feature-table> + <GBFeature> + <GBFeature_key>source</GBFeature_key> + <GBFeature_location>1..14758</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>1</GBInterval_from> + <GBInterval_to>14758</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>organism</GBQualifier_name> + <GBQualifier_value>Binary vector pBI121</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>mol_type</GBQualifier_name> + <GBQualifier_value>genomic DNA</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>taxon:189807</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>constructed using pB221 from Clontech Laboratories and Bin19 described in GenBank Accession Number U09365</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13..796)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>796</GBInterval_from> + <GBInterval_to>13</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to traF in GenBank Accession Number X54459</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>rep_origin</GBFeature_key> + <GBFeature_location>complement(790..1168)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>1168</GBInterval_from> + <GBInterval_to>790</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>ColE1 ori; similar to sequence in GenBank Accession Number V00268</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(1161..2344)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2344</GBInterval_from> + <GBInterval_to>1161</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to tetA in GenBank Accession Number X75761</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(2454..2478)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2478</GBInterval_from> + <GBInterval_to>2454</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>T-DNA right border</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>promoter</GBFeature_key> + <GBFeature_location>2519..2825</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2519</GBInterval_from> + <GBInterval_to>2825</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>gene</GBFeature_key> + <GBFeature_location>2838..3632</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2838</GBInterval_from> + <GBInterval_to>3632</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>nptII</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>CDS</GBFeature_key> + <GBFeature_location>2838..3632</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>2838</GBInterval_from> + <GBInterval_to>3632</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>nptII</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>codon_start</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>transl_table</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>product</GBQualifier_name> + <GBQualifier_value>neomycin phosphotransferase II</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>protein_id</GBQualifier_name> + <GBQualifier_value>AAL92039.1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>GI:19569230</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>translation</GBQualifier_name> + <GBQualifier_value>MIEQDGLHAGSPAAWVERLFGYDWAQQTIGCSDAAVFRLSAQGRPVLFVKTDLSGALNELQDEAARLSWLATTGVPCAAVLDVVTEAGRDWLLLGEVPGQDLLSSHLAPAEKVSIMADAMRRLHTLDPATCPFDHQAKHRIERARTRMEAGLVDQDDLDEEHQGLAPAELFARLKARMPDGDDLVVTHGDACLPNIMVENGRFSGFIDCGRLGVADRYQDIALATRDIAEELGGEWADRFLVLYGIAAPDSQRIAFYRLLDEFF</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>terminator</GBFeature_key> + <GBFeature_location>4022..4277</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>4022</GBInterval_from> + <GBInterval_to>4277</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>promoter</GBFeature_key> + <GBFeature_location>4974..5808</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>4974</GBInterval_from> + <GBInterval_to>5808</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>CaMV 35S</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>gene</GBFeature_key> + <GBFeature_location>5845..7656</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>5845</GBInterval_from> + <GBInterval_to>7656</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>gusA</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>CDS</GBFeature_key> + <GBFeature_location>5845..7656</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>5845</GBInterval_from> + <GBInterval_to>7656</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>gene</GBQualifier_name> + <GBQualifier_value>gusA</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>GUS</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>codon_start</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>transl_table</GBQualifier_name> + <GBQualifier_value>1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>product</GBQualifier_name> + <GBQualifier_value>beta-glucuronidase</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>protein_id</GBQualifier_name> + <GBQualifier_value>AAL92040.1</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>db_xref</GBQualifier_name> + <GBQualifier_value>GI:19569231</GBQualifier_value> + </GBQualifier> + <GBQualifier> + <GBQualifier_name>translation</GBQualifier_name> + <GBQualifier_value>MLRPVETPTREIKKLDGLWAFSLDRENCGIDQRWWESALQESRAIAVPGSFNDQFADADIRNYAGNVWYQREVFIPKGWAGQRIVLRFDAVTHYGKVWVNNQEVMEHQGGYTPFEADVTPYVIAGKSVRITVCVNNELNWQTIPPGMVITDENGKKKQSYFHDFFNYAGIHRSVMLYTTPNTWVDDITVVTHVAQDCNHASVDWQVVANGDVSVELRDADQQVVATGQGTSGTLQVVNPHLWQPGEGYLYELCVTAKSQTECDIYPLRVGIRSVAVKGEQFLINHKPFYFTGFGRHEDADLRGKGFDNVLMVHDHALMDWIGANSYRTSHYPYAEEMLDWADEHGIVVIDETAAVGFNLSLGIGFEAGNKPKELYSEEAVNGETQQAHLQAIKELIARDKNHPSVVMWSIANEPDTRPQGAREYFAPLAEATRKLDPTRPITCVNVMFCDAHTDTISDLFDVLCLNRYYGWYVQSGDLETAEKVLEKELLAWQEKLHQPIIITEYGVDTLAGLHSMYTDMWSEEYQCAWLDMYHRVFDRVSAVVGEQVWNFADFATSQGILRVGGNKKGIFTRDRKPKSAAFLLQKRWTGMNFGEKPQQGGKQ</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>terminator</GBFeature_key> + <GBFeature_location>7727..7979</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>7727</GBInterval_from> + <GBInterval_to>7979</GBInterval_to> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>NOS</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(8621..8646)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>8646</GBInterval_from> + <GBInterval_to>8621</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>T-DNA left border</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(9156..10198)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>10198</GBInterval_from> + <GBInterval_to>9156</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to tetA in GenBank Accession Number L13842</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(10199..11680)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>11680</GBInterval_from> + <GBInterval_to>10199</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to trfA in GenBank Accession Number X00713</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(11681..12673)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>12673</GBInterval_from> + <GBInterval_to>11681</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to NPTIII gene in GenBank Accession Number V01547</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(12674..13443)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>13443</GBInterval_from> + <GBInterval_to>12674</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to transposable element IS1 in GenBank Accession Number X58999</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13444..13794)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>13794</GBInterval_from> + <GBInterval_to>13444</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similarity to NPT III gene in GenBank Accession Number V01547</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>misc_feature</GBFeature_key> + <GBFeature_location>complement(13795..14066)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>14066</GBInterval_from> + <GBInterval_to>13795</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>similar to kilA in GenBank Accession Number M62846</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + <GBFeature> + <GBFeature_key>rep_origin</GBFeature_key> + <GBFeature_location>complement(14141..14758)</GBFeature_location> + <GBFeature_intervals> + <GBInterval> + <GBInterval_from>14758</GBInterval_from> + <GBInterval_to>14141</GBInterval_to> + <GBInterval_iscomp value="true"/> + <GBInterval_accession>AF485783.1</GBInterval_accession> + </GBInterval> + </GBFeature_intervals> + <GBFeature_quals> + <GBQualifier> + <GBQualifier_name>note</GBQualifier_name> + <GBQualifier_value>ori V; similar to sequence in GenBank Accession Number M20134</GBQualifier_value> + </GBQualifier> + </GBFeature_quals> + </GBFeature> + </GBSeq_feature-table> + <GBSeq_sequence>tgagcgtcgcaaaggcgctcggtcttgccttgctcgtcggtgatgtacttcaccagctccgcgaagtcgctcttcttgatggagcgcatggggacgtgcttggcaatcacgcgcaccccccggccgttttagcggctaaaaaagtcatggctctgccctcgggcggaccacgcccatcatgaccttgccaagctcgtcctgcttctcttcgatcttcgccagcagggcgaggatcgtggcatcaccgaaccgcgccgtgcgcgggtcgtcggtgagccagagtttcagcaggccgcccaggcggcccaggtcgccattgatgcgggccagctcgcggacgtgctcatagtccacgacgcccgtgattttgtagccctggccgacggccagcaggtaggccgacaggctcatgccggccgccgccgccttttcctcaatcgctcttcgttcgtctggaaggcagtacaccttgataggtgggctgcccttcctggttggcttggtttcatcagccatccgcttgccctcatctgttacgccggcggtagccggccagcctcgcagagcaggattcccgttgagcaccgccaggtgcgaataagggacagtgaagaaggaacacccgctcgcgggtgggcctacttcacctatcctgcccggctgacgccgttggatacaccaaggaaagtctacacgaaccctttggcaaaatcctgtatatcgtgcgaaaaaggatggatataccgaaaaaatcgctataatgaccccgaagcagggttatgcagcggaaaagcgccacgcttcccgaagggagaaaggcggacaggtatccggtaagcggcagggtcggaacaggagagcgcacgagggagcttccagggggaaacgcctggtatctttatagtcctgtcgggtttcgccacctctgacttgagcgtcgatttttgtgatgctcgtcaggggggcggagcctatggaaaaacgccagcaacgcggcctttttacggttcctggccttttgctggccttttgctcacatgttctttcctgcgttatcccctgattctgtggataaccgtattaccgcctttgagtgagctgataccgctcgccgcagccgaacgaccgagcgcagcgagtcagtgagcgaggaagcggaagagcgccagaaggccgccagagaggccgagcgcggccgtgaggcttggacgctagggcagggcatgaaaaagcccgtagcgggctgctacgggcgtctgacgcggtggaaagggggaggggatgttgtctacatggctctgctgtagtgagtgggttgcgctccggcagcggtcctgatcaatcgtcaccctttctcggtccttcaacgttcctgacaacgagcctccttttcgccaatccatcgacaatcaccgcgagtccctgctcgaacgctgcgtccggaccggcttcgtcgaaggcgtctatcgcggcccgcaacagcggcgagagcggagcctgttcaacggtgccgccgcgctcgccggcatcgctgtcgccggcctgctcctcaagcacggccccaacagtgaagtagctgattgtcatcagcgcattgacggcgtccccggccgaaaaacccgcctcgcagaggaagcgaagctgcgcgtcggccgtttccatctgcggtgcgcccggtcgcgtgccggcatggatgcgcgcgccatcgcggtaggcgagcagcgcctgcctgaagctgcgggcattcccgatcagaaatgagcgccagtcgtcgtcggctctcggcaccgaatgcgtatgattctccgccagcatggcttcggccagtgcgtcgagcagcgcccgcttgttcctgaagtgccagtaaagcgccggctgctgaacccccaaccgttccgccagtttgcgtgtcgtcagaccgtctacgccgacctcgttcaacaggtccagggcggcacggatcactgtattcggctgcaactttgtcatgcttgacactttatcactgataaacataatatgtccaccaacttatcagtgataaagaatccgcgcgttcaatcggaccagcggaggctggtccggaggccagacgtgaaacccaacatacccctgatcgtaattctgagcactgtcgcgctcgacgctgtcggcatcggcctgattatgccggtgctgccgggcctcctgcgcgatctggttcactcgaacgacgtcaccgcccactatggcattctgctggcgctgtatgcgttggtgcaatttgcctgcgcacctgtgctgggcgcgctgtcggatcgtttcgggcggcggccaatcttgctcgtctcgctggccggcgccagatctggggaaccctgtggttggcatgcacatacaaatggacgaacggataaaccttttcacgcccttttaaatatccgattattctaataaacgctcttttctcttaggtttacccgccaatatatcctgtcaaacactgatagtttaaactgaaggcgggaaacgacaatctgatcatgagcggagaattaagggagtcacgttatgacccccgccgatgacgcgggacaagccgttttacgtttggaactgacagaaccgcaacgttgaaggagccactcagccgcgggtttctggagtttaatgagctaagcacatacgtcagaaaccattattgcgcgttcaaaagtcgcctaaggtcactatcagctagcaaatatttcttgtcaaaaatgctccactgacgttccataaattcccctcggtatccaattagagtctcatattcactctcaatccaaataatctgcaccggatctggatcgtttcgcatgattgaacaagatggattgcacgcaggttctccggccgcttgggtggagaggctattcggctatgactgggcacaacagacaatcggctgctctgatgccgccgtgttccggctgtcagcgcaggggcgcccggttctttttgtcaagaccgacctgtccggtgccctgaatgaactgcaggacgaggcagcgcggctatcgtggctggccacgacgggcgttccttgcgcagctgtgctcgacgttgtcactgaagcgggaagggactggctgctattgggcgaagtgccggggcaggatctcctgtcatctcaccttgctcctgccgagaaagtatccatcatggctgatgcaatgcggcggctgcatacgcttgatccggctacctgcccattcgaccaccaagcgaaacatcgcatcgagcgagcacgtactcggatggaagccggtcttgtcgatcaggatgatctggacgaagagcatcaggggctcgcgccagccgaactgttcgccaggctcaaggcgcgcatgcccgacggcgatgatctcgtcgtgacccatggcgatgcctgcttgccgaatatcatggtggaaaatggccgcttttctggattcatcgactgtggccggctgggtgtggcggaccgctatcaggacatagcgttggctacccgtgatattgctgaagagcttggcggcgaatgggctgaccgcttcctcgtgctttacggtatcgccgctcccgattcgcagcgcatcgccttctatcgccttcttgacgagttcttctgagcgggactctggggttcgaaatgaccgaccaagcgacgcccaacctgccatcacgagatttcgattccaccgccgccttctatgaaaggttgggcttcggaatcgttttccgggacgccggctggatgatcctccagcgcggggatctcatgctggagttcttcgcccacgggatctctgcggaacaggcggtcgaaggtgccgatatcattacgacagcaacggccgacaagcacaacgccacgatcctgagcgacaatatgatcgggcccggcgtccacatcaacggcgtcggcggcgactgcccaggcaagaccgagatgcaccgcgatatcttgctgcgttcggatattttcgtggagttcccgccacagacccggatgatccccgatcgttcaaacatttggcaataaagtttcttaagattgaatcctgttgccggtcttgcgatgattatcatataatttctgttgaattacgttaagcatgtaataattaacatgtaatgcatgacgttatttatgagatgggtttttatgattagagtcccgcaattatacatttaatacgcgatagaaaacaaaatatagcgcgcaaactaggataaattatcgcgcgcggtgtcatctatgttactagatcgggcctcctgtcaatgctggcggcggctctggtggtggttctggtggcggctctgagggtggtggctctgagggtggcggttctgagggtggcggctctgagggaggcggttccggtggtggctctggttccggtgattttgattatgaaaagatggcaaacgctaataagggggctatgaccgaaaatgccgatgaaaacgcgctacagtctgacgctaaaggcaaacttgattctgtcgctactgattacggtgctgctatcgatggtttcattggtgacgtttccggccttgctaatggtaatggtgctactggtgattttgctggctctaattcccaaatggctcaagtcggtgacggtgataattcacctttaatgaataatttccgtcaatatttaccttccctccctcaatcggttgaatgtcgcccttttgtctttggcccaatacgcaaaccgcctctccccgcgcgttggccgattcattaatgcagctggcacgacaggtttcccgactggaaagcgggcagtgagcgcaacgcaattaatgtgagttagctcactcattaggcaccccaggctttacactttatgcttccggctcgtatgttgtgtggaattgtgagcggataacaatttcacacaggaaacagctatgaccatgattacgccaagcttgcatgcctgcaggtccccagattagccttttcaatttcagaaagaatgctaacccacagatggttagagaggcttacgcagcaggtctcatcaagacgatctacccgagcaataatctccaggaaatcaaataccttcccaagaaggttaaagatgcagtcaaaagattcaggactaactgcatcaagaacacagagaaagatatatttctcaagatcagaagtactattccagtatggacgattcaaggcttgcttcacaaaccaaggcaagtaatagagattggagtctctaaaaaggtagttcccactgaatcaaaggccatggagtcaaagattcaaatagaggacctaacagaactcgccgtaaagactggcgaacagttcatacagagtctcttacgactcaatgacaagaagaaaatcttcgtcaacatggtggagcacgacacacttgtctactccaaaaatatcaaagatacagtctcagaagaccaaagggcaattgagacttttcaacaaagggtaatatccggaaacctcctcggattccattgcccagctatctgtcactttattgtgaagatagtggaaaaggaaggtggctcctacaaatgccatcattgcgataaaggaaaggccatcgttgaagatgcctctgccgacagtggtcccaaagatggacccccacccacgaggagcatcgtggaaaaagaagacgttccaaccacgtcttcaaagcaagtggattgatgtgatatctccactgacgtaagggatgacgcacaatcccactatccttcgcaagacccttcctctatataaggaagttcatttcatttggagagaacacgggggactctagaggatccccgggtggtcagtcccttatgttacgtcctgtagaaaccccaacccgtgaaatcaaaaaactcgacggcctgtgggcattcagtctggatcgcgaaaactgtggaattgatcagcgttggtgggaaagcgcgttacaagaaagccgggcaattgctgtgccaggcagttttaacgatcagttcgccgatgcagatattcgtaattatgcgggcaacgtctggtatcagcgcgaagtctttataccgaaaggttgggcaggccagcgtatcgtgctgcgtttcgatgcggtcactcattacggcaaagtgtgggtcaataatcaggaagtgatggagcatcagggcggctatacgccatttgaagccgatgtcacgccgtatgttattgccgggaaaagtgtacgtatcaccgtttgtgtgaacaacgaactgaactggcagactatcccgccgggaatggtgattaccgacgaaaacggcaagaaaaagcagtcttacttccatgatttctttaactatgccggaatccatcgcagcgtaatgctctacaccacgccgaacacctgggtggacgatatcaccgtggtgacgcatgtcgcgcaagactgtaaccacgcgtctgttgactggcaggtggtggccaatggtgatgtcagcgttgaactgcgtgatgcggatcaacaggtggttgcaactggacaaggcactagcgggactttgcaagtggtgaatccgcacctctggcaaccgggtgaaggttatctctatgaactgtgcgtcacagccaaaagccagacagagtgtgatatctacccgcttcgcgtcggcatccggtcagtggcagtgaagggcgaacagttcctgattaaccacaaaccgttctactttactggctttggtcgtcatgaagatgcggacttgcgtggcaaaggattcgataacgtgctgatggtgcacgaccacgcattaatggactggattggggccaactcctaccgtacctcgcattacccttacgctgaagagatgctcgactgggcagatgaacatggcatcgtggtgattgatgaaactgctgctgtcggctttaacctctctttaggcattggtttcgaagcgggcaacaagccgaaagaactgtacagcgaagaggcagtcaacggggaaactcagcaagcgcacttacaggcgattaaagagctgatagcgcgtgacaaaaaccacccaagcgtggtgatgtggagtattgccaacgaaccggatacccgtccgcaaggtgcacgggaatatttcgcgccactggcggaagcaacgcgtaaactcgacccgacgcgtccgatcacctgcgtcaatgtaatgttctgcgacgctcacaccgataccatcagcgatctctttgatgtgctgtgcctgaaccgttattacggatggtatgtccaaagcggcgatttggaaacggcagagaaggtactggaaaaagaacttctggcctggcaggagaaactgcatcagccgattatcatcaccgaatacggcgtggatacgttagccgggctgcactcaatgtacaccgacatgtggagtgaagagtatcagtgtgcatggctggatatgtatcaccgcgtctttgatcgcgtcagcgccgtcgtcggtgaacaggtatggaatttcgccgattttgcgacctcgcaaggcatattgcgcgttggcggtaacaagaaagggatcttcactcgcgaccgcaaaccgaagtcggcggcttttctgctgcaaaaacgctggactggcatgaacttcggtgaaaaaccgcagcagggaggcaaacaatgaatcaacaactctcctggcgcaccatcgtcggctacagcctcgggaattgctaccgagctcgaatttccccgatcgttcaaacatttggcaataaagtttcttaagattgaatcctgttgccggtcttgcgatgattatcatataatttctgttgaattacgttaagcatgtaataattaacatgtaatgcatgacgttatttatgagatgggtttttatgattagagtcccgcaattatacatttaatacgcgatagaaaacaaaatatagcgcgcaaactaggataaattatcgcgcgcggtgtcatctatgttactagatcgggaattcactggccgtcgttttacaacgtcgtgactgggaaaaccctggcgttacccaacttaatcgccttgcagcacatccccctttcgccagctggcgtaatagcgaagaggcccgcaccgatcgcccttcccaacagttgcgcagcctgaatggcgcccgctcctttcgctttcttcccttcctttctcgccacgttcgccggctttccccgtcaagctctaaatcgggggctccctttagggttccgatttagtgctttacggcacctcgaccccaaaaaacttgatttgggtgatggttcacgtagtgggccatcgccctgatagacggtttttcgccctttgacgttggagtccacgttctttaatagtggactcttgttccaaactggaacaacactcaaccctatctcgggctattcttttgatttataagggattttgccgatttcggaaccaccatcaaacaggattttcgcctgctggggcaaaccagcgtggaccgcttgctgcaactctctcagggccaggcggtgaagggcaatcagctgttgcccgtctcactggtgaaaagaaaaaccaccccagtacattaaaaacgtccgcaatgtgttattaagttgtctaagcgtcaatttgtttacaccacaatatatcctgccaccagccagccaacagctccccgaccggcagctcggcacaaaatcaccactcgatacaggcagcccatcagtccgggacggcgtcagcgggagagccgttgtaaggcggcagactttgctcatgttaccgatgctattcggaagaacggcaactaagctgccgggtttgaaacacggatgatctcgcggagggtagcatgttgattgtaacgatgacagagcgttgctgcctgtgatcaaatatcatctccctcgcagagatccgaattatcagccttcttattcatttctcgcttaaccgtgacaggctgtcgatcttgagaactatgccgacataataggaaatcgctggataaagccgctgaggaagctgagtggcgctatttctttagaagtgaacgttgacgatatcaactcccctatccattgctcaccgaatggtacaggtcggggacccgaagttccgactgtcggcctgatgcatccccggctgatcgaccccagatctggggctgagaaagcccagtaaggaaacaactgtaggttcgagtcgcgagatcccccggaaccaaaggaagtaggttaaacccgctccgatcaggccgagccacgccaggccgagaacattggttcctgtaggcatcgggattggcggatcaaacactaaagctactggaacgagcagaagtcctccggccgccagttgccaggcggtaaaggtgagcagaggcacgggaggttgccacttgcgggtcagcacggttccgaacgccatggaaaccgcccccgccaggcccgctgcgacgccgacaggatctagcgctgcgtttggtgtcaacaccaacagcgccacgcccgcagttccgcaaatagcccccaggaccgccatcaatcgtatcgggctacctagcagagcggcagagatgaacacgaccatcagcggctgcacagcgcctaccgtcgccgcgaccccgcccggcaggcggtagaccgaaataaacaacaagctccagaatagcgaaatattaagtgcgccgaggatgaagatgcgcatccaccagattcccgttggaatctgtcggacgatcatcacgagcaataaacccgccggcaacgcccgcagcagcataccggcgacccctcggcctcgctgttcgggctccacgaaaacgccggacagatgcgccttgtgagcgtccttggggccgtcctcctgtttgaagaccgacagcccaatgatctcgccgtcgatgtaggcgccgaatgccacggcatctcgcaaccgttcagcgaacgcctccatgggctttttctcctcgtgctcgtaaacggacccgaacatctctggagctttcttcagggccgacaatcggatctcgcggaaatcctgcacgtcggccgctccaagccgtcgaatctgagccttaatcacaattgtcaattttaatcctctgtttatcggcagttcgtagagcgcgccgtgcgtcccgagcgatactgagcgaagcaagtgcgtcgagcagtgcccgcttgttcctgaaatgccagtaaagcgctggctgctgaacccccagccggaactgaccccacaaggccctagcgtttgcaatgcaccaggtcatcattgacccaggcgtgttccaccaggccgctgcctcgcaactcttcgcaggcttcgccgacctgctcgcgccacttcttcacgcgggtggaatccgatccgcacatgaggcggaaggtttccagcttgagcgggtacggctcccggtgcgagctgaaatagtcgaacatccgtcgggccgtcggcgacagcttgcggtacttctcccatatgaatttcgtgtagtggtcgccagcaaacagcacgacgatttcctcgtcgatcaggacctggcaacgggacgttttcttgccacggtccaggacgcggaagcggtgcagcagcgacaccgattccaggtgcccaacgcggtcggacgtgaagcccatcgccgtcgcctgtaggcgcgacaggcattcctcggccttcgtgtaataccggccattgatcgaccagcccaggtcctggcaaagctcgtagaacgtgaaggtgatcggctcgccgataggggtgcgcttcgcgtactccaacacctgctgccacaccagttcgtcatcgtcggcccgcagctcgacgccggtgtaggtgatcttcacgtccttgttgacgtggaaaatgaccttgttttgcagcgcctcgcgcgggattttcttgttgcgcgtggtgaacagggcagagcgggccgtgtcgtttggcatcgctcgcatcgtgtccggccacggcgcaatatcgaacaaggaaagctgcatttccttgatctgctgcttcgtgtgtttcagcaacgcggcctgcttggcctcgctgacctgttttgccaggtcctcgccggcggtttttcgcttcttggtcgtcatagttcctcgcgtgtcgatggtcatcgacttcgccaaacctgccgcctcctgttcgagacgacgcgaacgctccacggcggccgatggcgcgggcagggcagggggagccagttgcacgctgtcgcgctcgatcttggccgtagcttgctggaccatcgagccgacggactggaaggtttcgcggggcgcacgcatgacggtgcggcttgcgatggtttcggcatcctcggcggaaaaccccgcgtcgatcagttcttgcctgtatgccttccggtcaaacgtccgattcattcaccctccttgcgggattgccccgactcacgccggggcaatgtgcccttattcctgatttgacccgcctggtgccttggtgtccagataatccaccttatcggcaatgaagtcggtcccgtagaccgtctggccgtccttctcgtacttggtattccgaatcttgccctgcacgaataccagcgaccccttgcccaaatacttgccgtgggcctcggcctgagagccaaaacacttgatgcggaagaagtcggtgcgctcctgcttgtcgccggcatcgttgcgccacatctaggtactaaaacaattcatccagtaaaatataatattttattttctcccaatcaggcttgatccccagtaagtcaaaaaatagctcgacatactgttcttccccgatatcctccctgatcgaccggacgcagaaggcaatgtcataccacttgtccgccctgccgcttctcccaagatcaataaagccacttactttgccatctttcacaaagatgttgctgtctcccaggtcgccgtgggaaaagacaagttcctcttcgggcttttccgtctttaaaaaatcatacagctcgcgcggatctttaaatggagtgtcttcttcccagttttcgcaatccacatcggccagatcgttattcagtaagtaatccaattcggctaagcggctgtctaagctattcgtatagggacaatccgatatgtcgatggagtgaaagagcctgatgcactccgcatacagctcgataatcttttcagggctttgttcatcttcatactcttccgagcaaaggacgccatcggcctcactcatgagcagattgctccagccatcatgccgttcaaagtgcaggacctttggaacaggcagctttccttccagccatagcatcatgtccttttcccgttccacatcataggtggtccctttataccggctgtccgtcatttttaaatataggttttcattttctcccaccagcttatataccttagcaggagacattccttccgtatcttttacgcagcggtatttttcgatcagttttttcaattccggtgatattctcattttagccatttattatttccttcctcttttctacagtatttaaagataccccaagaagctaattataacaagacgaactccaattcactgttccttgcattctaaaaccttaaataccagaaaacagctttttcaaagttgttttcaaagttggcgtataacatagtatcgacggagccgattttgaaaccacaattatgggtgatgctgccaacttactgatttagtgtatgatggtgtttttgaggtgctccagtggcttctgtgtctatcagctgtccctcctgttcagctactgacggggtggtgcgtaacggcaaaagcaccgccggacatcagcgctatctctgctctcactgccgtaaaacatggcaactgcagttcacttacaccgcttctcaacccggtacgcaccagaaaatcattgatatggccatgaatggcgttggatgccgggcaacagcccgcattatgggcgttggcctcaacacgattttacgtcacttaaaaaactcaggccgcagtcggtaacctcgcgcatacagccgggcagtgacgtcatcgtctgcgcggaaatggacgaacagtggggctatgtcggggctaaatcgcgccagcgctggctgttttacgcgtatgacagtctccggaagacggttgttgcgcacgtattcggtgaacgcactatggcgacgctggggcgtcttatgagcctgctgtcaccctttgacgtggtgatatggatgacggatggctggccgctgtatgaatcccgcctgaagggaaagctgcacgtaatcagcaagcgatatacgcagcgaattgagcggcataacctgaatctgaggcagcacctggcacggctgggacggaagtcgctgtcgttctcaaaatcggtggagctgcatgacaaagtcatcgggcattatctgaacataaaacactatcaataagttggagtcattacccaattatgatagaatttacaagctataaggttattgtcctgggtttcaagcattagtccatgcaagtttttatgctttgcccattctatagatatattgataagcgcgctgcctatgccttgccccctgaaatccttacatacggcgatatcttctatataaaagatatattatcttatcagtattgtcaatatattcaaggcaatctgcctcctcatcctcttcatcctcttcgtcttggtagctttttaaatatggcgcttcatagagtaattctgtaaaggtccaattctcgttttcatacctcggtataatcttacctatcacctcaaatggttcgctgggtttatcgcacccccgaacacgagcacggcacccgcgaccactatgccaagaatgcccaaggtaaaaattgccggccccgccatgaagtccgtgaatgccccgacggccgaagtgaagggcaggccgccacccaggccgccgccctcactgcccggcacctggtcgctgaatgtcgatgccagcacctgcggcacgtcaatgcttccgggcgtcgcgctcgggctgatcgcccatcccgttactgccccgatcccggcaatggcaaggactgccagcgctgccatttttggggtgaggccgttcgcggccgaggggcgcagcccctggggggatgggaggcccgcgttagcgggccgggagggttcgagaagggggggcaccccccttcggcgtgcgcggtcacgcgcacagggcgcagccctggttaaaaacaaggtttataaatattggtttaaaagcaggttaaaagacaggttagcggtggccgaaaaacgggcggaaacccttgcaaatgctggattttctgcctgtggacagcccctcaaatgtcaataggtgcgcccctcatctgtcagcactctgcccctcaagtgtcaaggatcgcgcccctcatctgtcagtagtcgcgcccctcaagtgtcaataccgcagggcacttatccccaggcttgtccacatcatctgtgggaaactcgcgtaaaatcaggcgttttcgccgatttgcgaggctggccagctccacgtcgccggccgaaatcgagcctgcccctcatctgtcaacgccgcgccgggtgagtcggcccctcaagtgtcaacgtccgcccctcatctgtcagtgagggccaagttttccgcgaggtatccacaacgccggcggccgcggtgtctcgcacacggcttcgacggcgtttctggcgcgtttgcagggccatagacggccgccagcccagcggcgagggcaaccagcccgg</GBSeq_sequence> +</GBSeq> + +</GBSet> + diff --git a/node_modules/xml2js/x.js b/node_modules/xml2js/x.js new file mode 100644 index 000000000..b51ce5704 --- /dev/null +++ b/node_modules/xml2js/x.js @@ -0,0 +1,24 @@ +var util = require('util'); +var xml2js = require('xml2js'); + +var myxml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> \ +<Items> \ + <Item> \ + <id>1</id> \ + <color>green</color> \ + </Item> \ + <Item> \ + <id>2</id> \ + <color>red</color> \ + </Item> \ + <Item> \ + <id>3</id> \ + <color>yellow</color> \ + </Item> \ +</Items>" + +xml2js.parseString(myxml, function (e, r) { + console.log(util.inspect(r, false, null)); + console.log(new xml2js.Builder().buildObject(r)); +}); + |