@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.cjs.js CHANGED
@@ -6817,10 +6817,10 @@ var ownKeys$7 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownK
6817
6817
  /* istanbul ignore next */
6818
6818
  Object.getOwnPropertyNames
6819
6819
  );
6820
- function toPrimitive$2(value) {
6820
+ function toPrimitive$3(value) {
6821
6821
  return value === null ? null : typeof value === "object" ? "" + value : value;
6822
6822
  }
6823
- __name(toPrimitive$2, "toPrimitive$2");
6823
+ __name(toPrimitive$3, "toPrimitive$3");
6824
6824
  function hasProp(target, prop2) {
6825
6825
  return objectPrototype$1.hasOwnProperty.call(target, prop2);
6826
6826
  }
@@ -7717,7 +7717,7 @@ var ObservableValue = /* @__PURE__ */ function(_Atom) {
7717
7717
  return this.name_ + "[" + this.value_ + "]";
7718
7718
  }, "toString");
7719
7719
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
7720
- return toPrimitive$2(this.get());
7720
+ return toPrimitive$3(this.get());
7721
7721
  }, "valueOf");
7722
7722
  _proto[_Symbol$toPrimitive] = function() {
7723
7723
  return this.valueOf();
@@ -7902,7 +7902,7 @@ var ComputedValue = /* @__PURE__ */ function() {
7902
7902
  return this.name_ + "[" + this.derivation.toString() + "]";
7903
7903
  }, "toString");
7904
7904
  _proto.valueOf = /* @__PURE__ */ __name(function valueOf() {
7905
- return toPrimitive$2(this.get());
7905
+ return toPrimitive$3(this.get());
7906
7906
  }, "valueOf");
7907
7907
  _proto[_Symbol$toPrimitive$1] = function() {
7908
7908
  return this.valueOf();
@@ -12536,7 +12536,7 @@ lodash.exports;
12536
12536
  "^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar2, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
12537
12537
  );
12538
12538
  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;
