@teselagen/sequence-utils 0.3.11 → 0.3.12

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.js CHANGED
@@ -12675,11 +12675,13 @@ __name(tidyUpSequenceData, "tidyUpSequenceData");
12675
12675
  const getDiffFromSeqs = /* @__PURE__ */ __name((oldData, newData, { ignoreKeys = [] } = {}) => {
12676
12676
  oldData = tidyUpSequenceData(oldData, {
12677
12677
  annotationsAsObjects: true,
12678
- noTranslationData: true
12678
+ noTranslationData: true,
12679
+ doNotRemoveInvalidChars: true
12679
12680
  });
12680
12681
  newData = tidyUpSequenceData(newData, {
12681
12682
  annotationsAsObjects: true,
12682
- noTranslationData: true
12683
+ noTranslationData: true,
12684
+ doNotRemoveInvalidChars: true
12683
12685
  });
12684
12686
  [oldData, newData].forEach((d) => {
12685
12687
  [
@@ -12711,7 +12713,10 @@ const patchSeqWithDiff = /* @__PURE__ */ __name((oldData, diff, { ignoreKeys = [
12711
12713
  delete diff[k];
12712
12714
  });
12713
12715
  return jsondiffpatch_umdExports.patch(
12714
- tidyUpSequenceData(lodashExports.cloneDeep(oldData), { annotationsAsObjects: true }),
12716
+ tidyUpSequenceData(lodashExports.cloneDeep(oldData), {
12717
+ annotationsAsObjects: true,
12718
+ doNotRemoveInvalidChars: true
12719
+ }),
12715
12720
  diff
12716
12721
  );
12717
12722
  }, "patchSeqWithDiff");
@@ -13284,7 +13289,9 @@ function arrayRotate(arr, count) {
13284
13289
  }
13285
13290
  __name(arrayRotate, "arrayRotate");
13286
13291
  function rotateSequenceDataToPosition(sequenceData, caretPosition, options) {
13287
- const newSequenceData = tidyUpSequenceData(sequenceData, options);
13292
+ const newSequenceData = tidyUpSequenceData(sequenceData, __spreadValues({
13293
+ doNotRemoveInvalidChars: true
13294
+ }, options));
13288
13295
  newSequenceData.sequence = rotateBpsToPosition(
13289
13296
  newSequenceData.sequence,
13290
13297
  caretPosition
@@ -13321,7 +13328,7 @@ function adjustAnnotationsToInsert(annotationsToBeAdjusted, insertStart, insertL
13321
13328
  __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
13322
13329
  function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
13323
13330
  const { maintainOriginSplit } = options;
13324
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
13331
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
13325
13332
  const sequenceDataToInsert = tidyUpSequenceData(
13326
13333
  _sequenceDataToInsert,
13327
13334
  options
@@ -13339,6 +13346,7 @@ function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSeq
13339
13346
  return acc[type] = [];
13340
13347
  }, {})), {
13341
13348
  sequence: "",
13349
+ doNotRemoveInvalidChars: true,
13342
13350
  proteinSequence: "",
13343
13351
  chromatogramData: void 0
13344
13352
  }),
@@ -21533,7 +21541,7 @@ function getSequenceDataBetweenRange(seqData, range, options = {}) {
21533
21541
  if (!range)
21534
21542
  return seqData;
21535
21543
  const { exclude = {}, excludePartial = {} } = options;
21536
- const seqDataToUse = tidyUpSequenceData(seqData, options);
21544
+ const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21537
21545
  annotationTypes.forEach((type) => {
21538
21546
  delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
21539
21547
  });
@@ -21584,9 +21592,9 @@ function getSequenceDataBetweenRange(seqData, range, options = {}) {
21584
21592
  }
21585
21593
  });
21586
21594
  });
21587
- return tidyUpSequenceData(toRet, options);
21595
+ return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21588
21596
  }
21589
- return tidyUpSequenceData(seqDataToReturn, options);
21597
+ return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21590
21598
  }
21591
21599
  __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
