@teselagen/ove 0.3.50 → 0.3.51

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/index.es.js CHANGED
@@ -6799,10 +6799,10 @@ var ownKeys$7 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownK
6799
6799
  /* istanbul ignore next */
6800
6800
  Object.getOwnPropertyNames
6801
6801
  );
6802
- function toPrimitive$2(value) {
6802
+ function toPrimitive$3(value) {
6803
6803
  return value === null ? null : typeof value === "object" ? "" + value : value;
6804
6804
  }
6805
- __name(toPrimitive$2, "toPrimitive$2");
6805
+ __name(toPrimitive$3, "toPrimitive$3");
6806
6806
  function hasProp(target, prop2) {
6807
6807
  return objectPrototype$1.hasOwnProperty.call(target, prop2);
6808
6808
  }
@@ -7699,7 +7699,7 @@ var ObservableValue = /* @__PURE__ */ function(_Atom) {
7699
7699
  return this.name_ + "[" + this.value_ + "]";
7700
7700
  }, "toString");
7701
7701
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
7702
- return toPrimitive$2(this.get());
7702
+ return toPrimitive$3(this.get());
7703
7703
  }, "valueOf");
7704
7704
  _proto[_Symbol$toPrimitive] = function() {
7705
7705
  return this.valueOf();
@@ -7884,7 +7884,7 @@ var ComputedValue = /* @__PURE__ */ function() {
7884
7884
  return this.name_ + "[" + this.derivation.toString() + "]";
7885
7885
  }, "toString");
7886
7886
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
7887
- return toPrimitive$2(this.get());
7887
+ return toPrimitive$3(this.get());
7888
7888
  }, "valueOf");
7889
7889
  _proto[_Symbol$toPrimitive$1] = function() {
7890
7890
  return this.valueOf();
@@ -12518,7 +12518,7 @@ lodash.exports;
12518
12518
  "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar2, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
12519
12519
  );
12520
12520
  var Buffer2 = moduleExports2 ? context.Buffer : undefined$12, Symbol2 = context.Symbol, Uint8Array2 = context.Uint8Array, allocUnsafe2 = Buffer2 ? Buffer2.allocUnsafe : undefined$12, getPrototype2 = overArg2(Object2.getPrototypeOf, Object2), objectCreate2 = Object2.create, propertyIsEnumerable3 = objectProto2.propertyIsEnumerable, splice3 = arrayProto2.splice, spreadableSymbol2 = Symbol2 ? Symbol2.isConcatSpreadable : undefined$12, symIterator = Symbol2 ? Symbol2.iterator : undefined$12, symToStringTag2 = Symbol2 ? Symbol2.toStringTag : undefined$12;
