@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.js
CHANGED
|
@@ -40,6 +40,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
40
40
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
|
+
var _a, _b;
|
|
43
44
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
44
45
|
const untitledSequenceName = "Untitled Sequence";
|
|
45
46
|
const gbDivisions = {
|
|
@@ -96,6 +97,19 @@ function createInitialSequence(options) {
|
|
|
96
97
|
};
|
|
97
98
|
}
|
|
98
99
|
__name(createInitialSequence, "createInitialSequence");
|
|
100
|
+
function extractFileExtension(name) {
|
|
101
|
+
if (typeof name === "string") {
|
|
102
|
+
let ext = "";
|
|
103
|
+
const match = name.match(/\.(\w+)$/);
|
|
104
|
+
if (match && match[1]) {
|
|
105
|
+
ext = match[1];
|
|
106
|
+
}
|
|
107
|
+
return ext;
|
|
108
|
+
} else {
|
|
109
|
+
return "";
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
__name(extractFileExtension, "extractFileExtension");
|
|
99
113
|
function splitStringIntoLines(string) {
|
|
100
114
|
let lines = [];
|
|
101
115
|
if (string === "") {
|
|
@@ -121,10 +135,7 @@ function getAugmentedNamespace(n) {
|
|
|
121
135
|
if (typeof f == "function") {
|
|
122
136
|
var a = /* @__PURE__ */ __name(function a2() {
|
|
123
137
|
if (this instanceof a2) {
|
|
124
|
-
|
|
125
|
-
args.push.apply(args, arguments);
|
|
126
|
-
var Ctor = Function.bind.apply(f, args);
|
|
127
|
-
return new Ctor();
|
|
138
|
+
return Reflect.construct(f, arguments, this.constructor);
|
|
128
139
|
}
|
|
129
140
|
return f.apply(this, arguments);
|
|
130
141
|
}, "a");
|
|
@@ -6272,8 +6283,8 @@ function getOverlapsOfPotentiallyCircularRanges(rangeA, rangeB, maxRangeLength,
|
|
|
6272
6283
|
maxRangeLength
|
|
6273
6284
|
);
|
|
6274
6285
|
let overlaps = [];
|
|
6275
|
-
normalizedRangeA.forEach(function(nonCircularRangeA
|
|
6276
|
-
normalizedRangeB.forEach(function(nonCircularRangeB
|
|
6286
|
+
normalizedRangeA.forEach(function(nonCircularRangeA) {
|
|
6287
|
+
normalizedRangeB.forEach(function(nonCircularRangeB) {
|
|
6277
6288
|
const overlap = getOverlapOfNonCircularRanges(
|
|
6278
6289
|
nonCircularRangeA,
|
|
6279
6290
|
nonCircularRangeB
|
|
@@ -6285,7 +6296,7 @@ function getOverlapsOfPotentiallyCircularRanges(rangeA, rangeB, maxRangeLength,
|
|
|
6285
6296
|
});
|
|
6286
6297
|
if (joinIfPossible && normalizedRangeA.length === 2 && normalizedRangeB.length === 2 && maxRangeLength) {
|
|
6287
6298
|
const joinedOverlap = {};
|
|
6288
|
-
overlaps = lodashExports.flatMap(overlaps, (o
|
|
6299
|
+
overlaps = lodashExports.flatMap(overlaps, (o) => {
|
|
6289
6300
|
if (o.start === 0) {
|
|
6290
6301
|
joinedOverlap.end = o.end;
|
|
6291
6302
|
return [];
|
|
@@ -6383,12 +6394,14 @@ function trimRangeByAnotherRange(rangeToBeTrimmed, trimmingRange, sequenceLength
|
|
|
6383
6394
|
});
|
|
6384
6395
|
splitRangesToBeTrimmed[index] = nonCircularRangeToBeTrimmed;
|
|
6385
6396
|
});
|
|
6386
|
-
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6387
|
-
|
|
6388
|
-
|
|
6397
|
+
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6398
|
+
function(trimmedRange) {
|
|
6399
|
+
if (trimmedRange) {
|
|
6400
|
+
return true;
|
|
6401
|
+
}
|
|
6402
|
+
return false;
|
|
6389
6403
|
}
|
|
6390
|
-
|
|
6391
|
-
});
|
|
6404
|
+
);
|
|
6392
6405
|
let outputTrimmedRange;
|
|
6393
6406
|
if (outputSplitRanges.length < 0)
|
|
6394
6407
|
;
|
|
@@ -6438,8 +6451,14 @@ function normalizePositionByRangeLength(pPosition, sequenceLength, isInBetweenPo
|
|
|
6438
6451
|
__name(normalizePositionByRangeLength, "normalizePositionByRangeLength");
|
|
6439
6452
|
function translateRange(rangeToBeAdjusted, translateBy, rangeLength) {
|
|
6440
6453
|
return lodashExports.assign({}, rangeToBeAdjusted, {
|
|
6441
|
-
start: normalizePositionByRangeLength(
|
|
6442
|
-
|
|
6454
|
+
start: normalizePositionByRangeLength(
|
|
6455
|
+
rangeToBeAdjusted.start + translateBy,
|
|
6456
|
+
rangeLength
|
|
6457
|
+
),
|
|
6458
|
+
end: normalizePositionByRangeLength(
|
|
6459
|
+
rangeToBeAdjusted.end + translateBy,
|
|
6460
|
+
rangeLength
|
|
6461
|
+
)
|
|
6443
6462
|
});
|
|
6444
6463
|
}
|
|
6445
6464
|
__name(translateRange, "translateRange");
|
|
@@ -11380,13 +11399,13 @@ function coerceLocation({
|
|
|
11380
11399
|
messages.push(
|
|
11381
11400
|
"Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
|
|
11382
11401
|
);
|
|
11383
|
-
location.start = size - (isProtein ? 3 : 1);
|
|
11402
|
+
location.start = Math.max(0, size - (isProtein ? 3 : 1));
|
|
11384
11403
|
}
|
|
11385
11404
|
if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
|
|
11386
11405
|
messages.push(
|
|
11387
11406
|
"Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
|
|
11388
11407
|
);
|
|
11389
|
-
location.end = size - 1;
|
|
11408
|
+
location.end = Math.max(0, size - 1);
|
|
11390
11409
|
}
|
|
11391
11410
|
if (location.start > location.end && circular === false) {
|
|
11392
11411
|
messages.push(
|
|
@@ -11399,9 +11418,9 @@ __name(coerceLocation, "coerceLocation");
|
|
|
11399
11418
|
function filterAminoAcidSequenceString(sequenceString, options) {
|
|
11400
11419
|
options = options || {};
|
|
11401
11420
|
if (options.includeStopCodon) {
|
|
11402
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
11421
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
11403
11422
|
}
|
|
11404
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
11423
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
11405
11424
|
}
|
|
11406
11425
|
__name(filterAminoAcidSequenceString, "filterAminoAcidSequenceString");
|
|
11407
11426
|
function getDegenerateDnaStringFromAAString(aaString) {
|
|
@@ -11599,7 +11618,7 @@ const calcTmMethods = {
|
|
|
11599
11618
|
calculateTemperature: function(sequence, type, A, R, C, Na) {
|
|
11600
11619
|
if (typeof type === "undefined") {
|
|
11601
11620
|
type = this.TABLE_BRESLAUER;
|
|
11602
|
-
} else if (type != this.TABLE_BRESLAUER &&
|
|
11621
|
+
} else if (type != this.TABLE_BRESLAUER && type != this.TABLE_UNIFIED && type != this.TABLE_SUGIMOTO) {
|
|
11603
11622
|
throw new Error("Invalid table type!");
|
|
11604
11623
|
}
|
|
11605
11624
|
if (!A) {
|
|
@@ -19559,7 +19578,11 @@ function validateSequenceArray(parsingResultArray, options) {
|
|
|
19559
19578
|
return parsingResultArray;
|
|
19560
19579
|
}
|
|
19561
19580
|
__name(validateSequenceArray, "validateSequenceArray");
|
|
19562
|
-
function fastaToJson(fileString, options) {
|
|
19581
|
+
function fastaToJson(fileString, options = {}) {
|
|
19582
|
+
const ext = extractFileExtension(options.fileName);
|
|
19583
|
+
if (/^(faa)$/.test(ext)) {
|
|
19584
|
+
options.isProtein = true;
|
|
19585
|
+
}
|
|
19563
19586
|
let resultArray = [];
|
|
19564
19587
|
let result = null;
|
|
19565
19588
|
try {
|
|
@@ -19746,18 +19769,20 @@ function genbankToJson(string, options = {}) {
|
|
|
19746
19769
|
const isKeyRunon = isKeywordRunon(line);
|
|
19747
19770
|
const isSubKey = isSubKeyword(line);
|
|
19748
19771
|
const isKey = isKeyword(line);
|
|
19749
|
-
if (
|
|
19750
|
-
|
|
19751
|
-
|
|
19752
|
-
|
|
19753
|
-
|
|
19754
|
-
|
|
19755
|
-
|
|
19756
|
-
|
|
19757
|
-
|
|
19758
|
-
|
|
19759
|
-
|
|
19760
|
-
|
|
19772
|
+
if (!isKeyRunon) {
|
|
19773
|
+
if (key === "LOCUS") {
|
|
19774
|
+
LINETYPE = key;
|
|
19775
|
+
} else if (key === "REFERENCE") {
|
|
19776
|
+
LINETYPE = key;
|
|
19777
|
+
} else if (key === "FEATURES") {
|
|
19778
|
+
LINETYPE = key;
|
|
19779
|
+
} else if (key === "ORIGIN") {
|
|
19780
|
+
LINETYPE = key;
|
|
19781
|
+
} else if (key === "//") {
|
|
19782
|
+
LINETYPE = key;
|
|
19783
|
+
} else if (isKey === true) {
|
|
19784
|
+
LINETYPE = key;
|
|
19785
|
+
}
|
|
19761
19786
|
}
|
|
19762
19787
|
if (line.trim() === "" || key === ";") {
|
|
19763
19788
|
return false;
|
|
@@ -19926,7 +19951,6 @@ function genbankToJson(string, options = {}) {
|
|
|
19926
19951
|
__name(parseOrigin, "parseOrigin");
|
|
19927
19952
|
function parseLocus(line) {
|
|
19928
19953
|
result = createInitialSequence(options);
|
|
19929
|
-
let locusName;
|
|
19930
19954
|
let circular;
|
|
19931
19955
|
let gbDivision;
|
|
19932
19956
|
let date;
|
|
@@ -19937,7 +19961,7 @@ function genbankToJson(string, options = {}) {
|
|
|
19937
19961
|
);
|
|
19938
19962
|
addMessage("Import Warning: Locus line contains no values: " + line);
|
|
19939
19963
|
}
|
|
19940
|
-
locusName = lineArr[1];
|
|
19964
|
+
const locusName = lineArr[1];
|
|
19941
19965
|
for (let i = 1; i < lineArr.length; i++) {
|
|
19942
19966
|
if (lineArr[i].match(/circular/gi)) {
|
|
19943
19967
|
circular = true;
|
|
@@ -20090,10 +20114,10 @@ function genbankToJson(string, options = {}) {
|
|
|
20090
20114
|
}
|
|
20091
20115
|
__name(parseFeatureLocation, "parseFeatureLocation");
|
|
20092
20116
|
function parseFeatureNote(line) {
|
|
20093
|
-
let newLine
|
|
20117
|
+
let newLine;
|
|
20094
20118
|
newLine = line.trimLeft();
|
|
20095
20119
|
newLine = newLine.replace(/^\/|"$/g, "");
|
|
20096
|
-
lineArr = newLine.split(/="|=/);
|
|
20120
|
+
const lineArr = newLine.split(/="|=/);
|
|
20097
20121
|
let val2 = lineArr.slice(1).join("=");
|
|
20098
20122
|
if (val2) {
|
|
20099
20123
|
val2 = val2.replace(/\\/g, " ");
|
|
@@ -20221,7 +20245,7 @@ function getLengthOfWhiteSpaceBeforeStartOfLetters(string) {
|
|
|
20221
20245
|
}
|
|
20222
20246
|
}
|
|
20223
20247
|
__name(getLengthOfWhiteSpaceBeforeStartOfLetters, "getLengthOfWhiteSpaceBeforeStartOfLetters");
|
|
20224
|
-
class
|
|
20248
|
+
const _Match = class _Match {
|
|
20225
20249
|
constructor(props) {
|
|
20226
20250
|
Object.assign(this, props);
|
|
20227
20251
|
this.value = this.obj[this.prop];
|
|
@@ -20238,8 +20262,9 @@ class Match {
|
|
|
20238
20262
|
log() {
|
|
20239
20263
|
console.info(this.toString());
|
|
20240
20264
|
}
|
|
20241
|
-
}
|
|
20242
|
-
__name(
|
|
20265
|
+
};
|
|
20266
|
+
__name(_Match, "Match");
|
|
20267
|
+
let Match = _Match;
|
|
20243
20268
|
const GLOBAL = typeof window == "object" ? window : global;
|
|
20244
20269
|
function searchWholeObjByName(what, where) {
|
|
20245
20270
|
const searchBy = /* @__PURE__ */ __name((what2, where2, prop) => what2 == prop, "searchBy");
|
|
@@ -20285,13 +20310,13 @@ function searchWholeObjByName(what, where) {
|
|
|
20285
20310
|
}
|
|
20286
20311
|
__name(searchWholeObjByName, "searchWholeObjByName");
|
|
20287
20312
|
function searchWholeObjByNameSimple(what, where) {
|
|
20288
|
-
var
|
|
20289
|
-
return (_c = (
|
|
20313
|
+
var _a3, _b3, _c;
|
|
20314
|
+
return (_c = (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value) == null ? void 0 : _c[0];
|
|
20290
20315
|
}
|
|
20291
20316
|
__name(searchWholeObjByNameSimple, "searchWholeObjByNameSimple");
|
|
20292
20317
|
function searchWholeObjByNameSimpleArray(what, where) {
|
|
20293
|
-
var
|
|
20294
|
-
return (
|
|
20318
|
+
var _a3, _b3;
|
|
20319
|
+
return (_b3 = (_a3 = searchWholeObjByName(what, where)) == null ? void 0 : _a3[0]) == null ? void 0 : _b3.value;
|
|
20295
20320
|
}
|
|
20296
20321
|
__name(searchWholeObjByNameSimpleArray, "searchWholeObjByNameSimpleArray");
|
|
20297
20322
|
var validator$2 = {};
|
|
@@ -20719,7 +20744,7 @@ const buildOptions$1 = /* @__PURE__ */ __name(function(options) {
|
|
|
20719
20744
|
}, "buildOptions$1");
|
|
20720
20745
|
OptionsBuilder.buildOptions = buildOptions$1;
|
|
20721
20746
|
OptionsBuilder.defaultOptions = defaultOptions$1;
|
|
20722
|
-
class
|
|
20747
|
+
const _XmlNode = class _XmlNode {
|
|
20723
20748
|
constructor(tagname) {
|
|
20724
20749
|
this.tagname = tagname;
|
|
20725
20750
|
this.child = [];
|
|
@@ -20739,8 +20764,9 @@ class XmlNode {
|
|
|
20739
20764
|
this.child.push({ [node.tagname]: node.child });
|
|
20740
20765
|
}
|
|
20741
20766
|
}
|
|
20742
|
-
}
|
|
20743
|
-
__name(
|
|
20767
|
+
};
|
|
20768
|
+
__name(_XmlNode, "XmlNode");
|
|
20769
|
+
let XmlNode = _XmlNode;
|
|
20744
20770
|
var xmlNode$1 = XmlNode;
|
|
20745
20771
|
const util$2 = util$4;
|
|
20746
20772
|
function readDocType$1(xmlData, i) {
|
|
@@ -20951,7 +20977,7 @@ const xmlNode = xmlNode$1;
|
|
|
20951
20977
|
const readDocType = DocTypeReader;
|
|
20952
20978
|
const toNumber = strnum;
|
|
20953
20979
|
"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g, util$1.nameRegexp);
|
|
20954
|
-
let OrderedObjParser$1 =
|
|
20980
|
+
let OrderedObjParser$1 = (_a = class {
|
|
20955
20981
|
constructor(options) {
|
|
20956
20982
|
this.options = options;
|
|
20957
20983
|
this.currentNode = null;
|
|
@@ -20990,7 +21016,7 @@ let OrderedObjParser$1 = /* @__PURE__ */ __name(class OrderedObjParser {
|
|
|
20990
21016
|
this.saveTextToParentTag = saveTextToParentTag;
|
|
20991
21017
|
this.addChild = addChild;
|
|
20992
21018
|
}
|
|
20993
|
-
}, "OrderedObjParser");
|
|
21019
|
+
}, __name(_a, "OrderedObjParser"), _a);
|
|
20994
21020
|
function addExternalEntities(externalEntities) {
|
|
20995
21021
|
const entKeys = Object.keys(externalEntities);
|
|
20996
21022
|
for (let i = 0; i < entKeys.length; i++) {
|
|
@@ -21222,6 +21248,7 @@ const parseXml = /* @__PURE__ */ __name(function(xmlData) {
|
|
|
21222
21248
|
if (tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1) {
|
|
21223
21249
|
if (tagName[tagName.length - 1] === "/") {
|
|
21224
21250
|
tagName = tagName.substr(0, tagName.length - 1);
|
|
21251
|
+
jPath = jPath.substr(0, jPath.length - 1);
|
|
21225
21252
|
tagExp = tagName;
|
|
21226
21253
|
} else {
|
|
21227
21254
|
tagExp = tagExp.substr(0, tagExp.length - 1);
|
|
@@ -21539,10 +21566,10 @@ function isLeafTag(obj, options) {
|
|
|
21539
21566
|
__name(isLeafTag, "isLeafTag");
|
|
21540
21567
|
node2json.prettify = prettify$1;
|
|
21541
21568
|
const { buildOptions } = OptionsBuilder;
|
|
21542
|
-
const
|
|
21569
|
+
const OrderedObjParser = OrderedObjParser_1;
|
|
21543
21570
|
const { prettify } = node2json;
|
|
21544
21571
|
const validator$1 = validator$2;
|
|
21545
|
-
let XMLParser$1 =
|
|
21572
|
+
let XMLParser$1 = (_b = class {
|
|
21546
21573
|
constructor(options) {
|
|
21547
21574
|
this.externalEntities = {};
|
|
21548
21575
|
this.options = buildOptions(options);
|
|
@@ -21568,7 +21595,7 @@ let XMLParser$1 = /* @__PURE__ */ __name(class XMLParser {
|
|
|
21568
21595
|
throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);
|
|
21569
21596
|
}
|
|
21570
21597
|
}
|
|
21571
|
-
const orderedObjParser = new
|
|
21598
|
+
const orderedObjParser = new OrderedObjParser(this.options);
|
|
21572
21599
|
orderedObjParser.addExternalEntities(this.externalEntities);
|
|
21573
21600
|
const orderedResult = orderedObjParser.parseXml(xmlData);
|
|
21574
21601
|
if (this.options.preserveOrder || orderedResult === void 0)
|
|
@@ -21592,7 +21619,7 @@ let XMLParser$1 = /* @__PURE__ */ __name(class XMLParser {
|
|
|
21592
21619
|
this.externalEntities[key] = value;
|
|
21593
21620
|
}
|
|
21594
21621
|
}
|
|
21595
|
-
}, "XMLParser");
|
|
21622
|
+
}, __name(_b, "XMLParser"), _b);
|
|
21596
21623
|
var XMLParser_1 = XMLParser$1;
|
|
21597
21624
|
const EOL = "\n";
|
|
21598
21625
|
function toXml(jArray, options) {
|
|
@@ -21797,13 +21824,18 @@ Builder.prototype.j2x = function(jObj, level) {
|
|
|
21797
21824
|
let attrStr = "";
|
|
21798
21825
|
let val2 = "";
|
|
21799
21826
|
for (let key in jObj) {
|
|
21800
|
-
if (typeof jObj[key] === "undefined")
|
|
21801
|
-
|
|
21802
|
-
|
|
21803
|
-
|
|
21827
|
+
if (typeof jObj[key] === "undefined") {
|
|
21828
|
+
if (this.isAttribute(key)) {
|
|
21829
|
+
val2 += "";
|
|
21830
|
+
}
|
|
21831
|
+
} else if (jObj[key] === null) {
|
|
21832
|
+
if (this.isAttribute(key)) {
|
|
21833
|
+
val2 += "";
|
|
21834
|
+
} else if (key[0] === "?") {
|
|
21804
21835
|
val2 += this.indentate(level) + "<" + key + "?" + this.tagEndChar;
|
|
21805
|
-
else
|
|
21836
|
+
} else {
|
|
21806
21837
|
val2 += this.indentate(level) + "<" + key + "/" + this.tagEndChar;
|
|
21838
|
+
}
|
|
21807
21839
|
} else if (jObj[key] instanceof Date) {
|
|
21808
21840
|
val2 += this.buildTextValNode(jObj[key], key, "", level);
|
|
21809
21841
|
} else if (typeof jObj[key] !== "object") {
|
|
@@ -21889,7 +21921,7 @@ Builder.prototype.buildObjectNode = function(val2, key, attrStr, level) {
|
|
|
21889
21921
|
piClosingChar = "?";
|
|
21890
21922
|
tagEndExp = "";
|
|
21891
21923
|
}
|
|
21892
|
-
if (attrStr && val2.indexOf("<") === -1) {
|
|
21924
|
+
if ((attrStr || attrStr === "") && val2.indexOf("<") === -1) {
|
|
21893
21925
|
return this.indentate(level) + "<" + key + attrStr + piClosingChar + ">" + val2 + tagEndExp;
|
|
21894
21926
|
} else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {
|
|
21895
21927
|
return this.indentate(level) + `<!--${val2}-->` + this.newLine;
|
|
@@ -21941,7 +21973,7 @@ function indentate(level) {
|
|
|
21941
21973
|
}
|
|
21942
21974
|
__name(indentate, "indentate");
|
|
21943
21975
|
function isAttribute(name) {
|
|
21944
|
-
if (name.startsWith(this.options.attributeNamePrefix)) {
|
|
21976
|
+
if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {
|
|
21945
21977
|
return name.substr(this.attrPrefixLen);
|
|
21946
21978
|
} else {
|
|
21947
21979
|
return false;
|
|
@@ -21950,10 +21982,10 @@ function isAttribute(name) {
|
|
|
21950
21982
|
__name(isAttribute, "isAttribute");
|
|
21951
21983
|
var json2xml = Builder;
|
|
21952
21984
|
const validator = validator$2;
|
|
21953
|
-
const
|
|
21985
|
+
const XMLParser = XMLParser_1;
|
|
21954
21986
|
const XMLBuilder = json2xml;
|
|
21955
21987
|
var fxp = {
|
|
21956
|
-
XMLParser
|
|
21988
|
+
XMLParser,
|
|
21957
21989
|
XMLValidator: validator,
|
|
21958
21990
|
XMLBuilder
|
|
21959
21991
|
};
|
|
@@ -22069,19 +22101,6 @@ function parseSbolJson(sbolJson, options) {
|
|
|
22069
22101
|
};
|
|
22070
22102
|
}
|
|
22071
22103
|
__name(parseSbolJson, "parseSbolJson");
|
|
22072
|
-
function extractFileExtension(name) {
|
|
22073
|
-
if (typeof name === "string") {
|
|
22074
|
-
let ext = "";
|
|
22075
|
-
const match = name.match(/\.(\w+)$/);
|
|
22076
|
-
if (match && match[1]) {
|
|
22077
|
-
ext = match[1];
|
|
22078
|
-
}
|
|
22079
|
-
return ext;
|
|
22080
|
-
} else {
|
|
22081
|
-
return "";
|
|
22082
|
-
}
|
|
22083
|
-
}
|
|
22084
|
-
__name(extractFileExtension, "extractFileExtension");
|
|
22085
22104
|
/*!
|
|
22086
22105
|
* Copyright 2008 Fair Oaks Labs, Inc.
|
|
22087
22106
|
* All rights reserved.
|
|
@@ -25884,7 +25903,8 @@ var buffer$1 = {};
|
|
|
25884
25903
|
}, "fill");
|
|
25885
25904
|
const errors = {};
|
|
25886
25905
|
function E(sym, getMessage, Base) {
|
|
25887
|
-
|
|
25906
|
+
var _a3;
|
|
25907
|
+
errors[sym] = (_a3 = class extends Base {
|
|
25888
25908
|
constructor() {
|
|
25889
25909
|
super();
|
|
25890
25910
|
Object.defineProperty(this, "message", {
|
|
@@ -25910,7 +25930,7 @@ var buffer$1 = {};
|
|
|
25910
25930
|
toString() {
|
|
25911
25931
|
return `${this.name} [${sym}]: ${this.message}`;
|
|
25912
25932
|
}
|
|
25913
|
-
}, "NodeError");
|
|
25933
|
+
}, __name(_a3, "NodeError"), _a3);
|
|
25914
25934
|
}
|
|
25915
25935
|
__name(E, "E");
|
|
25916
25936
|
E(
|
|
@@ -29393,7 +29413,7 @@ const containerAttributes = {
|
|
|
29393
29413
|
Parent: "child_features",
|
|
29394
29414
|
Derives_from: "derived_features"
|
|
29395
29415
|
};
|
|
29396
|
-
class
|
|
29416
|
+
const _FASTAParser = class _FASTAParser {
|
|
29397
29417
|
constructor(seqCallback) {
|
|
29398
29418
|
this.seqCallback = seqCallback;
|
|
29399
29419
|
this.currentSequence = void 0;
|
|
@@ -29416,9 +29436,10 @@ class FASTAParser {
|
|
|
29416
29436
|
finish() {
|
|
29417
29437
|
this._flush();
|
|
29418
29438
|
}
|
|
29419
|
-
}
|
|
29420
|
-
__name(
|
|
29421
|
-
|
|
29439
|
+
};
|
|
29440
|
+
__name(_FASTAParser, "FASTAParser");
|
|
29441
|
+
let FASTAParser = _FASTAParser;
|
|
29442
|
+
const _Parser = class _Parser {
|
|
29422
29443
|
constructor(args) {
|
|
29423
29444
|
this.fastaParser = void 0;
|
|
29424
29445
|
this.eof = false;
|
|
@@ -29537,14 +29558,14 @@ class Parser {
|
|
|
29537
29558
|
}
|
|
29538
29559
|
// do the right thing with a newly-parsed feature line
|
|
29539
29560
|
_bufferLine(line) {
|
|
29540
|
-
var
|
|
29561
|
+
var _a3, _b3, _c;
|
|
29541
29562
|
const rawFeatureLine = parseFeature(line);
|
|
29542
29563
|
const featureLine = __spreadProps(__spreadValues({}, rawFeatureLine), {
|
|
29543
29564
|
child_features: [],
|
|
29544
29565
|
derived_features: []
|
|
29545
29566
|
});
|
|
29546
|
-
const ids = ((
|
|
29547
|
-
const parents = ((
|
|
29567
|
+
const ids = ((_a3 = featureLine.attributes) === null || _a3 === void 0 ? void 0 : _a3.ID) || [];
|
|
29568
|
+
const parents = ((_b3 = featureLine.attributes) === null || _b3 === void 0 ? void 0 : _b3.Parent) || [];
|
|
29548
29569
|
const derives = this.disableDerivesFromReferences ? [] : ((_c = featureLine.attributes) === null || _c === void 0 ? void 0 : _c.Derives_from) || [];
|
|
29549
29570
|
if (!ids.length && !parents.length && !derives.length) {
|
|
29550
29571
|
this._emitItem([featureLine]);
|
|
@@ -29642,8 +29663,9 @@ class Parser {
|
|
|
29642
29663
|
}
|
|
29643
29664
|
});
|
|
29644
29665
|
}
|
|
29645
|
-
}
|
|
29646
|
-
__name(
|
|
29666
|
+
};
|
|
29667
|
+
__name(_Parser, "Parser");
|
|
29668
|
+
let Parser = _Parser;
|
|
29647
29669
|
function _callback(callback) {
|
|
29648
29670
|
if (process && process.nextTick)
|
|
29649
29671
|
process.nextTick(callback);
|
|
@@ -29670,7 +29692,7 @@ function _processParseOptions(options) {
|
|
|
29670
29692
|
return out;
|
|
29671
29693
|
}
|
|
29672
29694
|
__name(_processParseOptions, "_processParseOptions");
|
|
29673
|
-
class
|
|
29695
|
+
const _GFFTransform = class _GFFTransform extends streamBrowserify.Transform {
|
|
29674
29696
|
constructor(inputOptions = {}) {
|
|
29675
29697
|
super({ objectMode: true });
|
|
29676
29698
|
this.textBuffer = "";
|
|
@@ -29710,8 +29732,9 @@ class GFFTransform extends streamBrowserify.Transform {
|
|
|
29710
29732
|
this.parser.finish();
|
|
29711
29733
|
_callback(callback);
|
|
29712
29734
|
}
|
|
29713
|
-
}
|
|
29714
|
-
__name(
|
|
29735
|
+
};
|
|
29736
|
+
__name(_GFFTransform, "GFFTransform");
|
|
29737
|
+
let GFFTransform = _GFFTransform;
|
|
29715
29738
|
function parseStream(options = {}) {
|
|
29716
29739
|
return new GFFTransform(options);
|
|
29717
29740
|
}
|
|
@@ -29755,7 +29778,7 @@ function formatSync(items) {
|
|
|
29755
29778
|
return str;
|
|
29756
29779
|
}
|
|
29757
29780
|
__name(formatSync, "formatSync");
|
|
29758
|
-
class
|
|
29781
|
+
const _FormattingTransform = class _FormattingTransform extends streamBrowserify.Transform {
|
|
29759
29782
|
constructor(options = {}) {
|
|
29760
29783
|
super(Object.assign(options, { objectMode: true }));
|
|
29761
29784
|
this.linesSinceLastSyncMark = 0;
|
|
@@ -29797,8 +29820,9 @@ class FormattingTransform extends streamBrowserify.Transform {
|
|
|
29797
29820
|
this.haveWeEmittedData = true;
|
|
29798
29821
|
_callback(callback);
|
|
29799
29822
|
}
|
|
29800
|
-
}
|
|
29801
|
-
__name(
|
|
29823
|
+
};
|
|
29824
|
+
__name(_FormattingTransform, "FormattingTransform");
|
|
29825
|
+
let FormattingTransform = _FormattingTransform;
|
|
29802
29826
|
function formatStream(options = {}) {
|
|
29803
29827
|
return new FormattingTransform(options);
|
|
29804
29828
|
}
|
|
@@ -29899,13 +29923,10 @@ function geneiousXmlToJson(string, options) {
|
|
|
29899
29923
|
});
|
|
29900
29924
|
}
|
|
29901
29925
|
});
|
|
29902
|
-
const toRet = lodashExports.filter(
|
|
29903
|
-
|
|
29904
|
-
(r)
|
|
29905
|
-
|
|
29906
|
-
return (_b2 = (_a2 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a2.sequence) == null ? void 0 : _b2.length;
|
|
29907
|
-
}
|
|
29908
|
-
);
|
|
29926
|
+
const toRet = lodashExports.filter(resultArray, (r) => {
|
|
29927
|
+
var _a3, _b3;
|
|
29928
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
29929
|
+
});
|
|
29909
29930
|
if (toRet.length)
|
|
29910
29931
|
return toRet;
|
|
29911
29932
|
return onFileParsed(resultArray);
|
|
@@ -30010,13 +30031,10 @@ function jbeiXmlToJson(string, options) {
|
|
|
30010
30031
|
messages: ["Error while parsing JBEI format"]
|
|
30011
30032
|
});
|
|
30012
30033
|
}
|
|
30013
|
-
const toRet = lodashExports.filter(
|
|
30014
|
-
|
|
30015
|
-
(r)
|
|
30016
|
-
|
|
30017
|
-
return (_b2 = (_a2 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a2.sequence) == null ? void 0 : _b2.length;
|
|
30018
|
-
}
|
|
30019
|
-
);
|
|
30034
|
+
const toRet = lodashExports.filter(resultArray, (r) => {
|
|
30035
|
+
var _a3, _b3;
|
|
30036
|
+
return (_b3 = (_a3 = r == null ? void 0 : r.parsedSequence) == null ? void 0 : _a3.sequence) == null ? void 0 : _b3.length;
|
|
30037
|
+
});
|
|
30020
30038
|
if (toRet.length)
|
|
30021
30039
|
return toRet;
|
|
30022
30040
|
return onFileParsed(resultArray);
|
|
@@ -30161,9 +30179,9 @@ var freb = /* @__PURE__ */ __name(function(eb, start) {
|
|
|
30161
30179
|
}
|
|
30162
30180
|
return { b, r };
|
|
30163
30181
|
}, "freb");
|
|
30164
|
-
var
|
|
30182
|
+
var _a2 = freb(fleb, 2), fl = _a2.b, revfl = _a2.r;
|
|
30165
30183
|
fl[28] = 258, revfl[258] = 28;
|
|
30166
|
-
var
|
|
30184
|
+
var _b2 = freb(fdeb, 0), fd = _b2.b;
|
|
30167
30185
|
var rev = new u16(32768);
|
|
30168
30186
|
for (var i = 0; i < 32768; ++i) {
|
|
30169
30187
|
var x = (i & 43690) >> 1 | (i & 21845) << 1;
|
|
@@ -30466,7 +30484,7 @@ function strFromU8(dat, latin1) {
|
|
|
30466
30484
|
} else if (td) {
|
|
30467
30485
|
return td.decode(dat);
|
|
30468
30486
|
} else {
|
|
30469
|
-
var
|
|
30487
|
+
var _a3 = dutf8(dat), s = _a3.s, r = _a3.r;
|
|
30470
30488
|
if (r.length)
|
|
30471
30489
|
err(8);
|
|
30472
30490
|
return s;
|
|
@@ -30478,7 +30496,7 @@ var slzh = /* @__PURE__ */ __name(function(d, b) {
|
|
|
30478
30496
|
}, "slzh");
|
|
30479
30497
|
var zh = /* @__PURE__ */ __name(function(d, b, z) {
|
|
30480
30498
|
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);
|
|
30481
|
-
var
|
|
30499
|
+
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];
|
|
30482
30500
|
return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];
|
|
30483
30501
|
}, "zh");
|
|
30484
30502
|
var z64e = /* @__PURE__ */ __name(function(d, b) {
|
|
@@ -30508,7 +30526,7 @@ function unzipSync(data, opts) {
|
|
|
30508
30526
|
}
|
|
30509
30527
|
var fltr = opts && opts.filter;
|
|
30510
30528
|
for (var i = 0; i < c; ++i) {
|
|
30511
|
-
var
|
|
30529
|
+
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);
|
|
30512
30530
|
o = no;
|
|
30513
30531
|
if (!fltr || fltr({
|
|
30514
30532
|
name: fn,
|
|
@@ -30567,7 +30585,7 @@ function anyToJson(fileContentStringOrFileObj, options) {
|
|
|
30567
30585
|
);
|
|
30568
30586
|
}
|
|
30569
30587
|
}
|
|
30570
|
-
if (/^(fasta|fas|fa|fna|ffn)$/.test(ext)) {
|
|
30588
|
+
if (/^(fasta|fas|fa|fna|ffn|faa)$/.test(ext)) {
|
|
30571
30589
|
return fastaToJson(fileContentString, options);
|
|
30572
30590
|
} else if (/^(gb|gbk)$/.test(ext)) {
|
|
30573
30591
|
return genbankToJson(fileContentString, options);
|
|
@@ -32396,18 +32414,17 @@ function jsonToGenbank(_serSeq, options) {
|
|
|
32396
32414
|
}
|
|
32397
32415
|
__name(jsonToGenbank, "jsonToGenbank");
|
|
32398
32416
|
function createGenbankLocus(serSeq, options) {
|
|
32399
|
-
var
|
|
32417
|
+
var _a3, _b3;
|
|
32400
32418
|
if (serSeq.sequence.symbols) {
|
|
32401
32419
|
serSeq.sequence = serSeq.sequence.symbols.split("");
|
|
32402
32420
|
}
|
|
32403
|
-
let tmp;
|
|
32404
32421
|
let dnaType;
|
|
32405
32422
|
if (serSeq.isProtein) {
|
|
32406
32423
|
dnaType = "";
|
|
32407
32424
|
} else if (serSeq.type === "RNA") {
|
|
32408
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (
|
|
32425
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "RNA" : (_a3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _a3 : "ss-RNA";
|
|
32409
32426
|
} else {
|
|
32410
|
-
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (
|
|
32427
|
+
dnaType = (serSeq == null ? void 0 : serSeq.doubleStranded) ? "DNA" : (_b3 = serSeq == null ? void 0 : serSeq.sequenceTypeFromLocus) != null ? _b3 : "DNA";
|
|
32411
32428
|
}
|
|
32412
32429
|
const date = getCurrentDateString();
|
|
32413
32430
|
let line = StringUtil.rpad("LOCUS", " ", 12);
|
|
@@ -32417,7 +32434,7 @@ function createGenbankLocus(serSeq, options) {
|
|
|
32417
32434
|
line += " ";
|
|
32418
32435
|
line += StringUtil.lpad(String(serSeq.sequence.length), " ", 11);
|
|
32419
32436
|
line += serSeq.isProtein ? " aa " : " bp ";
|
|
32420
|
-
tmp = "";
|
|
32437
|
+
const tmp = "";
|
|
32421
32438
|
line += StringUtil.lpad(tmp, " ", 3);
|
|
32422
32439
|
line += StringUtil.rpad(dnaType, " ", 6);
|
|
32423
32440
|
line += " ";
|