21592
21600
  function getAnnotationsBetweenRange(annotationsToBeAdjusted, range, maxLength, shouldExcludePartial) {
@@ -21633,7 +21641,7 @@ function getComplementSequenceAndAnnotations(pSeqObj, options = {}) {
21633
21641
  const newSeqObj = Object.assign({}, seqObj, {
21634
21642
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
21635
21643
  });
21636
- return tidyUpSequenceData(newSeqObj, options);
21644
+ return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21637
21645
  }
21638
21646
  __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
21639
21647
  function getCutsiteType(restrictionEnzyme) {
@@ -21839,7 +21847,7 @@ __name(getReverseComplementAnnotation, "getReverseComplementAnnotation");
21839
21847
  function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
21840
21848
  const seqObj = tidyUpSequenceData(
21841
21849
  getSequenceDataBetweenRange(pSeqObj, options.range),
21842
- options
21850
+ __spreadValues({ doNotRemoveInvalidChars: true }, options)
21843
21851
  );
21844
21852
  const newSeqObj = Object.assign(
21845
21853
  {},
@@ -21859,7 +21867,9 @@ function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
21859
21867
  return acc;
21860
21868
  }, {})
21861
21869
  );
21862
- return tidyUpSequenceData(newSeqObj, options);
21870
+ return tidyUpSequenceData(newSeqObj, __spreadValues({
21871
+ doNotRemoveInvalidChars: true
21872
+ }, options));
21863
21873
  }
21864
21874
  __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
21865
21875
  function getReverseSequenceString(sequence) {
package/index.mjs CHANGED
@@ -12673,11 +12673,13 @@ __name(tidyUpSequenceData, "tidyUpSequenceData");
12673
12673
  const getDiffFromSeqs = /* @__PURE__ */ __name((oldData, newData, { ignoreKeys = [] } = {}) => {
12674
12674
  oldData = tidyUpSequenceData(oldData, {
12675
12675
  annotationsAsObjects: true,
12676
- noTranslationData: true
12676
+ noTranslationData: true,
12677
+ doNotRemoveInvalidChars: true
12677
12678
  });
12678
12679
  newData = tidyUpSequenceData(newData, {
12679
12680
  annotationsAsObjects: true,
12680
- noTranslationData: true
12681
+ noTranslationData: true,
12682
+ doNotRemoveInvalidChars: true
12681
12683
  });
12682
12684
  [oldData, newData].forEach((d) => {
12683
12685
  [
@@ -12709,7 +12711,10 @@ const patchSeqWithDiff = /* @__PURE__ */ __name((oldData, diff, { ignoreKeys = [
12709
12711
  delete diff[k];
12710
12712
  });
12711
12713
  return jsondiffpatch_umdExports.patch(
12712
- tidyUpSequenceData(lodashExports.cloneDeep(oldData), { annotationsAsObjects: true }),
12714
+ tidyUpSequenceData(lodashExports.cloneDeep(oldData), {
12715
+ annotationsAsObjects: true,
12716
+ doNotRemoveInvalidChars: true
12717
+ }),
12713
12718
  diff
12714
12719
  );
12715
12720
  }, "patchSeqWithDiff");
@@ -13282,7 +13287,9 @@ function arrayRotate(arr, count) {
13282
13287
  }
13283
13288
  __name(arrayRotate, "arrayRotate");
13284
13289
  function rotateSequenceDataToPosition(sequenceData, caretPosition, options) {
13285
- const newSequenceData = tidyUpSequenceData(sequenceData, options);
13290
+ const newSequenceData = tidyUpSequenceData(sequenceData, __spreadValues({
13291
+ doNotRemoveInvalidChars: true
13292
+ }, options));
13286
13293
  newSequenceData.sequence = rotateBpsToPosition(
13287
13294
  newSequenceData.sequence,
13288
13295
  caretPosition
@@ -13319,7 +13326,7 @@ function adjustAnnotationsToInsert(annotationsToBeAdjusted, insertStart, insertL
13319
13326
  __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
13320
13327
  function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
13321
13328
  const { maintainOriginSplit } = options;
13322
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
13329
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
13323
13330
  const sequenceDataToInsert = tidyUpSequenceData(
13324
13331
  _sequenceDataToInsert,
13325
13332
  options
@@ -13337,6 +13344,7 @@ function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSeq
13337
13344
  return acc[type] = [];
13338
13345
  }, {})), {
13339
13346
  sequence: "",
13347
+ doNotRemoveInvalidChars: true,
13340
13348
  proteinSequence: "",
13341
13349
  chromatogramData: void 0
13342
13350
  }),
@@ -21531,7 +21539,7 @@ function getSequenceDataBetweenRange(seqData, range, options = {}) {
21531
21539
  if (!range)
21532
21540
  return seqData;
21533
21541
  const { exclude = {}, excludePartial = {} } = options;
21534
- const seqDataToUse = tidyUpSequenceData(seqData, options);
21542
+ const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21535
21543
  annotationTypes.forEach((type) => {
21536
21544
  delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
21537
21545
  });
@@ -21582,9 +21590,9 @@ function getSequenceDataBetweenRange(seqData, range, options = {}) {
21582
21590
  }
21583
21591
  });
21584
21592
  });
21585
- return tidyUpSequenceData(toRet, options);
21593
+ return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21586
21594
  }
21587
- return tidyUpSequenceData(seqDataToReturn, options);
21595
+ return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21588
21596
  }
21589
21597
  __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
21590
21598
  function getAnnotationsBetweenRange(annotationsToBeAdjusted, range, maxLength, shouldExcludePartial) {
@@ -21631,7 +21639,7 @@ function getComplementSequenceAndAnnotations(pSeqObj, options = {}) {
21631
21639
  const newSeqObj = Object.assign({}, seqObj, {
21632
21640
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
21633
21641
  });
21634
- return tidyUpSequenceData(newSeqObj, options);
21642
+ return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21635
21643
  }
21636
21644
  __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
21637
21645
  function getCutsiteType(restrictionEnzyme) {
@@ -21837,7 +21845,7 @@ __name(getReverseComplementAnnotation, "getReverseComplementAnnotation");
21837
21845
  function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
21838
21846
  const seqObj = tidyUpSequenceData(
21839
21847
  getSequenceDataBetweenRange(pSeqObj, options.range),
21840
- options
21848
+ __spreadValues({ doNotRemoveInvalidChars: true }, options)
21841
21849
  );
21842
21850
  const newSeqObj = Object.assign(
21843
21851
  {},
@@ -21857,7 +21865,9 @@ function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
21857
21865
  return acc;
21858
21866
  }, {})
21859
21867
  );
21860
- return tidyUpSequenceData(newSeqObj, options);
21868
+ return tidyUpSequenceData(newSeqObj, __spreadValues({
21869
+ doNotRemoveInvalidChars: true
21870
+ }, options));
21861
21871
  }