12539
- var defineProperty5 = function() {
12539
+ var defineProperty6 = function() {
12540
12540
  try {
12541
12541
  var func = getNative2(Object2, "defineProperty");
12542
12542
  func({}, "", {});
@@ -12976,8 +12976,8 @@ lodash.exports;
12976
12976
  }
12977
12977
  __name(baseAssignIn2, "baseAssignIn");
12978
12978
  function baseAssignValue2(object3, key, value) {
12979
- if (key == "__proto__" && defineProperty5) {
12980
- defineProperty5(object3, key, {
12979
+ if (key == "__proto__" && defineProperty6) {
12980
+ defineProperty6(object3, key, {
12981
12981
  "configurable": true,
12982
12982
  "enumerable": true,
12983
12983
  "value": value,
@@ -13710,8 +13710,8 @@ lodash.exports;
13710
13710
  metaMap.set(func, data);
13711
13711
  return func;
13712
13712
  };
13713
- var baseSetToString2 = !defineProperty5 ? identity4 : function(func, string2) {
13714
- return defineProperty5(func, "toString", {
13713
+ var baseSetToString2 = !defineProperty6 ? identity4 : function(func, string2) {
13714
+ return defineProperty6(func, "toString", {
13715
13715
  "configurable": true,
13716
13716
  "enumerable": false,
13717
13717
  "value": constant2(string2),
@@ -18236,20 +18236,11 @@ var _fails = /* @__PURE__ */ __name(function(exec) {
18236
18236
  return true;
18237
18237
  }
18238
18238
  }, "_fails");
18239
- var _descriptors;
18240
- var hasRequired_descriptors;
18241
- function require_descriptors() {
18242
- if (hasRequired_descriptors)
18243
- return _descriptors;
18244
- hasRequired_descriptors = 1;
18245
- _descriptors = !_fails(function() {
18246
- return Object.defineProperty({}, "a", { get: function() {
18247
- return 7;
18248
- } }).a != 7;
18249
- });
18250
- return _descriptors;
18251
- }
18252
- __name(require_descriptors, "require_descriptors");
18239
+ var _descriptors = !_fails(function() {
18240
+ return Object.defineProperty({}, "a", { get: function() {
18241
+ return 7;
18242
+ } }).a != 7;
18243
+ });
18253
18244
  var _domCreate;
18254
18245
  var hasRequired_domCreate;
18255
18246
  function require_domCreate() {
@@ -18265,20 +18256,11 @@ function require_domCreate() {
18265
18256
  return _domCreate;
18266
18257
  }
18267
18258
  __name(require_domCreate, "require_domCreate");
18268
- var _ie8DomDefine;
18269
- var hasRequired_ie8DomDefine;
18270
- function require_ie8DomDefine() {
18271
- if (hasRequired_ie8DomDefine)
18272
- return _ie8DomDefine;
18273
- hasRequired_ie8DomDefine = 1;
18274
- _ie8DomDefine = !require_descriptors() && !_fails(function() {
18275
- return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
18276
- return 7;
18277
- } }).a != 7;
18278
- });
18279
- return _ie8DomDefine;
18280
- }
18281
- __name(require_ie8DomDefine, "require_ie8DomDefine");
18259
+ var _ie8DomDefine = !_descriptors && !_fails(function() {
18260
+ return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
18261
+ return 7;
18262
+ } }).a != 7;
18263
+ });
18282
18264
  var isObject$d = _isObject;
18283
18265
  var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
18284
18266
  if (!isObject$d(it))
@@ -18292,33 +18274,25 @@ var _toPrimitive$1 = /* @__PURE__ */ __name(function(it, S2) {
18292
18274
  return val2;
18293
18275
  throw TypeError("Can't convert object to primitive value");
18294
18276
  }, "_toPrimitive$1");
18295
- var hasRequired_objectDp;
18296
- function require_objectDp() {
18297
- if (hasRequired_objectDp)
18298
- return _objectDp;
18299
- hasRequired_objectDp = 1;
18300
- var anObject2 = _anObject;
18301
- var IE8_DOM_DEFINE2 = require_ie8DomDefine();
18302
- var toPrimitive2 = _toPrimitive$1;
18303
- var dP2 = Object.defineProperty;
18304
- _objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty5(O2, P2, Attributes) {
18305
- anObject2(O2);
18306
- P2 = toPrimitive2(P2, true);
18307
- anObject2(Attributes);
18308
- if (IE8_DOM_DEFINE2)
18309
- try {
18310
- return dP2(O2, P2, Attributes);
18311
- } catch (e2) {
18312
- }
18313
- if ("get" in Attributes || "set" in Attributes)
18314
- throw TypeError("Accessors not supported!");
18315
- if ("value" in Attributes)
18316
- O2[P2] = Attributes.value;
18317
- return O2;
18318
- }, "defineProperty");
18319
- return _objectDp;
18320
- }
18321
- __name(require_objectDp, "require_objectDp");
18277
+ var anObject$5 = _anObject;
18278
+ var IE8_DOM_DEFINE$1 = _ie8DomDefine;
18279
+ var toPrimitive$2 = _toPrimitive$1;
18280
+ var dP$3 = Object.defineProperty;
18281
+ _objectDp.f = _descriptors ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
18282
+ anObject$5(O2);
18283
+ P2 = toPrimitive$2(P2, true);
18284
+ anObject$5(Attributes);
18285
+ if (IE8_DOM_DEFINE$1)
18286
+ try {
18287
+ return dP$3(O2, P2, Attributes);
18288
+ } catch (e2) {
18289
+ }
18290
+ if ("get" in Attributes || "set" in Attributes)
18291
+ throw TypeError("Accessors not supported!");
18292
+ if ("value" in Attributes)
18293
+ O2[P2] = Attributes.value;
18294
+ return O2;
18295
+ }, "defineProperty");
18322
18296
  var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
18323
18297
  return {
18324
18298
  enumerable: !(bitmap & 1),
@@ -18327,9 +18301,9 @@ var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
18327
18301
  value
18328
18302
  };
18329
18303
  }, "_propertyDesc");
18330
- var dP$2 = require_objectDp();
18304
+ var dP$2 = _objectDp;
18331
18305
  var createDesc$3 = _propertyDesc;
18332
- var _hide = require_descriptors() ? function(object3, key, value) {
18306
+ var _hide = _descriptors ? function(object3, key, value) {
18333
18307
  return dP$2.f(object3, key, createDesc$3(1, value));
18334
18308
  } : function(object3, key, value) {
18335
18309
  object3[key] = value;
@@ -18518,7 +18492,7 @@ function require_objectAssign() {
18518
18492
  if (hasRequired_objectAssign)
18519
18493
  return _objectAssign;
18520
18494
  hasRequired_objectAssign = 1;
18521
- var DESCRIPTORS2 = require_descriptors();
18495
+ var DESCRIPTORS2 = _descriptors;
18522
18496
  var getKeys2 = _objectKeys;
18523
18497
  var gOPS2 = _objectGops;
18524
18498
  var pIE2 = _objectPie;
@@ -18584,10 +18558,10 @@ var _iterStep = /* @__PURE__ */ __name(function(done, value) {
18584
18558
  }, "_iterStep");
18585
18559
  var _iterators = {};
18586
18560
  var _redefine = _hide;
18587
- var dP$1 = require_objectDp();
18561
+ var dP$1 = _objectDp;
18588
18562
  var anObject$4 = _anObject;
18589
18563
  var getKeys$1 = _objectKeys;
18590
- var _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
18564
+ var _objectDps = _descriptors ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
18591
18565
  anObject$4(O2);
18592
18566
  var keys5 = getKeys$1(Properties2);
18593
18567
  var length = keys5.length;
@@ -18654,7 +18628,7 @@ var $exports = _wks.exports = function(name2) {
18654
18628
  };
18655
18629
  $exports.store = store$2;
18656
18630
  var _wksExports = _wks.exports;
18657
- var def = require_objectDp().f;
18631
+ var def = _objectDp.f;
18658
18632
  var has$c = _has;
18659
18633
  var TAG$1 = _wksExports("toStringTag");
18660
18634
  var _setToStringTag = /* @__PURE__ */ __name(function(it, tag, stat) {
@@ -18927,7 +18901,7 @@ var ArrayProto = Array.prototype;
18927
18901
  var _isArrayIter = /* @__PURE__ */ __name(function(it) {
18928
18902
  return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
18929
18903
  }, "_isArrayIter");
18930
- var $defineProperty$2 = require_objectDp();
18904
+ var $defineProperty$2 = _objectDp;
18931
18905
  var createDesc$2 = _propertyDesc;
18932
18906
  var _createProperty = /* @__PURE__ */ __name(function(object3, index2, value) {
18933
18907
  if (index2 in object3)
@@ -19056,9 +19030,9 @@ var _default$8 = /* @__PURE__ */ __name(function(instance, Constructor) {
19056
19030
  }
19057
19031
  }, "_default$8");
19058
19032
  var $export$3 = _export;
19059
- $export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: require_objectDp().f });
19033
+ $export$3($export$3.S + $export$3.F * !_descriptors, "Object", { defineProperty: _objectDp.f });
19060
19034
  var $Object$2 = _coreExports.Object;
19061
- var defineProperty$c = /* @__PURE__ */ __name(function defineProperty2(it, key, desc) {
19035
+ var defineProperty$c = /* @__PURE__ */ __name(function defineProperty3(it, key, desc) {
19062
19036
  return $Object$2.defineProperty(it, key, desc);
19063
19037
  }, "defineProperty");
19064
19038
  var defineProperty$b = { "default": defineProperty$c, __esModule: true };
@@ -19097,7 +19071,7 @@ var _meta = { exports: {} };
19097
19071
  var META$1 = _uid("meta");
19098
19072
  var isObject$c = _isObject;
19099
19073
  var has$a = _has;
19100
- var setDesc = require_objectDp().f;
19074
+ var setDesc = _objectDp.f;
19101
19075
  var id$1 = 0;
19102
19076
  var isExtensible = Object.isExtensible || function() {
19103
19077
  return true;
@@ -19150,7 +19124,7 @@ var meta = _meta.exports = {
19150
19124
  var _metaExports = _meta.exports;
19151
19125
  var core = _coreExports;
19152
19126
  var wksExt$1 = _wksExt;
19153
- var defineProperty$a = require_objectDp().f;
19127
+ var defineProperty$a = _objectDp.f;
19154
19128
  var _wksDefine = /* @__PURE__ */ __name(function(name2) {
19155
19129
  var $Symbol2 = core.Symbol || (core.Symbol = {});
19156
19130
  if (name2.charAt(0) != "_" && !(name2 in $Symbol2))
@@ -19204,9 +19178,9 @@ var createDesc$1 = _propertyDesc;
19204
19178
  var toIObject$1 = _toIobject;
19205
19179
  var toPrimitive$1 = _toPrimitive$1;
19206
19180
  var has$9 = _has;
19207
- var IE8_DOM_DEFINE = require_ie8DomDefine();
19181
+ var IE8_DOM_DEFINE = _ie8DomDefine;
19208
19182
  var gOPD$5 = Object.getOwnPropertyDescriptor;
19209
- _objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
19183
+ _objectGopd.f = _descriptors ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
19210
19184
  O2 = toIObject$1(O2);
19211
19185
  P2 = toPrimitive$1(P2, true);
19212
19186
  if (IE8_DOM_DEFINE)
@@ -19219,7 +19193,7 @@ _objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function
19219
19193
  }, "getOwnPropertyDescriptor");
19220
19194
  var global$2 = _globalExports;
19221
19195
  var has$8 = _has;
19222
- var DESCRIPTORS = require_descriptors();
19196
+ var DESCRIPTORS = _descriptors;
19223
19197
  var $export$2 = _export;
19224
19198
  var redefine = _redefine;
19225
19199
  var META = _metaExports.KEY;
@@ -19242,7 +19216,7 @@ var _create$1 = _objectCreate;
19242
19216
  var gOPNExt = _objectGopnExt;
19243
19217
  var $GOPD = _objectGopd;
19244
19218
  var $GOPS = _objectGops;
19245
- var $DP = require_objectDp();
19219
+ var $DP = _objectDp;
19246
19220
  var $keys$1 = _objectKeys;
19247
19221
  var gOPD$4 = $GOPD.f;
19248
19222
  var dP = $DP.f;
@@ -19285,7 +19259,7 @@ var isSymbol$8 = USE_NATIVE && typeof $Symbol.iterator == "symbol" ? function(it
19285
19259
  } : function(it) {
19286
19260
  return it instanceof $Symbol;
19287
19261
  };
19288
- var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty3(it, key, D2) {
19262
+ var $defineProperty$1 = /* @__PURE__ */ __name(function defineProperty4(it, key, D2) {
19289
19263
  if (it === ObjectProto)
19290
19264
  $defineProperty$1(OPSymbols, key, D2);
19291
19265
  anObject(it);
@@ -84891,7 +84865,9 @@ function arrayRotate(arr, count2) {
84891
84865
  }
84892
84866
  __name(arrayRotate, "arrayRotate");
84893
84867
  function rotateSequenceDataToPosition(sequenceData2, caretPosition2, options) {
84894
- const newSequenceData = tidyUpSequenceData(sequenceData2, options);
84868
+ const newSequenceData = tidyUpSequenceData(sequenceData2, __spreadValues({
84869
+ doNotRemoveInvalidChars: true
84870
+ }, options));
84895
84871
  newSequenceData.sequence = rotateBpsToPosition(
84896
84872
  newSequenceData.sequence,
84897
84873
  caretPosition2
@@ -84928,7 +84904,7 @@ function adjustAnnotationsToInsert(annotationsToBeAdjusted, insertStart, insertL
84928
84904
  __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
84929
84905
  function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
84930
84906
  const { maintainOriginSplit } = options;
84931
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
84907
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
84932
84908
  const sequenceDataToInsert = tidyUpSequenceData(
84933
84909
  _sequenceDataToInsert,
84934
84910
  options
@@ -84946,6 +84922,7 @@ function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSeq
84946
84922
  return acc[type] = [];
84947
84923
  }, {})), {
84948
84924
  sequence: "",
84925
+ doNotRemoveInvalidChars: true,
84949
84926
  proteinSequence: "",
84950
84927
  chromatogramData: void 0
84951
84928
  }),
@@ -92976,7 +92953,7 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) {
92976
92953
  if (!range2)
92977
92954
  return seqData;
92978
92955
  const { exclude = {}, excludePartial = {} } = options;
92979
- const seqDataToUse = tidyUpSequenceData(seqData, options);
92956
+ const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
92980
92957
  annotationTypes.forEach((type) => {
92981
92958
  delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
92982
92959
  });
@@ -93027,9 +93004,9 @@ function getSequenceDataBetweenRange(seqData, range2, options = {}) {
93027
93004
  }
93028
93005
  });
93029
93006
  });
93030
- return tidyUpSequenceData(toRet, options);
93007
+ return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93031
93008
  }
93032
- return tidyUpSequenceData(seqDataToReturn, options);
93009
+ return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93033
93010
  }
93034
93011
  __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
93035
93012
  function getAnnotationsBetweenRange(annotationsToBeAdjusted, range2, maxLength, shouldExcludePartial) {
@@ -93076,7 +93053,7 @@ function getComplementSequenceAndAnnotations(pSeqObj, options = {}) {
93076
93053
  const newSeqObj = Object.assign({}, seqObj, {
93077
93054
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
93078
93055
  });
93079
- return tidyUpSequenceData(newSeqObj, options);
93056
+ return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
93080
93057
  }
93081
93058
  __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
93082
93059
  function getCutsiteType(restrictionEnzyme) {
@@ -93124,7 +93101,7 @@ __name(getReverseComplementAnnotation, "getReverseComplementAnnotation");
93124
93101
  function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
93125
93102
  const seqObj = tidyUpSequenceData(
93126
93103
  getSequenceDataBetweenRange(pSeqObj, options.range),
93127
- options
93104
+ __spreadValues({ doNotRemoveInvalidChars: true }, options)
93128
93105
  );
93129
93106
  const newSeqObj = Object.assign(
93130
93107
  {},
@@ -93144,7 +93121,9 @@ function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
93144
93121
  return acc;
93145
93122
  }, {})
93146
93123
  );
93147
- return tidyUpSequenceData(newSeqObj, options);
93124
+ return tidyUpSequenceData(newSeqObj, __spreadValues({
93125
+ doNotRemoveInvalidChars: true
93126
+ }, options));
93148
93127
  }
93149
93128
  __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
93150
93129
  function guessIfSequenceIsDnaAndNotProtein(seq, options = {}) {
@@ -94090,6 +94069,30 @@ function flattenSequenceArray(parsingResultArray, opts2) {
94090
94069
  return parsingResultArray;
94091
94070
  }
94092
94071
  __name(flattenSequenceArray, "flattenSequenceArray");
94072
+ function parseFeatureLocation(locStr, isProtein2, inclusive1BasedStart, inclusive1BasedEnd) {
94073
+ locStr = locStr.trim();
94074
+ const locArr = [];
94075
+ locStr.replace(/(\d+)/g, function(string2, match2) {
94076
+ locArr.push(match2);
94077
+ });
94078
+ const locArray = [];
94079
+ for (let i = 0; i < locArr.length; i += 2) {
94080
+ const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
94081
+ let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
94082
+ if (isNaN(end2)) {
94083
+ end2 = start2;
94084
+ }
94085
+ const location2 = {
94086
+ start: start2,
94087
+ end: end2
94088
+ };
94089
+ locArray.push(
94090
+ isProtein2 ? convertAACaretPositionOrRangeToDna(location2) : location2
94091
+ );
94092
+ }
94093
+ return locArray;
94094
+ }
94095
+ __name(parseFeatureLocation, "parseFeatureLocation");
94093
94096
  function genbankToJson(string2, options = {}) {
94094
94097
  const {
94095
94098
  inclusive1BasedStart,
@@ -94414,7 +94417,15 @@ function genbankToJson(string2, options = {}) {
94414
94417
  }
94415
94418
  if (isFeatureLineRunon(line, featureLocationIndentation)) {
94416
94419
  if (lastLineWasLocation) {
94417
- parseFeatureLocation(line.trim(), options);
94420
+ const feat = getCurrentFeature();
94421
+ feat.locations = feat.locations.concat(
94422
+ parseFeatureLocation(
94423
+ line.trim(),
94424
+ options.isProtein,
94425
+ inclusive1BasedStart,
94426
+ inclusive1BasedEnd
94427
+ )
94428
+ );
94418
94429
  lastLineWasLocation = true;
94419
94430
  } else {
94420
94431
  if (currentFeatureNote) {
@@ -94440,7 +94451,14 @@ function genbankToJson(string2, options = {}) {
94440
94451
  const feat = getCurrentFeature();
94441
94452
  feat.type = key;
94442
94453
  feat.strand = strand;
94443
- parseFeatureLocation(val2, options);
94454
+ feat.locations = feat.locations.concat(
94455
+ parseFeatureLocation(
94456
+ val2,
94457
+ options.isProtein,
94458
+ inclusive1BasedStart,
94459
+ inclusive1BasedEnd
94460
+ )
94461
+ );
94444
94462
  lastLineWasLocation = true;
94445
94463
  }
94446
94464
  }
@@ -94463,29 +94481,6 @@ function genbankToJson(string2, options = {}) {
94463
94481
  return qual;
94464
94482
  }
94465
94483
  __name(isNote, "isNote");
94466
- function parseFeatureLocation(locStr, options2) {
94467
- locStr = locStr.trim();
94468
- const locArr = [];
94469
- locStr.replace(/(\d+)/g, function(string22, match2) {
94470
- locArr.push(match2);
94471
- });
94472
- for (let i = 0; i < locArr.length; i += 2) {
94473
- const start2 = parseInt(locArr[i], 10) - (inclusive1BasedStart ? 0 : 1);
94474
- let end2 = parseInt(locArr[i + 1], 10) - (inclusive1BasedEnd ? 0 : 1);
94475
- if (isNaN(end2)) {
94476
- end2 = start2;
94477
- }
94478
- const location2 = {
94479
- start: start2,
94480
- end: end2
94481
- };
94482
- const feat = getCurrentFeature();
94483
- feat.locations.push(
94484
- options2.isProtein ? convertAACaretPositionOrRangeToDna(location2) : location2
94485
- );
94486
- }
94487
- }
94488
- __name(parseFeatureLocation, "parseFeatureLocation");
94489
94484
  function parseFeatureNote(line) {
94490
94485
  let newLine;
94491
94486
  newLine = line.trimLeft();
@@ -106739,7 +106734,9 @@ function addHighlightedDifferences(alignmentTracks) {
106739
106734
  if (track2.isUnmapped) {
106740
106735
  return track2;
106741
106736
  }
106742
- const sequenceData2 = tidyUpSequenceData(track2.sequenceData);
106737
+ const sequenceData2 = tidyUpSequenceData(track2.sequenceData, {
106738
+ doNotRemoveInvalidChars: true
106739
+ });
106743
106740
  const matchHighlightRanges = getRangeMatchesBetweenTemplateAndNonTemplate(
106744
106741
  alignmentTracks[0].alignmentData.sequence,
106745
106742
  track2.alignmentData.sequence
@@ -106799,7 +106796,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type })
106799
106796
  const templateSeq = payloadToUse.pairwiseAlignments[0][0];
106800
106797
  const pairwiseOverviewAlignmentTracks = [
106801
106798
  __spreadProps(__spreadValues({}, templateSeq), {
106802
- sequenceData: tidyUpSequenceData(templateSeq.sequenceData),
106799
+ sequenceData: tidyUpSequenceData(templateSeq.sequenceData, {
106800
+ doNotRemoveInvalidChars: true
106801
+ }),
106803
106802
  alignmentData: { sequence: templateSeq.sequenceData.sequence }
106804
106803
  //remove the gaps from the template sequence
106805
106804
  })
@@ -106828,7 +106827,9 @@ const alignments = /* @__PURE__ */ __name((state2 = {}, { payload = {}, type })
106828
106827
  }));
106829
106828
  }
106830
106829
  const alignedSeqMinusInserts = __spreadProps(__spreadValues({}, alignedSeq), {
106831
- sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData)), {
106830
+ sequenceData: __spreadProps(__spreadValues({}, tidyUpSequenceData(alignedSeq.sequenceData, {
106831
+ doNotRemoveInvalidChars: true
106832
+ })), {
106832
106833
  sequence: template.sequenceData.sequence
106833
106834
  }),
106834
106835
  additionalSelectionLayers,
@@ -110780,7 +110781,7 @@ const handleSave = /* @__PURE__ */ __name((props) => (..._0) => __async(exports,
110780
110781
  }
110781
110782
  const promiseOrVal = (!readOnly2 || alwaysAllowSave || opts2.isSaveAs) && saveHandler && saveHandler(
110782
110783
  opts2,
110783
- tidyUpSequenceData(sequenceData2, { annotationsAsObjects: true }),
110784
+ tidyUpSequenceData(sequenceData2, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
110784
110785
  props,
110785
110786
  updateLastSavedIdToCurrent
110786
110787
  );
@@ -111380,7 +111381,7 @@ function jsonToJson(incomingJson) {
111380
111381
  return JSON.stringify(
111381
111382
  lodashExports.omit(
111382
111383
  cleanUpTeselagenJsonForExport(
111383
- tidyUpSequenceData(incomingJson, { annotationsAsObjects: false })
111384
+ tidyUpSequenceData(incomingJson, { doNotRemoveInvalidChars: true, annotationsAsObjects: false })
111384
111385
  ),
111385
111386
  [
111386
111387
  "sequenceFragments",
@@ -125863,7 +125864,7 @@ function showFileDialog({ multiple = false, onSelect }) {
125863
125864
  }
125864
125865
  __name(showFileDialog, "showFileDialog");
125865
125866
  const name = "@teselagen/ove";
125866
- const version = "0.3.49";
125867
+ const version = "0.3.50";
125867
125868
  const main = "./src/index.js";
125868
125869
  const exports$1 = {
125869
125870
  ".": {
@@ -128190,7 +128191,7 @@ var createClass = function() {
128190
128191
  return Constructor;
128191
128192
  };
128192
128193
  }();
128193
- var defineProperty4 = /* @__PURE__ */ __name(function(obj, key, value) {
128194
+ var defineProperty5 = /* @__PURE__ */ __name(function(obj, key, value) {
128194
128195
  if (key in obj) {
128195
128196
  Object.defineProperty(obj, key, {
128196
128197
  value,
@@ -128801,7 +128802,7 @@ function arrow(data, options) {
128801
128802
  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
128802
128803
  sideValue = Math.max(Math.min(popper2[len] - arrowElementSize, sideValue), 0);
128803
128804
  data.arrowElement = arrowElement;
128804
- data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty4(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty4(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
128805
+ data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty5(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty5(_data$offsets$arrow, altSide, ""), _data$offsets$arrow);
128805
128806
  return data;
128806
128807
  }
128807
128808
  __name(arrow, "arrow");
@@ -129032,7 +129033,7 @@ function preventOverflow(data, options) {
129032
129033
  if (popper2[placement] < boundaries[placement] && !options.escapeWithReference) {
129033
129034
  value = Math.max(popper2[placement], boundaries[placement]);
129034
129035
  }
129035
- return defineProperty4({}, placement, value);
129036
+ return defineProperty5({}, placement, value);
129036
129037
  }, "primary"),
129037
129038
  secondary: /* @__PURE__ */ __name(function secondary(placement) {
129038
129039
  var mainSide = placement === "right" ? "left" : "top";
@@ -129040,7 +129041,7 @@ function preventOverflow(data, options) {
129040
129041
  if (popper2[placement] > boundaries[placement] && !options.escapeWithReference) {
129041
129042
  value = Math.min(popper2[mainSide], boundaries[placement] - (placement === "right" ? popper2.width : popper2.height));
129042
129043
  }
129043
- return defineProperty4({}, mainSide, value);
129044
+ return defineProperty5({}, mainSide, value);
129044
129045
  }, "secondary")
129045
129046
  };
129046
129047
  order2.forEach(function(placement) {
@@ -129061,8 +129062,8 @@ function shift3(data) {
129061
129062
  var side = isVertical ? "left" : "top";
129062
129063
  var measurement = isVertical ? "width" : "height";
129063
129064
  var shiftOffsets = {
129064
- start: defineProperty4({}, side, reference2[side]),
129065
- end: defineProperty4({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
129065
+ start: defineProperty5({}, side, reference2[side]),
129066
+ end: defineProperty5({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
129066
129067
  };
129067
129068
  data.offsets.popper = _extends$1({}, popper2, shiftOffsets[shiftvariation]);
129068
129069
  }
@@ -130599,7 +130600,7 @@ function VectorInteractionHOC(Component) {
130599
130600
  }
130600
130601
  }
130601
130602
  ),
130602
- { annotationsAsObjects: true }
130603
+ { doNotRemoveInvalidChars: true, annotationsAsObjects: true }
130603
130604
  );
130604
130605
  if (!(this.sequenceDataToCopy || {}).textToCopy && !seqData.sequence.length)
130605
130606
  return window.toastr.warning(
@@ -130615,7 +130616,7 @@ function VectorInteractionHOC(Component) {
130615
130616
  this.handleDnaDelete(false);
130616
130617
  onCut(
130617
130618
  e2,
130618
- tidyUpSequenceData(seqData, { annotationsAsObjects: true }),
130619
+ tidyUpSequenceData(seqData, { doNotRemoveInvalidChars: true, annotationsAsObjects: true }),
130619
130620
  this.props
130620
130621
  );
130621
130622
  document.body.removeEventListener("cut", this.handleCut);