12521
- var defineProperty5 = function() {
12521
+ var defineProperty6 = function() {
12522
12522
  try {
12523
12523
  var func = getNative2(Object2, "defineProperty");
12524
12524
  func({}, "", {});
@@ -12958,8 +12958,8 @@ lodash.exports;
12958
12958
  }
12959
12959
  __name(baseAssignIn2, "baseAssignIn");
12960
12960
  function baseAssignValue2(object3, key, value) {
12961
- if (key == "__proto__" && defineProperty5) {
12962
- defineProperty5(object3, key, {
12961
+ if (key == "__proto__" && defineProperty6) {
12962
+ defineProperty6(object3, key, {
12963
12963
  "configurable": true,
12964
12964
  "enumerable": true,
12965
12965
  "value": value,
@@ -13692,8 +13692,8 @@ lodash.exports;
13692
13692
  metaMap.set(func, data);
13693
13693
  return func;
13694
13694
  };
13695
- var baseSetToString2 = !defineProperty5 ? identity4 : function(func, string2) {
13696
- return defineProperty5(func, "toString", {
13695
+ var baseSetToString2 = !defineProperty6 ? identity4 : function(func, string2) {
13696
+ return defineProperty6(func, "toString", {
13697
13697
  "configurable": true,
13698
13698
  "enumerable": false,
13699
13699
  "value": constant2(string2),
@@ -18218,20 +18218,11 @@ var _fails = /* @__PURE__ */ __name(function(exec) {
18218
18218
  return true;
18219
18219
  }
18220
18220
  }, "_fails");
18221
- var _descriptors;
18222
- var hasRequired_descriptors;
18223
- function require_descriptors() {
18224
- if (hasRequired_descriptors)
18225
- return _descriptors;
18226
- hasRequired_descriptors = 1;
18227
- _descriptors = !_fails(function() {
18228
- return Object.defineProperty({}, "a", { get: function() {
18229
- return 7;
18230
- } }).a != 7;
18231
- });
18232
- return _descriptors;
18233
- }
18234
- __name(require_descriptors, "require_descriptors");
18221
+ var _descriptors = !_fails(function() {
18222
+ return Object.defineProperty({}, "a", { get: function() {
18223
+ return 7;
18224
+ } }).a != 7;
18225
+ });
18235
18226
  var _domCreate;
18236
18227
  var hasRequired_domCreate;
18237
18228
  function require_domCreate() {
@@ -18247,20 +18238,11 @@ function require_domCreate() {
18247
18238
  return _domCreate;
18248
18239
  }
18249
18240
  __name(require_domCreate, "require_domCreate");
18250
- var _ie8DomDefine;
18251
- var hasRequired_ie8DomDefine;
18252
- function require_ie8DomDefine() {
18253
- if (hasRequired_ie8DomDefine)
18254
- return _ie8DomDefine;
18255
- hasRequired_ie8DomDefine = 1;
18256
- _ie8DomDefine = !require_descriptors() && !_fails(function() {
18257
- return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
18258
- return 7;
18259
- } }).a != 7;
18260
- });
18261
- return _ie8DomDefine;
18262
- }
18263
- __name(require_ie8DomDefine, "require_ie8DomDefine");
18241
+ var _ie8DomDefine = !_descriptors && !_fails(function() {
18242
+ return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
18243
+ return 7;
18244
+ } }).a != 7;
18245
+ });
18264
18246
  var isObject$d = _isObject;
18265
18247
  var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
18266
18248
  if (!isObject$d(it))
@@ -18274,33 +18256,25 @@ var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
18274
18256
  return val2;
18275
18257
  throw TypeError("Can't convert object to primitive value");
18276
18258
  }, "_toPrimitive$1");
18277
- var hasRequired_objectDp;
18278
- function require_objectDp() {
18279
- if (hasRequired_objectDp)
18280
- return _objectDp;
18281
- hasRequired_objectDp = 1;
18282
- var anObject2 = _anObject;
18283
- var IE8_DOM_DEFINE2 = require_ie8DomDefine();
18284
- var toPrimitive2 = _toPrimitive$1;
18285
- var dP2 = Object.defineProperty;
18286
- _objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty5(O2, P2, Attributes) {
18287
- anObject2(O2);
18288
- P2 = toPrimitive2(P2, true);
18289
- anObject2(Attributes);
18290
- if (IE8_DOM_DEFINE2)
18291
- try {
18292
- return dP2(O2, P2, Attributes);
18293
- } catch (e2) {
18294
- }
18295
- if ("get" in Attributes || "set" in Attributes)
18296
- throw TypeError("Accessors not supported!");
18297
- if ("value" in Attributes)
18298
- O2[P2] = Attributes.value;
18299
- return O2;
18300
- }, "defineProperty");
18301
- return _objectDp;
18302
- }
18303
- __name(require_objectDp, "require_objectDp");
18259
+ var anObject$5 = _anObject;
18260
+ var IE8_DOM_DEFINE$1 = _ie8DomDefine;
18261
+ var toPrimitive$2 = _toPrimitive$1;
18262
+ var dP$3 = Object.defineProperty;
18263
+ _objectDp.f = _descriptors ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
18264
+ anObject$5(O2);
18265
+ P2 = toPrimitive$2(P2, true);
18266
+ anObject$5(Attributes);
18267
+ if (IE8_DOM_DEFINE$1)
18268
+ try {
18269
+ return dP$3(O2, P2, Attributes);
18270
+ } catch (e2) {
18271
+ }
18272
+ if ("get" in Attributes || "set" in Attributes)
18273
+ throw TypeError("Accessors not supported!");
18274
+ if ("value" in Attributes)
18275
+ O2[P2] = Attributes.value;
18276
+ return O2;
18277
+ }, "defineProperty");
18304
18278
  var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
18305
18279
  return {
18306
18280
  enumerable: !(bitmap & 1),
@@ -18309,9 +18283,9 @@ var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
18309
18283
  value
18310
18284
  };
18311
18285
  }, "_propertyDesc");
18312
- var dP$2 = require_objectDp();
18286
+ var dP$2 = _objectDp;
18313
18287
  var createDesc$3 = _propertyDesc;
18314
- var _hide = require_descriptors() ? function(object3, key, value) {
18288
+ var _hide = _descriptors ? function(object3, key, value) {
18315
18289
  return dP$2.f(object3, key, createDesc$3(1, value));
18316
18290
  } : function(object3, key, value) {
18317
18291
  object3[key] = value;
@@ -18500,7 +18474,7 @@ function require_objectAssign() {
18500
18474
  if (hasRequired_objectAssign)
18501
18475
  return _objectAssign;
18502
18476
  hasRequired_objectAssign = 1;
18503
- var DESCRIPTORS2 = require_descriptors();
18477
+ var DESCRIPTORS2 = _descriptors;
18504
18478
  var getKeys2 = _objectKeys;
18505
18479
  var gOPS2 = _objectGops;
18506
18480
  var pIE2 = _objectPie;
@@ -18566,10 +18540,10 @@ var _iterStep = /* @__PURE__ */ __name(function(done, value) {
18566
18540
  }, "_iterStep");
18567
18541
  var _iterators = {};
18568
18542
  var _redefine = _hide;
18569
- var dP$1 = require_objectDp();
18543
+ var dP$1 = _objectDp;
18570
18544
  var anObject$4 = _anObject;
18571
18545
  var getKeys$1 = _objectKeys;
18572
- var _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
18546
+ var _objectDps = _descriptors ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
18573
18547
  anObject$4(O2);
18574
18548
  var keys5 = getKeys$1(Properties2);
18575
18549
  var length = keys5.length;
@@ -18636,7 +18610,7 @@ var $exports = _wks.exports = function(name2) {
18636
18610
  };
18637
18611
  $exports.store = store$2;
18638
18612
  var _wksExports = _wks.exports;
18639
- var def = require_objectDp().f;
18613
+ var def = _objectDp.f;
18640
18614
  var has$c = _has;
18641
18615
  var TAG$1 = _wksExports("toStringTag");
18642
18616
  var _setToStringTag = /* @__PURE__ */ __name(function(it, tag, stat) {
@@ -18909,7 +18883,7 @@ var ArrayProto = Array.prototype;
18909
18883
  var _isArrayIter = /* @__PURE__ */ __name(function(it) {
18910
18884
  return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
18911
18885
  }, "_isArrayIter");
18912
- var $defineProperty$2 = require_objectDp();
18886
+ var $defineProperty$2 = _objectDp;
18913
18887
  var createDesc$2 = _propertyDesc;
18914
18888
  var _createProperty = /* @__PURE__ */ __name(function(object3, index2, value) {
18915
18889
  if (index2 in object3)
@@ -19038,9 +19012,9 @@ var _default$8 = /* @__PURE__ */ __name(function(instance, Constructor) {
19038
19012
  }
19039
19013
  }, "_default$8");
19040
19014
  var $export$3 = _export;
19041
- $export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: require_objectDp().f });
19015
+ $export$3($export$3.S + $export$3.F * !_descriptors, "Object", { defineProperty: _objectDp.f });
19042
19016
  var $Object$2 = _coreExports.Object;
19043
- var defineProperty$c = /* @__PURE__ */ __name(function defineProperty2(it, key, desc) {
19017
+ var defineProperty$c = /* @__PURE__ */ __name(function defineProperty3(it, key, desc) {
19044
19018
  return $Object$2.defineProperty(it, key, desc);
19045
19019
  }, "defineProperty");
19046
19020
  var defineProperty$b = { "default": defineProperty$c, __esModule: true };
@@ -19079,7 +19053,7 @@ var _meta = { exports: {} };
19079
19053
  var META$1 = _uid("meta");
19080
19054
  var isObject$c = _isObject;
19081
19055
  var has$a = _has;
19082
- var setDesc = require_objectDp().f;
19056
+ var setDesc = _objectDp.f;
19083
19057
  var id$1 = 0;
19084
19058
  var isExtensible = Object.isExtensible || function() {
19085
19059
  return true;
@@ -19132,7 +19106,7 @@ var meta = _meta.exports = {
19132
19106
  var _metaExports = _meta.exports;
19133
19107
  var core = _coreExports;
19134
19108
  var wksExt$1 = _wksExt;
19135
- var defineProperty$a = require_objectDp().f;
19109
+ var defineProperty$a = _objectDp.f;
19136
19110
  var _wksDefine = /* @__PURE__ */ __name(function(name2) {
19137
19111
  var $Symbol2 = core.Symbol || (core.Symbol = {});
19138
19112
  if (name2.charAt(0) != "_" && !(name2 in $Symbol2))
@@ -19186,9 +19160,9 @@ var createDesc$1 = _propertyDesc;
19186
19160
  var toIObject$1 = _toIobject;
19187
19161
  var toPrimitive$1 = _toPrimitive$1;
19188
19162
  var has$9 = _has;
19189
- var IE8_DOM_DEFINE = require_ie8DomDefine();
19163
+ var IE8_DOM_DEFINE = _ie8DomDefine;
19190
19164
  var gOPD$5 = Object.getOwnPropertyDescriptor;
19191
- _objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
19165
+ _objectGopd.f = _descriptors ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
19192
19166
  O2 = toIObject$1(O2);
19193
19167
  P2 = toPrimitive$1(P2, true);
19194
19168
  if (IE8_DOM_DEFINE)
@@ -19201,7 +19175,7 @@ _objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function
19201
19175
  }, "getOwnPropertyDescriptor");
19202
19176
  var global$2 = _globalExports;
19203
19177
  var has$8 = _has;
19204
- var DESCRIPTORS = require_descriptors();
19178
+ var DESCRIPTORS = _descriptors;
19205
19179
  var $export$2 = _export;
19206
19180
  var redefine = _redefine;
19207
19181
  var META = _metaExports.KEY;
@@ -19224,7 +19198,7 @@ var _create$1 = _objectCreate;
19224
19198
  var gOPNExt = _objectGopnExt;
19225
19199
  var $GOPD = _objectGopd;
19226
19200
  var $GOPS = _objectGops;
19227
- var $DP = require_objectDp();
19201
+ var $DP = _objectDp;
19228
19202
  var $keys$1 = _objectKeys;
19229
19203
  var gOPD$4 = $GOPD.f;
19230
19204
  var dP = $DP.f;
@@ -19267,7 +19241,7 @@ var isSymbol$8 = USE_NATIVE && typeof $Symbol.iterator == "symbol" ? function(it
19267
19241
  } : function(it) {
19268
19242
  return it instanceof $Symbol;
19269
19243
  };
19270
- var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty3(it, key, D2) {
19244
+ var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty4(it, key, D2) {
19271
19245
  if (it === ObjectProto)
19272
19246
  $defineProperty$1(OPSymbols, key, D2);
19273
19247
  anObject(it);
@@ -84873,7 +84847,9 @@ function arrayRotate(arr, count2) {
84873
84847
  }
84874
84848
  __name(arrayRotate, "arrayRotate");
84875
84849
  function rotateSequenceDataToPosition(sequenceData2, caretPosition2, options) {
84876
- const newSequenceData = tidyUpSequenceData(sequenceData2, options);
84850
+ const newSequenceData = tidyUpSequenceData(sequenceData2, __spreadValues({
84851
+ doNotRemoveInvalidChars: true
84852
+ }, options));
84877
84853
  newSequenceData.sequence = rotateBpsToPosition(
84878
84854
  newSequenceData.sequence,
84879
84855
  caretPosition2
@@ -84910,7 +84886,7 @@ function adjustAnnotationsToInsert(annotationsToBeAdjusted, insertStart, insertL
84910
84886
  __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
84911
84887
  function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
84912
84888
  const { maintainOriginSplit } = options;
84913
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
84889
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
84914
84890
  const sequenceDataToInsert = tidyUpSequenceData(
84915
84891
  _sequenceDataToInsert,
84916
84892
  options
@@ -84928,6 +84904,7 @@ function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSeq
84928
84904
  return acc[type] = [];
84929
84905
  }, {})), {
84930
84906
  sequence: "",
84907
+ doNotRemoveInvalidChars: true,
84931
84908
  proteinSequence: "",
84932
84909
  chromatogramData: void 0
84933
84910
  }),
@@ -92958,7 +92935,7 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) {
92958
92935
  if (!range2)
92959
92936
  return seqData;
92960
92937
  const { exclude = {}, excludePartial = {} } = options;
92961
- const seqDataToUse = tidyUpSequenceData(seqData, options);
92938
+ const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
92962
92939
  annotationTypes.forEach((type) => {
92963
92940
  delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
92964
92941
  });
@@ -93009,9 +92986,9 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) {
93009
92986
  }
93010
92987
  });
93011
92988
  });
93012
- return tidyUpSequenceData(toRet, options);
92989
+ return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93013
92990
  }
93014
- return tidyUpSequenceData(seqDataToReturn, options);
92991
+ return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93015
92992
  }
93016
92993
  __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
93017
92994
  function getAnnotationsBetweenRange(annotationsToBeAdjusted, range2, maxLength, shouldExcludePartial) {
@@ -93058,7 +93035,7 @@ function getComplementSequenceAndAnnotations(pSeqObj, options = {}) {
93058
93035
  const newSeqObj = Object.assign({}, seqObj, {
93059
93036
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
93060
93037
  });
93061
- return tidyUpSequenceData(newSeqObj, options);
93038
+ return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93062
93039
  }
93063
93040
  __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
93064
93041
  function getCutsiteType(restrictionEnzyme) {
@@ -93106,7 +93083,7 @@ __name(getReverseComplementAnnotation, "getReverseComplementAnnotation");
93106
93083
  function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
93107
93084
  const seqObj = tidyUpSequenceData(
93108
93085
  getSequenceDataBetweenRange(pSeqObj, options.range),
93109
- options
93086
+ __spreadValues({ doNotRemoveInvalidChars: true }, options)
93110
93087
  );
93111
93088
  const newSeqObj = Object.assign(
93112
93089
  {},
@@ -93126,7 +93103,9 @@ function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
93126
93103
  return acc;
93127
93104
  }, {})
93128
93105
  );
93129
- return tidyUpSequenceData(newSeqObj, options);
93106
+ return tidyUpSequenceData(newSeqObj, __spreadValues({
93107
+ doNotRemoveInvalidChars: true
93108
+ }, options));
93130
93109
  }
93131
93110
  __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
93132
93111
  function guessIfSequenceIsDnaAndNotProtein(seq, options = {}) {
@@ -94072,6 +94051,30 @@ function flattenSequenceArray(parsingResultArray, opts2) {
94072
94051
  return parsingResultArray;
94073
94052
  }
94074
94053
  __name(flattenSequenceArray, "flattenSequenceArray");
94054
+ function parseFeatureLocation(locStr, isProtein2, inclusive1BasedStart, inclusive1BasedEnd) {
94055
+ locStr = locStr.trim();
94056
+ const locArr = [];
94057
+ locStr.replace(/(\d+)/g, function(string2, match2) {
94058
+ locArr.push(match2);
94059
+ });
94060
+ const locArray = [];
94061
+ for (let i = 0; i < locArr.length; i += 2) {
94062
+ const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
94063
+ let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
94064
+ if (isNaN(end2)) {
94065
+ end2 = start2;
94066
+ }
94067
+ const location2 = {
94068
+ start: start2,
94069
+ end: end2
94070
+ };
94071
+ locArray.push(
94072
+ isProtein2 ? convertAACaretPositionOrRangeToDna(location2) : location2
94073
+ );
94074
+ }
94075
+ return locArray;
94076
+ }
94077
+ __name(parseFeatureLocation, "parseFeatureLocation");
94075
94078
  function genbankToJson(string2, options = {}) {
94076
94079
  const {
94077
94080
  inclusive1BasedStart,
@@ -94396,7 +94399,15 @@ function genbankToJson(string2, options = {}) {
94396
94399
  }
94397
94400
  if (isFeatureLineRunon(line, featureLocationIndentation)) {
94398
94401
  if (lastLineWasLocation) {
94399
- parseFeatureLocation(line.trim(), options);
94402
+ const feat = getCurrentFeature();
94403
+ feat.locations = feat.locations.concat(
94404
+ parseFeatureLocation(
94405
+ line.trim(),
94406
+ options.isProtein,
94407
+ inclusive1BasedStart,
94408
+ inclusive1BasedEnd
94409
+ )
94410
+ );
94400
94411
  lastLineWasLocation = true;
94401
94412
  } else {
94402
94413
  if (currentFeatureNote) {
@@ -94422,7 +94433,14 @@ function genbankToJson(string2, options = {}) {
94422
94433
  const feat = getCurrentFeature();
94423
94434
  feat.type = key;
94424
94435
  feat.strand = strand;
94425
- parseFeatureLocation(val2, options);
94436
+ feat.locations = feat.locations.concat(
94437
+ parseFeatureLocation(
94438
+ val2,
94439
+ options.isProtein,
94440
+ inclusive1BasedStart,
94441
+ inclusive1BasedEnd
94442
+ )
94443
+ );
94426
94444
  lastLineWasLocation = true;
94427
94445
  }
94428
94446
  }
@@ -94445,29 +94463,6 @@ function genbankToJson(string2, options = {}) {
94445
94463
  return qual;
94446
94464
  }
94447
94465
  __name(isNote, "isNote");
94448
- function parseFeatureLocation(locStr, options2) {
94449
- locStr = locStr.trim();
94450
- const locArr = [];
94451
- locStr.replace(/(\d+)/g, function(string22, match2) {
94452
- locArr.push(match2);
94453
- });
94454
- for (let i = 0; i < locArr.length; i += 2) {
94455
- const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
94456
- let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
94457
- if (isNaN(end2)) {
94458
- end2 = start2;
94459
- }
94460
- const location2 = {
94461
- start: start2,
94462
- end: end2
94463
- };
94464
- const feat = getCurrentFeature();
94465
- feat.locations.push(
94466
- options2.isProtein ? convertAACaretPositionOrRangeToDna(location2) : location2
94467
- );
94468
- }
94469
- }
94470
- __name(parseFeatureLocation, "parseFeatureLocation");
94471
94466
  function parseFeatureNote(line) {
94472
94467
  let newLine;
94473
94468
  newLine = line.trimLeft();
@@ -106721,7 +106716,9 @@ function addHighlightedDifferences(alignmentTracks) {
106721
106716
  if (track2.isUnmapped) {
106722
106717
  return track2;
106723
106718
  }
106724
- const sequenceData2 = tidyUpSequenceData(track2.sequenceData);
106719
+ const sequenceData2 = tidyUpSequenceData(track2.sequenceData, {
106720
+ doNotRemoveInvalidChars: true
106721
+ });
106725
106722
  const matchHighlightRanges = getRangeMatchesBetweenTemplateAndNonTemplate(
106726
106723
  alignmentTracks[0].alignmentData.sequence,
106727
106724
  track2.alignmentData.sequence
@@ -106781,7 +106778,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type })
106781
106778
  const templateSeq = payloadToUse.pairwiseAlignments[0][0];
106782
106779
  const pairwiseOverviewAlignmentTracks = [
106783
106780
  __spreadProps(__spreadValues({}, templateSeq), {
106784
- sequenceData: tidyUpSequenceData(templateSeq.sequenceData),
106781
+ sequenceData: tidyUpSequenceData(templateSeq.sequenceData, {
106782
+ doNotRemoveInvalidChars: true
106783
+ }),
106785
106784
  alignmentData: { sequence: templateSeq.sequenceData.sequence }
106786
106785
  //remove the gaps from the template sequence
106787
106786
  })
@@ -106810,7 +106809,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type })
106810
106809
  }));
106811
106810
  }
106812
106811
  const alignedSeqMinusInserts = __spreadProps(__spreadValues({}, alignedSeq), {
106813
- sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData)), {
106812
+ sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData, {
106813
+ doNotRemoveInvalidChars: true
106814
+ })), {
106814
106815
  sequence: template.sequenceData.sequence
106815
106816
  }),
106816
106817
  additionalSelectionLayers,
@@ -110762,7 +110763,7 @@ const handleSave = /* @__PURE__ */ __name((props) => (..._0) => __async(void 0,
110762
110763
  }
110763
110764
  const promiseOrVal = (!readOnly2 || alwaysAllowSave || opts2.isSaveAs) && saveHandler && saveHandler(
110764
110765
  opts2,
110765
- tidyUpSequenceData(sequenceData2, { annotationsAsObjects: true }),
110766
+ tidyUpSequenceData(sequenceData2, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
110766
110767
  props,
110767
110768
  updateLastSavedIdToCurrent
110768
110769
  );
@@ -111362,7 +111363,7 @@ function jsonToJson(incomingJson) {
111362
111363
  return JSON.stringify(
111363
111364
  lodashExports.omit(
111364
111365
  cleanUpTeselagenJsonForExport(
111365
- tidyUpSequenceData(incomingJson, { annotationsAsObjects: false })
111366
+ tidyUpSequenceData(incomingJson, { doNotRemoveInvalidChars: true, annotationsAsObjects: false })
111366
111367
  ),
111367
111368
  [
111368
111369
  "sequenceFragments",
@@ -125845,7 +125846,7 @@ function showFileDialog({ multiple = false, onSelect }) {
125845
125846
  }
125846
125847
  __name(showFileDialog, "showFileDialog");
125847
125848
  const name = "@teselagen/ove";
125848
- const version = "0.3.49";
125849
+ const version = "0.3.50";
125849
125850
  const main = "./src/index.js";
125850
125851
  const exports$1 = {
125851
125852
  ".": {
@@ -128172,7 +128173,7 @@ var createClass = function() {
128172
128173
  return Constructor;
128173
128174
  };
128174
128175
  }();
128175
- var defineProperty4 = /* @__PURE__ */ __name(function(obj, key, value) {
128176
+ var defineProperty5 = /* @__PURE__ */ __name(function(obj, key, value) {
128176
128177
  if (key in obj) {
128177
128178
  Object.defineProperty(obj, key, {
128178
128179
  value,
@@ -128783,7 +128784,7 @@ function arrow(data, options) {
128783
128784
  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
128784
128785
  sideValue = Math.max(Math.min(popper2[len] - arrowElementSize, sideValue), 0);
128785
128786
  data.arrowElement = arrowElement;
128786
- data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty4(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty4(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
128787
+ data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty5(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty5(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
128787
128788
  return data;
128788
128789
  }
128789
128790
  __name(arrow, "arrow");
@@ -129014,7 +129015,7 @@ function preventOverflow(data, options) {
129014
129015
  if (popper2[placement] < boundaries[placement] && !options.escapeWithReference) {
129015
129016
  value = Math.max(popper2[placement], boundaries[placement]);
129016
129017
  }
129017
- return defineProperty4({}, placement, value);
129018
+ return defineProperty5({}, placement, value);
129018
129019
  }, "primary"),
129019
129020
  secondary: /* @__PURE__ */ __name(function secondary(placement) {
129020
129021
  var mainSide = placement === "right" ? "left" : "top";
@@ -129022,7 +129023,7 @@ function preventOverflow(data, options) {
129022
129023
  if (popper2[placement] > boundaries[placement] && !options.escapeWithReference) {
129023
129024
  value = Math.min(popper2[mainSide], boundaries[placement] - (placement === "right" ? popper2.width : popper2.height));
129024
129025
  }
129025
- return defineProperty4({}, mainSide, value);
129026
+ return defineProperty5({}, mainSide, value);
129026
129027
  }, "secondary")
129027
129028
  };
129028
129029
  order2.forEach(function(placement) {
@@ -129043,8 +129044,8 @@ function shift3(data) {
129043
129044
  var side = isVertical ? "left" : "top";
129044
129045
  var measurement = isVertical ? "width" : "height";
129045
129046
  var shiftOffsets = {
129046
- start: defineProperty4({}, side, reference2[side]),
129047
- end: defineProperty4({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
129047
+ start: defineProperty5({}, side, reference2[side]),
129048
+ end: defineProperty5({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
129048
129049
  };
129049
129050
  data.offsets.popper = _extends$1({}, popper2, shiftOffsets[shiftvariation]);
129050
129051
  }
@@ -130581,7 +130582,7 @@ function VectorInteractionHOC(Component2) {
130581
130582
  }
130582
130583
  }
130583
130584
  ),
130584
- { annotationsAsObjects: true }
130585
+ { doNotRemoveInvalidChars: true, annotationsAsObjects: true }
130585
130586
  );
130586
130587
  if (!(this.sequenceDataToCopy || {}).textToCopy && !seqData.sequence.length)
130587
130588
  return window.toastr.warning(
@@ -130597,7 +130598,7 @@ function VectorInteractionHOC(Component2) {
130597
130598
  this.handleDnaDelete(false);
130598
130599
  onCut(
130599
130600
  e2,
130600
- tidyUpSequenceData(seqData, { annotationsAsObjects: true }),
130601
+ tidyUpSequenceData(seqData, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
130601
130602
  this.props
130602
130603
  );
130603
130604
  document.body.removeEventListener("cut", this.handleCut);