21862
21872
  __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
21863
21873
  function getReverseSequenceString(sequence) {
package/index.umd.js CHANGED
@@ -12677,11 +12677,13 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
12677
12677
  const getDiffFromSeqs = /* @__PURE__ */ __name((oldData, newData, { ignoreKeys = [] } = {}) => {
12678
12678
  oldData = tidyUpSequenceData(oldData, {
12679
12679
  annotationsAsObjects: true,
12680
- noTranslationData: true
12680
+ noTranslationData: true,
12681
+ doNotRemoveInvalidChars: true
12681
12682
  });
12682
12683
  newData = tidyUpSequenceData(newData, {
12683
12684
  annotationsAsObjects: true,
12684
- noTranslationData: true
12685
+ noTranslationData: true,
12686
+ doNotRemoveInvalidChars: true
12685
12687
  });
12686
12688
  [oldData, newData].forEach((d) => {
12687
12689
  [
@@ -12713,7 +12715,10 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
12713
12715
  delete diff[k];
12714
12716
  });
12715
12717
  return jsondiffpatch_umdExports.patch(
12716
- tidyUpSequenceData(lodashExports.cloneDeep(oldData), { annotationsAsObjects: true }),
12718
+ tidyUpSequenceData(lodashExports.cloneDeep(oldData), {
12719
+ annotationsAsObjects: true,
12720
+ doNotRemoveInvalidChars: true
12721
+ }),
12717
12722
  diff
12718
12723
  );
12719
12724
  }, "patchSeqWithDiff");
@@ -13286,7 +13291,9 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
13286
13291
  }
13287
13292
  __name(arrayRotate, "arrayRotate");
13288
13293
  function rotateSequenceDataToPosition(sequenceData, caretPosition, options) {
13289
- const newSequenceData = tidyUpSequenceData(sequenceData, options);
13294
+ const newSequenceData = tidyUpSequenceData(sequenceData, __spreadValues({
13295
+ doNotRemoveInvalidChars: true
13296
+ }, options));
13290
13297
  newSequenceData.sequence = rotateBpsToPosition(
13291
13298
  newSequenceData.sequence,
13292
13299
  caretPosition
@@ -13323,7 +13330,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
13323
13330
  __name(adjustAnnotationsToInsert, "adjustAnnotationsToInsert");
13324
13331
  function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert, _existingSequenceData, caretPositionOrRange, options = {}) {
13325
13332
  const { maintainOriginSplit } = options;
13326
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
13333
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
13327
13334
  const sequenceDataToInsert = tidyUpSequenceData(
13328
13335
  _sequenceDataToInsert,
13329
13336
  options
@@ -13341,6 +13348,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
13341
13348
  return acc[type] = [];
13342
13349
  }, {})), {
13343
13350
  sequence: "",
13351
+ doNotRemoveInvalidChars: true,
13344
13352
  proteinSequence: "",
13345
13353
  chromatogramData: void 0
13346
13354
  }),
