@teselagen/bio-parsers 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fastaToJson.d.ts +1 -1
- package/index.js +88 -73
- package/index.mjs +88 -73
- package/index.umd.js +87 -72
- package/package.json +1 -1
- package/src/anyToJson.js +1 -1
- package/src/fastaToJson.js +12 -7
- package/src/utils/validateSequence.js +6 -1
package/index.mjs
CHANGED
|
@@ -39,6 +39,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
39
39
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
+
var _a, _b;
|
|
42
43
|
const untitledSequenceName = "Untitled Sequence";
|
|
43
44
|
const gbDivisions = {
|
|
44
45
|
// https://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html#GenBankDivisionB
|
|
@@ -94,6 +95,19 @@ function createInitialSequence(options) {
|
|
|
94
95
|
};
|
|
95
96
|
}
|
|
96
97
|
__name(createInitialSequence, "createInitialSequence");
|
|
98
|
+
function extractFileExtension(name) {
|
|
99
|
+
if (typeof name === "string") {
|
|
100
|
+
let ext = "";
|
|
101
|
+
const match = name.match(/\.(\w+)$/);
|
|
102
|
+
if (match && match[1]) {
|
|
103
|
+
ext = match[1];
|
|
104
|
+
}
|
|
105
|
+
return ext;
|
|
106
|
+
} else {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
__name(extractFileExtension, "extractFileExtension");
|
|
97
111
|
function splitStringIntoLines(string) {
|
|
98
112
|
let lines = [];
|
|
99
113
|
if (string === "") {
|
|
@@ -119,10 +133,7 @@ function getAugmentedNamespace(n) {
|
|
|
119
133
|
if (typeof f == "function") {
|
|
120
134
|
var a = /* @__PURE__ */ __name(function a2() {
|
|
121
135
|
if (this instanceof a2) {
|
|
122
|
-
|
|
123
|
-
args.push.apply(args, arguments);
|
|
124
|
-
var Ctor = Function.bind.apply(f, args);
|
|
125
|
-
return new Ctor();
|
|
136
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
126
137
|
}
|
|
127
138
|
return f.apply(this, arguments);
|
|
128
139
|
}, "a");
|
|
@@ -19557,7 +19568,11 @@ function validateSequenceArray(parsingResultArray, options) {
|
|
|
19557
19568
|
return parsingResultArray;
|
|
19558
19569
|
}
|
|
19559
19570
|
__name(validateSequenceArray, "validateSequenceArray");
|
|
19560
|
-
function fastaToJson(fileString, options) {
|
|
19571
|
+
function fastaToJson(fileString, options = {}) {
|
|
19572
|
+
const ext = extractFileExtension(options.fileName);
|
|
19573
|
+
if (/^(faa)$/.test(ext)) {
|
|
19574
|
+
options.isProtein = true;
|
|
19575
|
+
}
|
|
19561
19576
|
let resultArray = [];
|
|
19562
19577
|
let result = null;
|
|
19563
19578
|
try {
|
|
@@ -20219,7 +20234,7 @@ function getLengthOfWhiteSpaceBeforeStartOfLetters(string) {
|
|
|
20219
20234
|
}
|
|
20220
20235
|
}
|
|
20221
20236
|
__name(getLengthOfWhiteSpaceBeforeStartOfLetters, "getLengthOfWhiteSpaceBeforeStartOfLetters");
|
|
20222
|
-
class
|
|
20237
|
+
const _Match = class _Match {
|
|
20223
20238
|
constructor(props) {
|
|
20224
20239
|
Object.assign(this, props);
|
|
20225
20240
|
this.value = this.obj[this.prop];
|
|
@@ -20236,8 +20251,9 @@ class Match {
|
|
|
20236
20251
|
log() {
|
|
20237
20252
|
console.info(this.toString());
|
|
20238
20253
|
}
|
|
20239
|
-
}
|
|
20240
|
-
__name(
|
|
20254
|
+
};
|
|
20255
|
+
__name(_Match, "Match");
|
|
20256
|
+
let Match = _Match;
|
|
20241
20257
|
const GLOBAL = typeof window == "object" ? window : global;
|
|
20242
20258
|
function searchWholeObjByName(what, where) {
|
|
20243
20259
|
const searchBy = /* @__PURE__ */ __name((what2, where2, prop) => what2 == prop, "searchBy");
|
|
@@ -20283,13 +20299,13 @@ function searchWholeObjByName(what, where) {
|
|
|
20283
20299
|
}
|
|
20284
20300
|
__name(searchWholeObjByName, "searchWholeObjByName");
|
|
20285
20301
|
function searchWholeObjByNameSimple(what, where) {
|
|
20286
|
-
var
|
|
20287
|
-
return (_c = (
|
|
20302
|
+
var _a3, _b3, _c;
|
|
20303
|
+
return (_c = (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value) == null ? void 0 : _c[0];
|
|
20288
20304
|
}
|
|
20289
20305
|
__name(searchWholeObjByNameSimple, "searchWholeObjByNameSimple");
|
|
20290
20306
|
function searchWholeObjByNameSimpleArray(what, where) {
|
|
20291
|
-
var
|
|
20292
|
-
return (
|
|
20307
|
+
var _a3, _b3;
|
|
20308
|
+
return (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value;
|
|
20293
20309
|
}
|
|
20294
20310
|
__name(searchWholeObjByNameSimpleArray, "searchWholeObjByNameSimpleArray");
|
|
20295
20311
|
var validator$2 = {};
|
|
@@ -20717,7 +20733,7 @@ const buildOptions$1 = /* @__PURE__ */ __name(function(options) {
|
|
|
20717
20733
|
}, "buildOptions$1");
|
|
20718
20734
|
OptionsBuilder.buildOptions = buildOptions$1;
|
|
20719
20735
|
OptionsBuilder.defaultOptions = defaultOptions$1;
|
|
20720
|
-
class
|
|
20736
|
+
const _XmlNode = class _XmlNode {
|
|
20721
20737
|
constructor(tagname) {
|
|
20722
20738
|
this.tagname = tagname;
|
|
20723
20739
|
this.child = [];
|
|
@@ -20737,8 +20753,9 @@ class XmlNode {
|
|
|
20737
20753
|
this.child.push({ [node.tagname]: node.child });
|
|
20738
20754
|
}
|
|
20739
20755
|
}
|
|
20740
|
-
}
|
|
20741
|
-
__name(
|
|
20756
|
+
};
|
|
20757
|
+
__name(_XmlNode, "XmlNode");
|
|
20758
|
+
let XmlNode = _XmlNode;
|
|
20742
20759
|
var xmlNode$1 = XmlNode;
|
|
20743
20760
|
const util$2 = util$4;
|
|
20744
20761
|
function readDocType$1(xmlData, i) {
|
|
@@ -20949,7 +20966,7 @@ const xmlNode = xmlNode$1;
|
|
|
20949
20966
|
const readDocType = DocTypeReader;
|
|
20950
20967
|
const toNumber = strnum;
|
|
20951
20968
|
"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util$1.nameRegexp);
|
|
20952
|
-
let OrderedObjParser$1 =
|
|
20969
|
+
let OrderedObjParser$1 = (_a = class {
|
|
20953
20970
|
constructor(options) {
|
|
20954
20971
|
this.options = options;
|
|
20955
20972
|
this.currentNode = null;
|
|
@@ -20988,7 +21005,7 @@ let OrderedObjParser$1 = /* @__PURE__ */ __name(class OrderedObjParser {
|
|
|
20988
21005
|
this.saveTextToParentTag = saveTextToParentTag;
|
|
20989
21006
|
this.addChild = addChild;
|
|
20990
21007
|
}
|
|
20991
|
-
}, "OrderedObjParser");
|
|
21008
|
+
}, __name(_a, "OrderedObjParser"), _a);
|
|
20992
21009
|
function addExternalEntities(externalEntities) {
|
|
20993
21010
|
const entKeys = Object.keys(externalEntities);
|
|
20994
21011
|
for (let i = 0; i < entKeys.length; i++) {
|
|
@@ -21220,6 +21237,7 @@ const parseXml = /* @__PURE__ */ __name(function(xmlData) {
|
|
|
21220
21237
|
if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) {
|
|
21221
21238
|
if (tagName[tagName.length - 1] === "/") {
|
|
21222
21239
|
tagName = tagName.substr(0, tagName.length - 1);
|
|
21240
|
+
jPath = jPath.substr(0, jPath.length - 1);
|
|
21223
21241
|
tagExp = tagName;
|
|
21224
21242
|
} else {
|
|
21225
21243
|
tagExp = tagExp.substr(0, tagExp.length - 1);
|
|
@@ -21537,10 +21555,10 @@ function isLeafTag(obj, options) {
|
|
|
21537
21555
|
__name(isLeafTag, "isLeafTag");
|
|
21538
21556
|
node2json.prettify = prettify$1;
|
|
21539
21557
|
const { buildOptions } = OptionsBuilder;
|
|
21540
|
-
const
|
|
21558
|
+
const OrderedObjParser = OrderedObjParser_1;
|
|
21541
21559
|
const { prettify } = node2json;
|
|
21542
21560
|
const validator$1 = validator$2;
|
|
21543
|
-
let XMLParser$1 =
|
|
21561
|
+
let XMLParser$1 = (_b = class {
|
|
21544
21562
|
constructor(options) {
|
|
21545
21563
|
this.externalEntities = {};
|
|
21546
21564
|
this.options = buildOptions(options);
|
|
@@ -21566,7 +21584,7 @@ let XMLParser$1 = /* @__PURE__ */ __name(class XMLParser {
|
|
|
21566
21584
|
throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);
|
|
21567
21585
|
}
|
|
21568
21586
|
}
|
|
21569
|
-
const orderedObjParser = new
|
|
21587
|
+
const orderedObjParser = new OrderedObjParser(this.options);
|
|
21570
21588
|
orderedObjParser.addExternalEntities(this.externalEntities);
|
|
21571
21589
|
const orderedResult = orderedObjParser.parseXml(xmlData);
|
|
21572
21590
|
if (this.options.preserveOrder || orderedResult === void 0)
|
|
@@ -21590,7 +21608,7 @@ let XMLParser$1 = /* @__PURE__ */ __name(class XMLParser {
|
|
|
21590
21608
|
this.externalEntities[key] = value;
|
|
21591
21609
|
}
|
|
21592
21610
|
}
|
|
21593
|
-
}, "XMLParser");
|
|
21611
|
+
}, __name(_b, "XMLParser"), _b);
|
|
21594
21612
|
var XMLParser_1 = XMLParser$1;
|
|
21595
21613
|
const EOL = "\n";
|
|
21596
21614
|
function toXml(jArray, options) {
|
|
@@ -21795,13 +21813,18 @@ Builder.prototype.j2x = function(jObj, level) {
|
|
|
21795
21813
|
let attrStr = "";
|
|
21796
21814
|
let val2 = "";
|
|
21797
21815
|
for (let key in jObj) {
|
|
21798
|
-
if (typeof jObj[key] === "undefined")
|
|
21799
|
-
|
|
21800
|
-
|
|
21801
|
-
|
|
21816
|
+
if (typeof jObj[key] === "undefined") {
|
|
21817
|
+
if (this.isAttribute(key)) {
|
|
21818
|
+
val2 += "";
|
|
21819
|
+
}
|
|
21820
|
+
} else if (jObj[key] === null) {
|
|
21821
|
+
if (this.isAttribute(key)) {
|
|
21822
|
+
val2 += "";
|
|
21823
|
+
} else if (key[0] === "?") {
|
|
21802
21824
|
val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar;
|
|
21803
|
-
else
|
|
21825
|
+
} else {
|
|
21804
21826
|
val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar;
|
|
21827
|
+
}
|
|
21805
21828
|
} else if (jObj[key] instanceof Date) {
|
|
21806
21829
|
val2 += this.buildTextValNode(jObj[key], key, "", level);
|
|
21807
21830
|
} else if (typeof jObj[key] !== "object") {
|
|
@@ -21887,7 +21910,7 @@ Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) {
|
|
|
21887
21910
|
piClosingChar = "?";
|
|
21888
21911
|
tagEndExp = "";
|
|
21889
21912
|
}
|
|
21890
|
-
if (attrStr && val2.indexOf("<") === -1) {
|
|
21913
|
+
if ((attrStr || attrStr === "") && val2.indexOf("<") === -1) {
|
|
21891
21914
|
return this.indentate(level) + "<" + key + attrStr + piClosingChar + ">" + val2 + tagEndExp;
|
|
21892
21915
|
} else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {
|
|
21893
21916
|
return this.indentate(level) + `<!--${val2}-->` + this.newLine;
|
|
@@ -21939,7 +21962,7 @@ function indentate(level) {
|
|
|
21939
21962
|
}
|
|
21940
21963
|
__name(indentate, "indentate");
|
|
21941
21964
|
function isAttribute(name) {
|
|
21942
|
-
if (name.startsWith(this.options.attributeNamePrefix)) {
|
|
21965
|
+
if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {
|
|
21943
21966
|
return name.substr(this.attrPrefixLen);
|
|
21944
21967
|
} else {
|
|
21945
21968
|
return false;
|
|
@@ -21948,10 +21971,10 @@ function isAttribute(name) {
|
|
|
21948
21971
|
__name(isAttribute, "isAttribute");
|
|
21949
21972
|
var json2xml = Builder;
|
|
21950
21973
|
const validator = validator$2;
|
|
21951
|
-
const
|
|
21974
|
+
const XMLParser = XMLParser_1;
|
|
21952
21975
|
const XMLBuilder = json2xml;
|
|
21953
21976
|
var fxp = {
|
|
21954
|
-
XMLParser
|
|
21977
|
+
XMLParser,
|
|
21955
21978
|
XMLValidator: validator,
|
|
21956
21979
|
XMLBuilder
|
|
21957
21980
|
};
|
|
@@ -22067,19 +22090,6 @@ function parseSbolJson(sbolJson, options) {
|
|
|
22067
22090
|
};
|
|
22068
22091
|
}
|
|
22069
22092
|
__name(parseSbolJson, "parseSbolJson");
|
|
22070
|
-
function extractFileExtension(name) {
|
|
22071
|
-
if (typeof name === "string") {
|
|
22072
|
-
let ext = "";
|
|
22073
|
-
const match = name.match(/\.(\w+)$/);
|
|
22074
|
-
if (match && match[1]) {
|
|
22075
|
-
ext = match[1];
|
|
22076
|
-
}
|
|
22077
|
-
return ext;
|
|
22078
|
-
} else {
|
|
22079
|
-
return "";
|
|
22080
|
-
}
|
|
22081
|
-
}
|
|
22082
|
-
__name(extractFileExtension, "extractFileExtension");
|
|
22083
22093
|
/*!
|
|
22084
22094
|
* Copyright 2008 Fair Oaks Labs, Inc.
|
|
22085
22095
|
* All rights reserved.
|
|
@@ -25882,7 +25892,8 @@ var buffer$1 = {};
|
|
|
25882
25892
|
}, "fill");
|
|
25883
25893
|
const errors = {};
|
|
25884
25894
|
function E(sym, getMessage, Base) {
|
|
25885
|
-
|
|
25895
|
+
var _a3;
|
|
25896
|
+
errors[sym] = (_a3 = class extends Base {
|
|
25886
25897
|
constructor() {
|
|
25887
25898
|
super();
|
|
25888
25899
|
Object.defineProperty(this, "message", {
|
|
@@ -25908,7 +25919,7 @@ var buffer$1 = {};
|
|
|
25908
25919
|
toString() {
|
|
25909
25920
|
return `${this.name} [${sym}]: ${this.message}`;
|
|
25910
25921
|
}
|
|
25911
|
-
}, "NodeError");
|
|
25922
|
+
}, __name(_a3, "NodeError"), _a3);
|
|
25912
25923
|
}
|
|
25913
25924
|
__name(E, "E");
|
|
25914
25925
|
E(
|
|
@@ -29391,7 +29402,7 @@ const containerAttributes = {
|
|
|
29391
29402
|
Parent: "child_features",
|
|
29392
29403
|
Derives_from: "derived_features"
|
|
29393
29404
|
};
|
|
29394
|
-
class
|
|
29405
|
+
const _FASTAParser = class _FASTAParser {
|
|
29395
29406
|
constructor(seqCallback) {
|
|
29396
29407
|
this.seqCallback = seqCallback;
|
|
29397
29408
|
this.currentSequence = void 0;
|
|
@@ -29414,9 +29425,10 @@ class FASTAParser {
|
|
|
29414
29425
|
finish() {
|
|
29415
29426
|
this._flush();
|
|
29416
29427
|
}
|
|
29417
|
-
}
|
|
29418
|
-
__name(
|
|
29419
|
-
|
|
29428
|
+
};
|
|
29429
|
+
__name(_FASTAParser, "FASTAParser");
|
|
29430
|
+
let FASTAParser = _FASTAParser;
|
|
29431
|
+
const _Parser = class _Parser {
|
|
29420
29432
|
constructor(args) {
|
|
29421
29433
|
this.fastaParser = void 0;
|
|
29422
29434
|
this.eof = false;
|
|
@@ -29535,14 +29547,14 @@ class Parser {
|
|
|
29535
29547
|
}
|
|
29536
29548
|
// do the right thing with a newly-parsed feature line
|
|
29537
29549
|
_bufferLine(line) {
|
|
29538
|
-
var
|
|
29550
|
+
var _a3, _b3, _c;
|
|
29539
29551
|
const rawFeatureLine = parseFeature(line);
|
|
29540
29552
|
const featureLine = __spreadProps(__spreadValues({}, rawFeatureLine), {
|
|
29541
29553
|
child_features: [],
|
|
29542
29554
|
derived_features: []
|
|
29543
29555
|
});
|
|
29544
|
-
const ids = ((
|
|
29545
|
-
const parents = ((
|
|
29556
|
+
const ids = ((_a3 = featureLine.attributes) === null || _a3 === void 0 ? void 0 : _a3.ID) || [];
|
|
29557
|
+
const parents = ((_b3 = featureLine.attributes) === null || _b3 === void 0 ? void 0 : _b3.Parent) || [];
|
|
29546
29558
|
const derives = this.disableDerivesFromReferences ? [] : ((_c = featureLine.attributes) === null || _c === void 0 ? void 0 : _c.Derives_from) || [];
|
|
29547
29559
|
if (!ids.length && !parents.length && !derives.length) {
|
|
29548
29560
|
this._emitItem([featureLine]);
|
|
@@ -29640,8 +29652,9 @@ class Parser {
|
|
|
29640
29652
|
}
|
|
29641
29653
|
});
|
|
29642
29654
|
}
|
|
29643
|
-
}
|
|
29644
|
-
__name(
|
|
29655
|
+
};
|
|
29656
|
+
__name(_Parser, "Parser");
|
|
29657
|
+
let Parser = _Parser;
|
|
29645
29658
|
function _callback(callback) {
|
|
29646
29659
|
if (process && process.nextTick)
|
|
29647
29660
|
process.nextTick(callback);
|
|
@@ -29668,7 +29681,7 @@ function _processParseOptions(options) {
|
|
|
29668
29681
|
return out;
|
|
29669
29682
|
}
|
|
29670
29683
|
__name(_processParseOptions, "_processParseOptions");
|
|
29671
|
-
class
|
|
29684
|
+
const _GFFTransform = class _GFFTransform extends streamBrowserify.Transform {
|
|
29672
29685
|
constructor(inputOptions = {}) {
|
|
29673
29686
|
super({ objectMode: true });
|
|
29674
29687
|
this.textBuffer = "";
|
|
@@ -29708,8 +29721,9 @@ class GFFTransform extends streamBrowserify.Transform {
|
|
|
29708
29721
|
this.parser.finish();
|
|
29709
29722
|
_callback(callback);
|
|
29710
29723
|
}
|
|
29711
|
-
}
|
|
29712
|
-
__name(
|
|
29724
|
+
};
|
|
29725
|
+
__name(_GFFTransform, "GFFTransform");
|
|
29726
|
+
let GFFTransform = _GFFTransform;
|
|
29713
29727
|
function parseStream(options = {}) {
|
|
29714
29728
|
return new GFFTransform(options);
|
|
29715
29729
|
}
|
|
@@ -29753,7 +29767,7 @@ function formatSync(items) {
|
|
|
29753
29767
|
return str;
|
|
29754
29768
|
}
|
|
29755
29769
|
__name(formatSync, "formatSync");
|
|
29756
|
-
class
|
|
29770
|
+
const _FormattingTransform = class _FormattingTransform extends streamBrowserify.Transform {
|
|
29757
29771
|
constructor(options = {}) {
|
|
29758
29772
|
super(Object.assign(options, { objectMode: true }));
|
|
29759
29773
|
this.linesSinceLastSyncMark = 0;
|
|
@@ -29795,8 +29809,9 @@ class FormattingTransform extends streamBrowserify.Transform {
|
|
|
29795
29809
|
this.haveWeEmittedData = true;
|
|
29796
29810
|
_callback(callback);
|
|
29797
29811
|
}
|
|
29798
|
-
}
|
|
29799
|
-
__name(
|
|
29812
|
+
};
|
|
29813
|
+
__name(_FormattingTransform, "FormattingTransform");
|
|
29814
|
+
let FormattingTransform = _FormattingTransform;
|
|
29800
29815
|
function formatStream(options = {}) {
|
|
29801
29816
|
return new FormattingTransform(options);
|
|
29802
29817
|
}
|
|
@@ -29900,8 +29915,8 @@ function geneiousXmlToJson(string, options) {
|
|
|
29900
29915
|
const toRet = lodashExports.filter(
|
|
29901
29916
|
resultArray,
|
|
29902
29917
|
(r) => {
|
|
29903
|
-
var
|
|
29904
|
-
return (
|
|
29918
|
+
var _a3, _b3;
|
|
29919
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
29905
29920
|
}
|
|
29906
29921
|
);
|
|
29907
29922
|
if (toRet.length)
|
|
@@ -30011,8 +30026,8 @@ function jbeiXmlToJson(string, options) {
|
|
|
30011
30026
|
const toRet = lodashExports.filter(
|
|
30012
30027
|
resultArray,
|
|
30013
30028
|
(r) => {
|
|
30014
|
-
var
|
|
30015
|
-
return (
|
|
30029
|
+
var _a3, _b3;
|
|
30030
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
30016
30031
|
}
|
|
30017
30032
|
);
|
|
30018
30033
|
if (toRet.length)
|
|
@@ -30159,9 +30174,9 @@ var freb = /* @__PURE__ */ __name(function(eb, start) {
|
|
|
30159
30174
|
}
|
|
30160
30175
|
return { b, r };
|
|
30161
30176
|
}, "freb");
|
|
30162
|
-
var
|
|
30177
|
+
var _a2 = freb(fleb, 2), fl = _a2.b, revfl = _a2.r;
|
|
30163
30178
|
fl[28] = 258, revfl[258] = 28;
|
|
30164
|
-
var
|
|
30179
|
+
var _b2 = freb(fdeb, 0), fd = _b2.b;
|
|
30165
30180
|
var rev = new u16(32768);
|
|
30166
30181
|
for (var i = 0; i < 32768; ++i) {
|
|
30167
30182
|
var x = (i & 43690) >> 1 | (i & 21845) << 1;
|
|
@@ -30464,7 +30479,7 @@ function strFromU8(dat, latin1) {
|
|
|
30464
30479
|
} else if (td) {
|
|
30465
30480
|
return td.decode(dat);
|
|
30466
30481
|
} else {
|
|
30467
|
-
var
|
|
30482
|
+
var _a3 = dutf8(dat), s = _a3.s, r = _a3.r;
|
|
30468
30483
|
if (r.length)
|
|
30469
30484
|
err(8);
|
|
30470
30485
|
return s;
|
|
@@ -30476,7 +30491,7 @@ var slzh = /* @__PURE__ */ __name(function(d, b) {
|
|
|
30476
30491
|
}, "slzh");
|
|
30477
30492
|
var zh = /* @__PURE__ */ __name(function(d, b, z) {
|
|
30478
30493
|
var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);
|
|
30479
|
-
var
|
|
30494
|
+
var _a3 = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a3[0], su = _a3[1], off = _a3[2];
|
|
30480
30495
|
return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
|
|
30481
30496
|
}, "zh");
|
|
30482
30497
|
var z64e = /* @__PURE__ */ __name(function(d, b) {
|
|
@@ -30506,7 +30521,7 @@ function unzipSync(data, opts) {
|
|
|
30506
30521
|
}
|
|
30507
30522
|
var fltr = opts && opts.filter;
|
|
30508
30523
|
for (var i = 0; i < c; ++i) {
|
|
30509
|
-
var
|
|
30524
|
+
var _a3 = zh(data, o, z), c_2 = _a3[0], sc = _a3[1], su = _a3[2], fn = _a3[3], no = _a3[4], off = _a3[5], b = slzh(data, off);
|
|
30510
30525
|
o = no;
|
|
30511
30526
|
if (!fltr || fltr({
|
|
30512
30527
|
name: fn,
|
|
@@ -30565,7 +30580,7 @@ function anyToJson(fileContentStringOrFileObj, options) {
|
|
|
30565
30580
|
);
|
|
30566
30581
|
}
|
|
30567
30582
|
}
|
|
30568
|
-
if (/^(fasta|fas|fa|fna|ffn)$/.test(ext)) {
|
|
30583
|
+
if (/^(fasta|fas|fa|fna|ffn|faa)$/.test(ext)) {
|
|
30569
30584
|
return fastaToJson(fileContentString, options);
|
|
30570
30585
|
} else if (/^(gb|gbk)$/.test(ext)) {
|
|
30571
30586
|
return genbankToJson(fileContentString, options);
|
|
@@ -32394,7 +32409,7 @@ function jsonToGenbank(_serSeq, options) {
|
|
|
32394
32409
|
}
|
|
32395
32410
|
__name(jsonToGenbank, "jsonToGenbank");
|
|
32396
32411
|
function createGenbankLocus(serSeq, options) {
|
|
32397
|
-
var
|
|
32412
|
+
var _a3, _b3;
|
|
32398
32413
|
if (serSeq.sequence.symbols) {
|
|
32399
32414
|
serSeq.sequence = serSeq.sequence.symbols.split("");
|
|
32400
32415
|
}
|
|
@@ -32403,9 +32418,9 @@ function createGenbankLocus(serSeq, options) {
|
|
|
32403
32418
|
if (serSeq.isProtein) {
|
|
32404
32419
|
dnaType = "";
|
|
32405
32420
|
} else if (serSeq.type === "RNA") {
|
|
32406
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (
|
|
32421
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (_a3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _a3 : "ss-RNA";
|
|
32407
32422
|
} else {
|
|
32408
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (
|
|
32423
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (_b3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _b3 : "DNA";
|
|
32409
32424
|
}
|
|
32410
32425
|
const date = getCurrentDateString();
|
|
32411
32426
|
let line = StringUtil.rpad("LOCUS", " ", 12);
|