@teselagen/bio-parsers 0.3.7 → 0.3.9
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/README.md +330 -0
- package/fastaToJson.d.ts +1 -1
- package/index.js +133 -116
- package/index.mjs +133 -116
- package/index.umd.js +132 -115
- package/package.json +1 -2
- package/src/ab1ToJson.js +13 -18
- package/src/anyToJson.js +7 -7
- package/src/fastaToJson.js +12 -7
- package/src/genbankToJson.js +21 -20
- package/src/geneiousXmlToJson.js +3 -6
- package/src/gffToJson.js +5 -5
- package/src/jbeiXmlToJson.js +10 -13
- package/src/jsonToBed.js +4 -3
- package/src/jsonToFasta.js +4 -2
- package/src/jsonToGenbank.js +13 -12
- package/src/jsonToJsonString.js +1 -1
- package/src/sbolXmlToJson.js +9 -9
- package/src/snapgeneToJson.js +14 -12
- package/src/utils/NameUtils.js +1 -1
- package/src/utils/ParserUtil.js +81 -83
- package/src/utils/cleanUpTeselagenJsonForExport.js +8 -9
- package/src/utils/constants.js +22 -22
- package/src/utils/convertOldSequenceDataToNewDataType.js +5 -6
- package/src/utils/createInitialSequence.js +13 -11
- package/src/utils/extractFileExtension.js +11 -13
- package/src/utils/flattenSequenceArray.js +14 -14
- package/src/utils/getArrayBufferFromFile.js +5 -5
- package/src/utils/isBrowser.js +2 -1
- package/src/utils/parseUracilFeatures.js +2 -2
- package/src/utils/pragmasAndTypes.js +3 -2
- package/src/utils/searchWholeObjByName.js +3 -3
- package/src/utils/splitStringIntoLines.js +13 -12
- package/src/utils/validateSequence.js +15 -10
- package/src/utils/validateSequenceArray.js +17 -17
- package/utils/getArrayBufferFromFile.d.ts +1 -1
package/index.umd.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.bioParsers = {}));
|
|
3
|
-
})(this, function(exports2) {
|
|
4
|
-
"use strict";var __defProp = Object.defineProperty;
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
5
2
|
var __defProps = Object.defineProperties;
|
|
6
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -42,7 +39,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
42
39
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
43
40
|
});
|
|
44
41
|
};
|
|
45
|
-
|
|
42
|
+
(function(global2, factory) {
|
|
43
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.bioParsers = {}));
|
|
44
|
+
})(this, function(exports2) {
|
|
45
|
+
var _a2, _b2;
|
|
46
|
+
"use strict";
|
|
46
47
|
const untitledSequenceName = "Untitled Sequence";
|
|
47
48
|
const gbDivisions = {
|
|
48
49
|
// https://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html#GenBankDivisionB
|
|
@@ -98,6 +99,19 @@ var __async = (__this, __arguments, generator) => {
|
|
|
98
99
|
};
|
|
99
100
|
}
|
|
100
101
|
__name(createInitialSequence, "createInitialSequence");
|
|
102
|
+
function extractFileExtension(name2) {
|
|
103
|
+
if (typeof name2 === "string") {
|
|
104
|
+
let ext = "";
|
|
105
|
+
const match = name2.match(/\.(\w+)$/);
|
|
106
|
+
if (match && match[1]) {
|
|
107
|
+
ext = match[1];
|
|
108
|
+
}
|
|
109
|
+
return ext;
|
|
110
|
+
} else {
|
|
111
|
+
return "";
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
__name(extractFileExtension, "extractFileExtension");
|
|
101
115
|
function splitStringIntoLines(string) {
|
|
102
116
|
let lines = [];
|
|
103
117
|
if (string === "") {
|
|
@@ -123,10 +137,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
123
137
|
if (typeof f == "function") {
|
|
124
138
|
var a = /* @__PURE__ */ __name(function a2() {
|
|
125
139
|
if (this instanceof a2) {
|
|
126
|
-
|
|
127
|
-
args.push.apply(args, arguments);
|
|
128
|
-
var Ctor = Function.bind.apply(f, args);
|
|
129
|
-
return new Ctor();
|
|
140
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
130
141
|
}
|
|
131
142
|
return f.apply(this, arguments);
|
|
132
143
|
}, "a");
|
|
@@ -6274,8 +6285,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
6274
6285
|
maxRangeLength
|
|
6275
6286
|
);
|
|
6276
6287
|
let overlaps = [];
|
|
6277
|
-
normalizedRangeA.forEach(function(nonCircularRangeA
|
|
6278
|
-
normalizedRangeB.forEach(function(nonCircularRangeB
|
|
6288
|
+
normalizedRangeA.forEach(function(nonCircularRangeA) {
|
|
6289
|
+
normalizedRangeB.forEach(function(nonCircularRangeB) {
|
|
6279
6290
|
const overlap = getOverlapOfNonCircularRanges(
|
|
6280
6291
|
nonCircularRangeA,
|
|
6281
6292
|
nonCircularRangeB
|
|
@@ -6287,7 +6298,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
6287
6298
|
});
|
|
6288
6299
|
if (joinIfPossible && normalizedRangeA.length === 2 && normalizedRangeB.length === 2 && maxRangeLength) {
|
|
6289
6300
|
const joinedOverlap = {};
|
|
6290
|
-
overlaps = lodashExports.flatMap(overlaps, (o
|
|
6301
|
+
overlaps = lodashExports.flatMap(overlaps, (o) => {
|
|
6291
6302
|
if (o.start === 0) {
|
|
6292
6303
|
joinedOverlap.end = o.end;
|
|
6293
6304
|
return [];
|
|
@@ -6385,12 +6396,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
6385
6396
|
});
|
|
6386
6397
|
splitRangesToBeTrimmed[index] = nonCircularRangeToBeTrimmed;
|
|
6387
6398
|
});
|
|
6388
|
-
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6389
|
-
|
|
6390
|
-
|
|
6399
|
+
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6400
|
+
function(trimmedRange) {
|
|
6401
|
+
if (trimmedRange) {
|
|
6402
|
+
return true;
|
|
6403
|
+
}
|
|
6404
|
+
return false;
|
|
6391
6405
|
}
|
|
6392
|
-
|
|
6393
|
-
});
|
|
6406
|
+
);
|
|
6394
6407
|
let outputTrimmedRange;
|
|
6395
6408
|
if (outputSplitRanges.length < 0)
|
|
6396
6409
|
;
|
|
@@ -6440,8 +6453,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
6440
6453
|
__name(normalizePositionByRangeLength, "normalizePositionByRangeLength");
|
|
6441
6454
|
function translateRange(rangeToBeAdjusted, translateBy, rangeLength) {
|
|
6442
6455
|
return lodashExports.assign({}, rangeToBeAdjusted, {
|
|
6443
|
-
start: normalizePositionByRangeLength(
|
|
6444
|
-
|
|
6456
|
+
start: normalizePositionByRangeLength(
|
|
6457
|
+
rangeToBeAdjusted.start + translateBy,
|
|
6458
|
+
rangeLength
|
|
6459
|
+
),
|
|
6460
|
+
end: normalizePositionByRangeLength(
|
|
6461
|
+
rangeToBeAdjusted.end + translateBy,
|
|
6462
|
+
rangeLength
|
|
6463
|
+
)
|
|
6445
6464
|
});
|
|
6446
6465
|
}
|
|
6447
6466
|
__name(translateRange, "translateRange");
|
|
@@ -11382,13 +11401,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11382
11401
|
messages.push(
|
|
11383
11402
|
"Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
|
|
11384
11403
|
);
|
|
11385
|
-
location.start = size - (isProtein ? 3 : 1);
|
|
11404
|
+
location.start = Math.max(0, size - (isProtein ? 3 : 1));
|
|
11386
11405
|
}
|
|
11387
11406
|
if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
|
|
11388
11407
|
messages.push(
|
|
11389
11408
|
"Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
|
|
11390
11409
|
);
|
|
11391
|
-
location.end = size - 1;
|
|
11410
|
+
location.end = Math.max(0, size - 1);
|
|
11392
11411
|
}
|
|
11393
11412
|
if (location.start > location.end && circular === false) {
|
|
11394
11413
|
messages.push(
|
|
@@ -11401,9 +11420,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11401
11420
|
function filterAminoAcidSequenceString(sequenceString, options) {
|
|
11402
11421
|
options = options || {};
|
|
11403
11422
|
if (options.includeStopCodon) {
|
|
11404
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
11423
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
11405
11424
|
}
|
|
11406
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
11425
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
11407
11426
|
}
|
|
11408
11427
|
__name(filterAminoAcidSequenceString, "filterAminoAcidSequenceString");
|
|
11409
11428
|
function getDegenerateDnaStringFromAAString(aaString) {
|
|
@@ -11601,7 +11620,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
11601
11620
|
calculateTemperature: function(sequence, type, A, R, C, Na) {
|
|
11602
11621
|
if (typeof type === "undefined") {
|
|
11603
11622
|
type = this.TABLE_BRESLAUER;
|
|
11604
|
-
} else if (type != this.TABLE_BRESLAUER &&
|
|
11623
|
+
} else if (type != this.TABLE_BRESLAUER && type != this.TABLE_UNIFIED && type != this.TABLE_SUGIMOTO) {
|
|
11605
11624
|
throw new Error("Invalid table type!");
|
|
11606
11625
|
}
|
|
11607
11626
|
if (!A) {
|
|
@@ -19561,7 +19580,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19561
19580
|
return parsingResultArray;
|
|
19562
19581
|
}
|
|
19563
19582
|
__name(validateSequenceArray, "validateSequenceArray");
|
|
19564
|
-
function fastaToJson(fileString, options) {
|
|
19583
|
+
function fastaToJson(fileString, options = {}) {
|
|
19584
|
+
const ext = extractFileExtension(options.fileName);
|
|
19585
|
+
if (/^(faa)$/.test(ext)) {
|
|
19586
|
+
options.isProtein = true;
|
|
19587
|
+
}
|
|
19565
19588
|
let resultArray = [];
|
|
19566
19589
|
let result = null;
|
|
19567
19590
|
try {
|
|
@@ -19748,18 +19771,20 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19748
19771
|
const isKeyRunon = isKeywordRunon(line);
|
|
19749
19772
|
const isSubKey = isSubKeyword(line);
|
|
19750
19773
|
const isKey = isKeyword(line);
|
|
19751
|
-
if (
|
|
19752
|
-
|
|
19753
|
-
|
|
19754
|
-
|
|
19755
|
-
|
|
19756
|
-
|
|
19757
|
-
|
|
19758
|
-
|
|
19759
|
-
|
|
19760
|
-
|
|
19761
|
-
|
|
19762
|
-
|
|
19774
|
+
if (!isKeyRunon) {
|
|
19775
|
+
if (key === "LOCUS") {
|
|
19776
|
+
LINETYPE = key;
|
|
19777
|
+
} else if (key === "REFERENCE") {
|
|
19778
|
+
LINETYPE = key;
|
|
19779
|
+
} else if (key === "FEATURES") {
|
|
19780
|
+
LINETYPE = key;
|
|
19781
|
+
} else if (key === "ORIGIN") {
|
|
19782
|
+
LINETYPE = key;
|
|
19783
|
+
} else if (key === "//") {
|
|
19784
|
+
LINETYPE = key;
|
|
19785
|
+
} else if (isKey === true) {
|
|
19786
|
+
LINETYPE = key;
|
|
19787
|
+
}
|
|
19763
19788
|
}
|
|
19764
19789
|
if (line.trim() === "" || key === ";") {
|
|
19765
19790
|
return false;
|
|
@@ -19928,7 +19953,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19928
19953
|
__name(parseOrigin, "parseOrigin");
|
|
19929
19954
|
function parseLocus(line) {
|
|
19930
19955
|
result = createInitialSequence(options);
|
|
19931
|
-
let locusName;
|
|
19932
19956
|
let circular;
|
|
19933
19957
|
let gbDivision;
|
|
19934
19958
|
let date;
|
|
@@ -19939,7 +19963,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19939
19963
|
);
|
|
19940
19964
|
addMessage("Import Warning: Locus line contains no values: " + line);
|
|
19941
19965
|
}
|
|
19942
|
-
locusName = lineArr[1];
|
|
19966
|
+
const locusName = lineArr[1];
|
|
19943
19967
|
for (let i2 = 1; i2 < lineArr.length; i2++) {
|
|
19944
19968
|
if (lineArr[i2].match(/circular/gi)) {
|
|
19945
19969
|
circular = true;
|
|
@@ -20092,10 +20116,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20092
20116
|
}
|
|
20093
20117
|
__name(parseFeatureLocation, "parseFeatureLocation");
|
|
20094
20118
|
function parseFeatureNote(line) {
|
|
20095
|
-
let newLine
|
|
20119
|
+
let newLine;
|
|
20096
20120
|
newLine = line.trimLeft();
|
|
20097
20121
|
newLine = newLine.replace(/^\/|"$/g, "");
|
|
20098
|
-
lineArr = newLine.split(/="|=/);
|
|
20122
|
+
const lineArr = newLine.split(/="|=/);
|
|
20099
20123
|
let val2 = lineArr.slice(1).join("=");
|
|
20100
20124
|
if (val2) {
|
|
20101
20125
|
val2 = val2.replace(/\\/g, " ");
|
|
@@ -20223,7 +20247,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20223
20247
|
}
|
|
20224
20248
|
}
|
|
20225
20249
|
__name(getLengthOfWhiteSpaceBeforeStartOfLetters, "getLengthOfWhiteSpaceBeforeStartOfLetters");
|
|
20226
|
-
class
|
|
20250
|
+
const _Match = class _Match {
|
|
20227
20251
|
constructor(props) {
|
|
20228
20252
|
Object.assign(this, props);
|
|
20229
20253
|
this.value = this.obj[this.prop];
|
|
@@ -20240,8 +20264,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20240
20264
|
log() {
|
|
20241
20265
|
console.info(this.toString());
|
|
20242
20266
|
}
|
|
20243
|
-
}
|
|
20244
|
-
__name(
|
|
20267
|
+
};
|
|
20268
|
+
__name(_Match, "Match");
|
|
20269
|
+
let Match = _Match;
|
|
20245
20270
|
const GLOBAL = typeof window == "object" ? window : global;
|
|
20246
20271
|
function searchWholeObjByName(what, where) {
|
|
20247
20272
|
const searchBy = /* @__PURE__ */ __name((what2, where2, prop) => what2 == prop, "searchBy");
|
|
@@ -20287,13 +20312,13 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20287
20312
|
}
|
|
20288
20313
|
__name(searchWholeObjByName, "searchWholeObjByName");
|
|
20289
20314
|
function searchWholeObjByNameSimple(what, where) {
|
|
20290
|
-
var
|
|
20291
|
-
return (_c = (
|
|
20315
|
+
var _a3, _b3, _c;
|
|
20316
|
+
return (_c = (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value) == null ? void 0 : _c[0];
|
|
20292
20317
|
}
|
|
20293
20318
|
__name(searchWholeObjByNameSimple, "searchWholeObjByNameSimple");
|
|
20294
20319
|
function searchWholeObjByNameSimpleArray(what, where) {
|
|
20295
|
-
var
|
|
20296
|
-
return (
|
|
20320
|
+
var _a3, _b3;
|
|
20321
|
+
return (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value;
|
|
20297
20322
|
}
|
|
20298
20323
|
__name(searchWholeObjByNameSimpleArray, "searchWholeObjByNameSimpleArray");
|
|
20299
20324
|
var validator$2 = {};
|
|
@@ -20721,7 +20746,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20721
20746
|
}, "buildOptions$1");
|
|
20722
20747
|
OptionsBuilder.buildOptions = buildOptions$1;
|
|
20723
20748
|
OptionsBuilder.defaultOptions = defaultOptions$1;
|
|
20724
|
-
class
|
|
20749
|
+
const _XmlNode = class _XmlNode {
|
|
20725
20750
|
constructor(tagname) {
|
|
20726
20751
|
this.tagname = tagname;
|
|
20727
20752
|
this.child = [];
|
|
@@ -20741,8 +20766,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20741
20766
|
this.child.push({ [node.tagname]: node.child });
|
|
20742
20767
|
}
|
|
20743
20768
|
}
|
|
20744
|
-
}
|
|
20745
|
-
__name(
|
|
20769
|
+
};
|
|
20770
|
+
__name(_XmlNode, "XmlNode");
|
|
20771
|
+
let XmlNode = _XmlNode;
|
|
20746
20772
|
var xmlNode$1 = XmlNode;
|
|
20747
20773
|
const util$2 = util$4;
|
|
20748
20774
|
function readDocType$1(xmlData, i2) {
|
|
@@ -20953,7 +20979,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20953
20979
|
const readDocType = DocTypeReader;
|
|
20954
20980
|
const toNumber = strnum;
|
|
20955
20981
|
"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util$1.nameRegexp);
|
|
20956
|
-
let OrderedObjParser$1 =
|
|
20982
|
+
let OrderedObjParser$1 = (_a2 = class {
|
|
20957
20983
|
constructor(options) {
|
|
20958
20984
|
this.options = options;
|
|
20959
20985
|
this.currentNode = null;
|
|
@@ -20992,7 +21018,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20992
21018
|
this.saveTextToParentTag = saveTextToParentTag;
|
|
20993
21019
|
this.addChild = addChild;
|
|
20994
21020
|
}
|
|
20995
|
-
}, "OrderedObjParser");
|
|
21021
|
+
}, __name(_a2, "OrderedObjParser"), _a2);
|
|
20996
21022
|
function addExternalEntities(externalEntities) {
|
|
20997
21023
|
const entKeys = Object.keys(externalEntities);
|
|
20998
21024
|
for (let i2 = 0; i2 < entKeys.length; i2++) {
|
|
@@ -21224,6 +21250,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21224
21250
|
if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) {
|
|
21225
21251
|
if (tagName[tagName.length - 1] === "/") {
|
|
21226
21252
|
tagName = tagName.substr(0, tagName.length - 1);
|
|
21253
|
+
jPath = jPath.substr(0, jPath.length - 1);
|
|
21227
21254
|
tagExp = tagName;
|
|
21228
21255
|
} else {
|
|
21229
21256
|
tagExp = tagExp.substr(0, tagExp.length - 1);
|
|
@@ -21544,7 +21571,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21544
21571
|
const OrderedObjParser = OrderedObjParser_1;
|
|
21545
21572
|
const { prettify } = node2json;
|
|
21546
21573
|
const validator$1 = validator$2;
|
|
21547
|
-
let XMLParser$1 =
|
|
21574
|
+
let XMLParser$1 = (_b2 = class {
|
|
21548
21575
|
constructor(options) {
|
|
21549
21576
|
this.externalEntities = {};
|
|
21550
21577
|
this.options = buildOptions(options);
|
|
@@ -21594,7 +21621,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21594
21621
|
this.externalEntities[key] = value;
|
|
21595
21622
|
}
|
|
21596
21623
|
}
|
|
21597
|
-
}, "XMLParser");
|
|
21624
|
+
}, __name(_b2, "XMLParser"), _b2);
|
|
21598
21625
|
var XMLParser_1 = XMLParser$1;
|
|
21599
21626
|
const EOL = "\n";
|
|
21600
21627
|
function toXml(jArray, options) {
|
|
@@ -21799,13 +21826,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21799
21826
|
let attrStr = "";
|
|
21800
21827
|
let val2 = "";
|
|
21801
21828
|
for (let key in jObj) {
|
|
21802
|
-
if (typeof jObj[key] === "undefined")
|
|
21803
|
-
|
|
21804
|
-
|
|
21805
|
-
|
|
21829
|
+
if (typeof jObj[key] === "undefined") {
|
|
21830
|
+
if (this.isAttribute(key)) {
|
|
21831
|
+
val2 += "";
|
|
21832
|
+
}
|
|
21833
|
+
} else if (jObj[key] === null) {
|
|
21834
|
+
if (this.isAttribute(key)) {
|
|
21835
|
+
val2 += "";
|
|
21836
|
+
} else if (key[0] === "?") {
|
|
21806
21837
|
val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar;
|
|
21807
|
-
else
|
|
21838
|
+
} else {
|
|
21808
21839
|
val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar;
|
|
21840
|
+
}
|
|
21809
21841
|
} else if (jObj[key] instanceof Date) {
|
|
21810
21842
|
val2 += this.buildTextValNode(jObj[key], key, "", level);
|
|
21811
21843
|
} else if (typeof jObj[key] !== "object") {
|
|
@@ -21891,7 +21923,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21891
21923
|
piClosingChar = "?";
|
|
21892
21924
|
tagEndExp = "";
|
|
21893
21925
|
}
|
|
21894
|
-
if (attrStr && val2.indexOf("<") === -1) {
|
|
21926
|
+
if ((attrStr || attrStr === "") && val2.indexOf("<") === -1) {
|
|
21895
21927
|
return this.indentate(level) + "<" + key + attrStr + piClosingChar + ">" + val2 + tagEndExp;
|
|
21896
21928
|
} else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {
|
|
21897
21929
|
return this.indentate(level) + `<!--${val2}-->` + this.newLine;
|
|
@@ -21943,7 +21975,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21943
21975
|
}
|
|
21944
21976
|
__name(indentate, "indentate");
|
|
21945
21977
|
function isAttribute(name2) {
|
|
21946
|
-
if (name2.startsWith(this.options.attributeNamePrefix)) {
|
|
21978
|
+
if (name2.startsWith(this.options.attributeNamePrefix) && name2 !== this.options.textNodeName) {
|
|
21947
21979
|
return name2.substr(this.attrPrefixLen);
|
|
21948
21980
|
} else {
|
|
21949
21981
|
return false;
|
|
@@ -22071,19 +22103,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22071
22103
|
};
|
|
22072
22104
|
}
|
|
22073
22105
|
__name(parseSbolJson, "parseSbolJson");
|
|
22074
|
-
function extractFileExtension(name2) {
|
|
22075
|
-
if (typeof name2 === "string") {
|
|
22076
|
-
let ext = "";
|
|
22077
|
-
const match = name2.match(/\.(\w+)$/);
|
|
22078
|
-
if (match && match[1]) {
|
|
22079
|
-
ext = match[1];
|
|
22080
|
-
}
|
|
22081
|
-
return ext;
|
|
22082
|
-
} else {
|
|
22083
|
-
return "";
|
|
22084
|
-
}
|
|
22085
|
-
}
|
|
22086
|
-
__name(extractFileExtension, "extractFileExtension");
|
|
22087
22106
|
/*!
|
|
22088
22107
|
* Copyright 2008 Fair Oaks Labs, Inc.
|
|
22089
22108
|
* All rights reserved.
|
|
@@ -25886,7 +25905,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
25886
25905
|
}, "fill");
|
|
25887
25906
|
const errors = {};
|
|
25888
25907
|
function E(sym, getMessage, Base) {
|
|
25889
|
-
|
|
25908
|
+
var _a3;
|
|
25909
|
+
errors[sym] = (_a3 = class extends Base {
|
|
25890
25910
|
constructor() {
|
|
25891
25911
|
super();
|
|
25892
25912
|
Object.defineProperty(this, "message", {
|
|
@@ -25912,7 +25932,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
25912
25932
|
toString() {
|
|
25913
25933
|
return `${this.name} [${sym}]: ${this.message}`;
|
|
25914
25934
|
}
|
|
25915
|
-
}, "NodeError");
|
|
25935
|
+
}, __name(_a3, "NodeError"), _a3);
|
|
25916
25936
|
}
|
|
25917
25937
|
__name(E, "E");
|
|
25918
25938
|
E(
|
|
@@ -29395,7 +29415,7 @@ ${seq.sequence}
|
|
|
29395
29415
|
Parent: "child_features",
|
|
29396
29416
|
Derives_from: "derived_features"
|
|
29397
29417
|
};
|
|
29398
|
-
class
|
|
29418
|
+
const _FASTAParser = class _FASTAParser {
|
|
29399
29419
|
constructor(seqCallback) {
|
|
29400
29420
|
this.seqCallback = seqCallback;
|
|
29401
29421
|
this.currentSequence = void 0;
|
|
@@ -29418,9 +29438,10 @@ ${seq.sequence}
|
|
|
29418
29438
|
finish() {
|
|
29419
29439
|
this._flush();
|
|
29420
29440
|
}
|
|
29421
|
-
}
|
|
29422
|
-
__name(
|
|
29423
|
-
|
|
29441
|
+
};
|
|
29442
|
+
__name(_FASTAParser, "FASTAParser");
|
|
29443
|
+
let FASTAParser = _FASTAParser;
|
|
29444
|
+
const _Parser = class _Parser {
|
|
29424
29445
|
constructor(args) {
|
|
29425
29446
|
this.fastaParser = void 0;
|
|
29426
29447
|
this.eof = false;
|
|
@@ -29539,14 +29560,14 @@ ${seq.sequence}
|
|
|
29539
29560
|
}
|
|
29540
29561
|
// do the right thing with a newly-parsed feature line
|
|
29541
29562
|
_bufferLine(line) {
|
|
29542
|
-
var
|
|
29563
|
+
var _a3, _b3, _c;
|
|
29543
29564
|
const rawFeatureLine = parseFeature(line);
|
|
29544
29565
|
const featureLine = __spreadProps(__spreadValues({}, rawFeatureLine), {
|
|
29545
29566
|
child_features: [],
|
|
29546
29567
|
derived_features: []
|
|
29547
29568
|
});
|
|
29548
|
-
const ids = ((
|
|
29549
|
-
const parents = ((
|
|
29569
|
+
const ids = ((_a3 = featureLine.attributes) === null || _a3 === void 0 ? void 0 : _a3.ID) || [];
|
|
29570
|
+
const parents = ((_b3 = featureLine.attributes) === null || _b3 === void 0 ? void 0 : _b3.Parent) || [];
|
|
29550
29571
|
const derives = this.disableDerivesFromReferences ? [] : ((_c = featureLine.attributes) === null || _c === void 0 ? void 0 : _c.Derives_from) || [];
|
|
29551
29572
|
if (!ids.length && !parents.length && !derives.length) {
|
|
29552
29573
|
this._emitItem([featureLine]);
|
|
@@ -29644,8 +29665,9 @@ ${seq.sequence}
|
|
|
29644
29665
|
}
|
|
29645
29666
|
});
|
|
29646
29667
|
}
|
|
29647
|
-
}
|
|
29648
|
-
__name(
|
|
29668
|
+
};
|
|
29669
|
+
__name(_Parser, "Parser");
|
|
29670
|
+
let Parser = _Parser;
|
|
29649
29671
|
function _callback(callback) {
|
|
29650
29672
|
if (process && process.nextTick)
|
|
29651
29673
|
process.nextTick(callback);
|
|
@@ -29672,7 +29694,7 @@ ${seq.sequence}
|
|
|
29672
29694
|
return out;
|
|
29673
29695
|
}
|
|
29674
29696
|
__name(_processParseOptions, "_processParseOptions");
|
|
29675
|
-
class
|
|
29697
|
+
const _GFFTransform = class _GFFTransform extends streamBrowserify.Transform {
|
|
29676
29698
|
constructor(inputOptions = {}) {
|
|
29677
29699
|
super({ objectMode: true });
|
|
29678
29700
|
this.textBuffer = "";
|
|
@@ -29712,8 +29734,9 @@ ${seq.sequence}
|
|
|
29712
29734
|
this.parser.finish();
|
|
29713
29735
|
_callback(callback);
|
|
29714
29736
|
}
|
|
29715
|
-
}
|
|
29716
|
-
__name(
|
|
29737
|
+
};
|
|
29738
|
+
__name(_GFFTransform, "GFFTransform");
|
|
29739
|
+
let GFFTransform = _GFFTransform;
|
|
29717
29740
|
function parseStream(options = {}) {
|
|
29718
29741
|
return new GFFTransform(options);
|
|
29719
29742
|
}
|
|
@@ -29757,7 +29780,7 @@ ${seq.sequence}
|
|
|
29757
29780
|
return str;
|
|
29758
29781
|
}
|
|
29759
29782
|
__name(formatSync, "formatSync");
|
|
29760
|
-
class
|
|
29783
|
+
const _FormattingTransform = class _FormattingTransform extends streamBrowserify.Transform {
|
|
29761
29784
|
constructor(options = {}) {
|
|
29762
29785
|
super(Object.assign(options, { objectMode: true }));
|
|
29763
29786
|
this.linesSinceLastSyncMark = 0;
|
|
@@ -29799,8 +29822,9 @@ ${seq.sequence}
|
|
|
29799
29822
|
this.haveWeEmittedData = true;
|
|
29800
29823
|
_callback(callback);
|
|
29801
29824
|
}
|
|
29802
|
-
}
|
|
29803
|
-
__name(
|
|
29825
|
+
};
|
|
29826
|
+
__name(_FormattingTransform, "FormattingTransform");
|
|
29827
|
+
let FormattingTransform = _FormattingTransform;
|
|
29804
29828
|
function formatStream(options = {}) {
|
|
29805
29829
|
return new FormattingTransform(options);
|
|
29806
29830
|
}
|
|
@@ -29901,13 +29925,10 @@ ${seq.sequence}
|
|
|
29901
29925
|
});
|
|
29902
29926
|
}
|
|
29903
29927
|
});
|
|
29904
|
-
const toRet = lodashExports.filter(
|
|
29905
|
-
|
|
29906
|
-
(r)
|
|
29907
|
-
|
|
29908
|
-
return (_b2 = (_a2 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a2.sequence) == null ? void 0 : _b2.length;
|
|
29909
|
-
}
|
|
29910
|
-
);
|
|
29928
|
+
const toRet = lodashExports.filter(resultArray, (r) => {
|
|
29929
|
+
var _a3, _b3;
|
|
29930
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
29931
|
+
});
|
|
29911
29932
|
if (toRet.length)
|
|
29912
29933
|
return toRet;
|
|
29913
29934
|
return onFileParsed(resultArray);
|
|
@@ -30012,13 +30033,10 @@ ${seq.sequence}
|
|
|
30012
30033
|
messages: ["Error while parsing JBEI format"]
|
|
30013
30034
|
});
|
|
30014
30035
|
}
|
|
30015
|
-
const toRet = lodashExports.filter(
|
|
30016
|
-
|
|
30017
|
-
(r)
|
|
30018
|
-
|
|
30019
|
-
return (_b2 = (_a2 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a2.sequence) == null ? void 0 : _b2.length;
|
|
30020
|
-
}
|
|
30021
|
-
);
|
|
30036
|
+
const toRet = lodashExports.filter(resultArray, (r) => {
|
|
30037
|
+
var _a3, _b3;
|
|
30038
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
30039
|
+
});
|
|
30022
30040
|
if (toRet.length)
|
|
30023
30041
|
return toRet;
|
|
30024
30042
|
return onFileParsed(resultArray);
|
|
@@ -30468,7 +30486,7 @@ ${seq.sequence}
|
|
|
30468
30486
|
} else if (td) {
|
|
30469
30487
|
return td.decode(dat);
|
|
30470
30488
|
} else {
|
|
30471
|
-
var
|
|
30489
|
+
var _a3 = dutf8(dat), s = _a3.s, r = _a3.r;
|
|
30472
30490
|
if (r.length)
|
|
30473
30491
|
err(8);
|
|
30474
30492
|
return s;
|
|
@@ -30480,7 +30498,7 @@ ${seq.sequence}
|
|
|
30480
30498
|
}, "slzh");
|
|
30481
30499
|
var zh = /* @__PURE__ */ __name(function(d, b, z) {
|
|
30482
30500
|
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);
|
|
30483
|
-
var
|
|
30501
|
+
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];
|
|
30484
30502
|
return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
|
|
30485
30503
|
}, "zh");
|
|
30486
30504
|
var z64e = /* @__PURE__ */ __name(function(d, b) {
|
|
@@ -30510,7 +30528,7 @@ ${seq.sequence}
|
|
|
30510
30528
|
}
|
|
30511
30529
|
var fltr = opts && opts.filter;
|
|
30512
30530
|
for (var i2 = 0; i2 < c; ++i2) {
|
|
30513
|
-
var
|
|
30531
|
+
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);
|
|
30514
30532
|
o = no;
|
|
30515
30533
|
if (!fltr || fltr({
|
|
30516
30534
|
name: fn,
|
|
@@ -30569,7 +30587,7 @@ ${seq.sequence}
|
|
|
30569
30587
|
);
|
|
30570
30588
|
}
|
|
30571
30589
|
}
|
|
30572
|
-
if (/^(fasta|fas|fa|fna|ffn)$/.test(ext)) {
|
|
30590
|
+
if (/^(fasta|fas|fa|fna|ffn|faa)$/.test(ext)) {
|
|
30573
30591
|
return fastaToJson(fileContentString, options);
|
|
30574
30592
|
} else if (/^(gb|gbk)$/.test(ext)) {
|
|
30575
30593
|
return genbankToJson(fileContentString, options);
|
|
@@ -32398,18 +32416,17 @@ ${seq.sequence}
|
|
|
32398
32416
|
}
|
|
32399
32417
|
__name(jsonToGenbank, "jsonToGenbank");
|
|
32400
32418
|
function createGenbankLocus(serSeq, options) {
|
|
32401
|
-
var
|
|
32419
|
+
var _a3, _b3;
|
|
32402
32420
|
if (serSeq.sequence.symbols) {
|
|
32403
32421
|
serSeq.sequence = serSeq.sequence.symbols.split("");
|
|
32404
32422
|
}
|
|
32405
|
-
let tmp;
|
|
32406
32423
|
let dnaType;
|
|
32407
32424
|
if (serSeq.isProtein) {
|
|
32408
32425
|
dnaType = "";
|
|
32409
32426
|
} else if (serSeq.type === "RNA") {
|
|
32410
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (
|
|
32427
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (_a3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _a3 : "ss-RNA";
|
|
32411
32428
|
} else {
|
|
32412
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (
|
|
32429
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (_b3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _b3 : "DNA";
|
|
32413
32430
|
}
|
|
32414
32431
|
const date = getCurrentDateString();
|
|
32415
32432
|
let line = StringUtil.rpad("LOCUS", " ", 12);
|
|
@@ -32419,7 +32436,7 @@ ${seq.sequence}
|
|
|
32419
32436
|
line += " ";
|
|
32420
32437
|
line += StringUtil.lpad(String(serSeq.sequence.length), " ", 11);
|
|
32421
32438
|
line += serSeq.isProtein ? " aa " : " bp ";
|
|
32422
|
-
tmp = "";
|
|
32439
|
+
const tmp = "";
|
|
32423
32440
|
line += StringUtil.lpad(tmp, " ", 3);
|
|
32424
32441
|
line += StringUtil.rpad(dnaType, " ", 6);
|
|
32425
32442
|
line += " ";
|