@@ -21535,7 +21543,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
21535
21543
  if (!range)
21536
21544
  return seqData;
21537
21545
  const { exclude = {}, excludePartial = {} } = options;
21538
- const seqDataToUse = tidyUpSequenceData(seqData, options);
21546
+ const seqDataToUse = tidyUpSequenceData(seqData, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21539
21547
  annotationTypes.forEach((type) => {
21540
21548
  delete seqDataToUse[`filtered${lodashExports.startCase(type)}`];
21541
21549
  });
@@ -21586,9 +21594,9 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
21586
21594
  }
21587
21595
  });
21588
21596
  });
21589
- return tidyUpSequenceData(toRet, options);
21597
+ return tidyUpSequenceData(toRet, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21590
21598
  }
21591
- return tidyUpSequenceData(seqDataToReturn, options);
21599
+ return tidyUpSequenceData(seqDataToReturn, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21592
21600
  }
21593
21601
  __name(getSequenceDataBetweenRange, "getSequenceDataBetweenRange");
21594
21602
  function getAnnotationsBetweenRange(annotationsToBeAdjusted, range, maxLength, shouldExcludePartial) {
@@ -21635,7 +21643,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
21635
21643
  const newSeqObj = Object.assign({}, seqObj, {
21636
21644
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
21637
21645
  });
21638
- return tidyUpSequenceData(newSeqObj, options);
21646
+ return tidyUpSequenceData(newSeqObj, __spreadValues({ doNotRemoveInvalidChars: true }, options));
21639
21647
  }
21640
21648
  __name(getComplementSequenceAndAnnotations, "getComplementSequenceAndAnnotations");
21641
21649
  function getCutsiteType(restrictionEnzyme) {
@@ -21841,7 +21849,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
21841
21849
  function getReverseComplementSequenceAndAnnoations(pSeqObj, options = {}) {
21842
21850
  const seqObj = tidyUpSequenceData(
21843
21851
  getSequenceDataBetweenRange(pSeqObj, options.range),
21844
- options
21852
+ __spreadValues({ doNotRemoveInvalidChars: true }, options)
21845
21853
  );
21846
21854
  const newSeqObj = Object.assign(
21847
21855
  {},
@@ -21861,7 +21869,9 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
21861
21869
  return acc;
21862
21870
  }, {})
21863
21871
  );
21864
- return tidyUpSequenceData(newSeqObj, options);
21872
+ return tidyUpSequenceData(newSeqObj, __spreadValues({
21873
+ doNotRemoveInvalidChars: true
21874
+ }, options));
21865
21875
  }
21866
21876
  __name(getReverseComplementSequenceAndAnnoations, "getReverseComplementSequenceAndAnnoations");
21867
21877
  function getReverseSequenceString(sequence) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teselagen/sequence-utils",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "dependencies": {
5
5
  "@teselagen/range-utils": "0.3.7",
6
6
  "bson-objectid": "^2.0.4",
package/src/diffUtils.js CHANGED
@@ -6,11 +6,13 @@ import tidyUpSequenceData from "./tidyUpSequenceData";
6
6
  const getDiffFromSeqs = (oldData, newData, { ignoreKeys = [] } = {}) => {
7
7
  oldData = tidyUpSequenceData(oldData, {
8
8
  annotationsAsObjects: true,
9
- noTranslationData: true
9
+ noTranslationData: true,
10
+ doNotRemoveInvalidChars: true
10
11
  });
11
12
  newData = tidyUpSequenceData(newData, {
12
13
  annotationsAsObjects: true,
13
- noTranslationData: true
14
+ noTranslationData: true,
15
+ doNotRemoveInvalidChars: true
14
16
  });
15
17
 
16
18
  [oldData, newData].forEach(d => {
@@ -47,7 +49,10 @@ const patchSeqWithDiff = (oldData, diff, { ignoreKeys = [] } = {}) => {
47
49
  delete diff[k];
48
50
  });
49
51
  return patch(
50
- tidyUpSequenceData(cloneDeep(oldData), { annotationsAsObjects: true }),
52
+ tidyUpSequenceData(cloneDeep(oldData), {
53
+ annotationsAsObjects: true,
54
+ doNotRemoveInvalidChars: true
55
+ }),
51
56
  diff
52
57
  );
53
58
  };
@@ -15,5 +15,5 @@ export default function getComplementSequenceAndAnnotations(
15
15
  const newSeqObj = Object.assign({}, seqObj, {
16
16
  sequence: getComplementSequenceString(seqObj.sequence, seqObj.isRna)
17
17
  });
18
- return tidyUpSequenceData(newSeqObj, options);
18
+ return tidyUpSequenceData(newSeqObj, {doNotRemoveInvalidChars: true,...options});
19
19
  }
@@ -13,7 +13,7 @@ export default function getReverseComplementSequenceAndAnnoations(
13
13
  ) {
14
14
  const seqObj = tidyUpSequenceData(
15
15
  getSequenceDataBetweenRange(pSeqObj, options.range),
16
- options
16
+ { doNotRemoveInvalidChars: true, ...options }
17
17
  );
18
18
  const newSeqObj = Object.assign(
19
19
  {},
@@ -33,5 +33,8 @@ export default function getReverseComplementSequenceAndAnnoations(
33
33
  return acc;
34
34
  }, {})
35
35
  );
36
- return tidyUpSequenceData(newSeqObj, options);
36
+ return tidyUpSequenceData(newSeqObj, {
37
+ doNotRemoveInvalidChars: true,
38
+ ...options
39
+ });
37
40
  }
@@ -16,7 +16,7 @@ export default function getSequenceDataBetweenRange(
16
16
  ) {
17
17
  if (!range) return seqData;
18
18
  const { exclude = {}, excludePartial = {} } = options;
19
- const seqDataToUse = tidyUpSequenceData(seqData, options);
19
+ const seqDataToUse = tidyUpSequenceData(seqData, {doNotRemoveInvalidChars: true,...options});
20
20
  annotationTypes.forEach(type => {
21
21
  delete seqDataToUse[`filtered${startCase(type)}`];
22
22
  });
@@ -78,10 +78,10 @@ export default function getSequenceDataBetweenRange(
78
78
  }
79
79
  });
80
80
  });
81
- return tidyUpSequenceData(toRet, options);
81
+ return tidyUpSequenceData(toRet, {doNotRemoveInvalidChars: true,...options});
82
82
  }
83
83
 
84
- return tidyUpSequenceData(seqDataToReturn, options);
84
+ return tidyUpSequenceData(seqDataToReturn, {doNotRemoveInvalidChars: true,...options});
85
85
  }
86
86
 
87
87
  function getAnnotationsBetweenRange(
@@ -18,7 +18,7 @@ export default function insertSequenceDataAtPositionOrRange(
18
18
  //when inserting new seq, n bps of the new seq should go in before the origin and the rest should be
19
19
  //inserted at the sequence start
20
20
  const { maintainOriginSplit } = options;
21
- let existingSequenceData = tidyUpSequenceData(_existingSequenceData, options);
21
+ let existingSequenceData = tidyUpSequenceData(_existingSequenceData, {doNotRemoveInvalidChars: true,...options});
22
22
  const sequenceDataToInsert = tidyUpSequenceData(
23
23
  _sequenceDataToInsert,
24
24
  options
@@ -48,6 +48,7 @@ export default function insertSequenceDataAtPositionOrRange(
48
48
  return (acc[type] = []);
49
49
  }, {}),
50
50
  sequence: "",
51
+ doNotRemoveInvalidChars: true,
51
52
  proteinSequence: "",
52
53
  chromatogramData: undefined
53
54
  },
@@ -9,7 +9,10 @@ export default function rotateSequenceDataToPosition(
9
9
  caretPosition,
10
10
  options
11
11
  ) {
12
- const newSequenceData = tidyUpSequenceData(sequenceData, options);
12
+ const newSequenceData = tidyUpSequenceData(sequenceData, {
13
+ doNotRemoveInvalidChars: true,
14
+ ...options
15
+ });
13
16
 
14
17
  //update the sequence
15
18
  newSequenceData.sequence = rotateBpsToPosition(