@teselagen/ove 0.3.30 → 0.3.43
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 +163 -93
- package/index.es.js +163 -93
- package/index.js +197011 -0
- package/index.mjs +196957 -0
- package/index.umd.js +219 -140
- package/package.json +4 -4
- package/src/RowItem/Sequence.js +1 -1
- package/src/helperComponents/AddOrEditPrimerDialog/index.js +7 -10
- package/src/utils/editorUtils.js +0 -19
- package/src/withEditorInteractions/createSequenceInputPopup.js +10 -16
- package/src/withEditorInteractions/index.js +5 -8
package/index.es.js
CHANGED
|
@@ -18218,11 +18218,20 @@ var _fails = /* @__PURE__ */ __name(function(exec) {
|
|
|
18218
18218
|
return true;
|
|
18219
18219
|
}
|
|
18220
18220
|
}, "_fails");
|
|
18221
|
-
var _descriptors
|
|
18222
|
-
|
|
18223
|
-
|
|
18224
|
-
|
|
18225
|
-
|
|
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");
|
|
18226
18235
|
var _domCreate;
|
|
18227
18236
|
var hasRequired_domCreate;
|
|
18228
18237
|
function require_domCreate() {
|
|
@@ -18238,7 +18247,7 @@ function require_domCreate() {
|
|
|
18238
18247
|
return _domCreate;
|
|
18239
18248
|
}
|
|
18240
18249
|
__name(require_domCreate, "require_domCreate");
|
|
18241
|
-
var _ie8DomDefine = !
|
|
18250
|
+
var _ie8DomDefine = !require_descriptors() && !_fails(function() {
|
|
18242
18251
|
return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
|
|
18243
18252
|
return 7;
|
|
18244
18253
|
} }).a != 7;
|
|
@@ -18260,7 +18269,7 @@ var anObject$5 = _anObject;
|
|
|
18260
18269
|
var IE8_DOM_DEFINE$1 = _ie8DomDefine;
|
|
18261
18270
|
var toPrimitive$2 = _toPrimitive$1;
|
|
18262
18271
|
var dP$3 = Object.defineProperty;
|
|
18263
|
-
_objectDp.f =
|
|
18272
|
+
_objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
|
|
18264
18273
|
anObject$5(O2);
|
|
18265
18274
|
P2 = toPrimitive$2(P2, true);
|
|
18266
18275
|
anObject$5(Attributes);
|
|
@@ -18285,7 +18294,7 @@ var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
|
|
|
18285
18294
|
}, "_propertyDesc");
|
|
18286
18295
|
var dP$2 = _objectDp;
|
|
18287
18296
|
var createDesc$3 = _propertyDesc;
|
|
18288
|
-
var _hide =
|
|
18297
|
+
var _hide = require_descriptors() ? function(object3, key, value) {
|
|
18289
18298
|
return dP$2.f(object3, key, createDesc$3(1, value));
|
|
18290
18299
|
} : function(object3, key, value) {
|
|
18291
18300
|
object3[key] = value;
|
|
@@ -18474,7 +18483,7 @@ function require_objectAssign() {
|
|
|
18474
18483
|
if (hasRequired_objectAssign)
|
|
18475
18484
|
return _objectAssign;
|
|
18476
18485
|
hasRequired_objectAssign = 1;
|
|
18477
|
-
var DESCRIPTORS2 =
|
|
18486
|
+
var DESCRIPTORS2 = require_descriptors();
|
|
18478
18487
|
var getKeys2 = _objectKeys;
|
|
18479
18488
|
var gOPS2 = _objectGops;
|
|
18480
18489
|
var pIE2 = _objectPie;
|
|
@@ -18543,7 +18552,7 @@ var _redefine = _hide;
|
|
|
18543
18552
|
var dP$1 = _objectDp;
|
|
18544
18553
|
var anObject$4 = _anObject;
|
|
18545
18554
|
var getKeys$1 = _objectKeys;
|
|
18546
|
-
var _objectDps =
|
|
18555
|
+
var _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
|
|
18547
18556
|
anObject$4(O2);
|
|
18548
18557
|
var keys5 = getKeys$1(Properties2);
|
|
18549
18558
|
var length = keys5.length;
|
|
@@ -19012,7 +19021,7 @@ var _default$8 = /* @__PURE__ */ __name(function(instance, Constructor) {
|
|
|
19012
19021
|
}
|
|
19013
19022
|
}, "_default$8");
|
|
19014
19023
|
var $export$3 = _export;
|
|
19015
|
-
$export$3($export$3.S + $export$3.F * !
|
|
19024
|
+
$export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: _objectDp.f });
|
|
19016
19025
|
var $Object$2 = _coreExports.Object;
|
|
19017
19026
|
var defineProperty$c = /* @__PURE__ */ __name(function defineProperty3(it, key, desc) {
|
|
19018
19027
|
return $Object$2.defineProperty(it, key, desc);
|
|
@@ -19162,7 +19171,7 @@ var toPrimitive$1 = _toPrimitive$1;
|
|
|
19162
19171
|
var has$9 = _has;
|
|
19163
19172
|
var IE8_DOM_DEFINE = _ie8DomDefine;
|
|
19164
19173
|
var gOPD$5 = Object.getOwnPropertyDescriptor;
|
|
19165
|
-
_objectGopd.f =
|
|
19174
|
+
_objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
|
|
19166
19175
|
O2 = toIObject$1(O2);
|
|
19167
19176
|
P2 = toPrimitive$1(P2, true);
|
|
19168
19177
|
if (IE8_DOM_DEFINE)
|
|
@@ -19175,7 +19184,7 @@ _objectGopd.f = _descriptors ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPr
|
|
|
19175
19184
|
}, "getOwnPropertyDescriptor");
|
|
19176
19185
|
var global$2 = _globalExports;
|
|
19177
19186
|
var has$8 = _has;
|
|
19178
|
-
var DESCRIPTORS =
|
|
19187
|
+
var DESCRIPTORS = require_descriptors();
|
|
19179
19188
|
var $export$2 = _export;
|
|
19180
19189
|
var redefine = _redefine;
|
|
19181
19190
|
var META = _metaExports.KEY;
|
|
@@ -57072,7 +57081,7 @@ const _DataTable = class _DataTable extends React__default$1.Component {
|
|
|
57072
57081
|
isEntityDisabled,
|
|
57073
57082
|
entity
|
|
57074
57083
|
});
|
|
57075
|
-
const _isClean = entity._isClean && doNotValidateUntouchedRows;
|
|
57084
|
+
const _isClean = entity._isClean && doNotValidateUntouchedRows || isEntityClean(entity);
|
|
57076
57085
|
const err2 = !_isClean && reduxFormCellValidation[cellId];
|
|
57077
57086
|
let selectedTopBorder, selectedRightBorder, selectedBottomBorder, selectedLeftBorder;
|
|
57078
57087
|
if (reduxFormSelectedCells[cellId]) {
|
|
@@ -59268,6 +59277,21 @@ function stripNumberAtEnd(str) {
|
|
|
59268
59277
|
return str.replace(getNumberStrAtEnd(str), "");
|
|
59269
59278
|
}
|
|
59270
59279
|
__name(stripNumberAtEnd, "stripNumberAtEnd");
|
|
59280
|
+
function isEntityClean(e2) {
|
|
59281
|
+
let isClean = true;
|
|
59282
|
+
lodashExports.some(e2, (val2, key) => {
|
|
59283
|
+
if (key === "id")
|
|
59284
|
+
return;
|
|
59285
|
+
if (key === "_isClean")
|
|
59286
|
+
return;
|
|
59287
|
+
if (val2) {
|
|
59288
|
+
isClean = false;
|
|
59289
|
+
return true;
|
|
59290
|
+
}
|
|
59291
|
+
});
|
|
59292
|
+
return isClean;
|
|
59293
|
+
}
|
|
59294
|
+
__name(isEntityClean, "isEntityClean");
|
|
59271
59295
|
const wrapDialog = /* @__PURE__ */ __name((topLevelDialogProps = {}) => (Component2) => (props) => {
|
|
59272
59296
|
const r2 = useRef();
|
|
59273
59297
|
const memoedHotkeys = useMemo$1(
|
|
@@ -61782,7 +61806,7 @@ __name(asyncValidateHelper, "asyncValidateHelper");
|
|
|
61782
61806
|
function removeCleanRows(reduxFormEntities, reduxFormCellValidation) {
|
|
61783
61807
|
const toFilterOut = {};
|
|
61784
61808
|
const entsToUse = (reduxFormEntities || []).filter((e2) => {
|
|
61785
|
-
if (!e2._isClean)
|
|
61809
|
+
if (!(e2._isClean || isEntityClean(e2)))
|
|
61786
61810
|
return true;
|
|
61787
61811
|
else {
|
|
61788
61812
|
toFilterOut[getIdOrCodeOrIndex(e2)] = true;
|
|
@@ -76747,7 +76771,9 @@ ptIconWrapper(
|
|
|
76747
76771
|
))),
|
|
76748
76772
|
400
|
|
76749
76773
|
);
|
|
76750
|
-
const isSafari = /^((?!chrome|android).)*safari/i.test(
|
|
76774
|
+
const isSafari = /^((?!chrome|android).)*safari/i.test(
|
|
76775
|
+
navigator.userAgent
|
|
76776
|
+
);
|
|
76751
76777
|
function genericCommandFactory(config) {
|
|
76752
76778
|
const out = {};
|
|
76753
76779
|
for (const cmdId in config.commandDefs) {
|
|
@@ -77800,6 +77826,7 @@ const minimumOrfSize$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de
|
|
|
77800
77826
|
minimumOrfSizeUpdate
|
|
77801
77827
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
77802
77828
|
const protein_letters = "ACDEFGHIKLMNPQRSTVWY";
|
|
77829
|
+
const protein_letters_withUandX = "ACDEFGHIKLMNPQRSTVWYUX";
|
|
77803
77830
|
const extended_protein_letters = "ACDEFGHIKLMNPQRSTVWYBXZJUO.*-";
|
|
77804
77831
|
const ambiguous_dna_letters = "GATCRYWSMKHBVDN";
|
|
77805
77832
|
const unambiguous_dna_letters = "GATC";
|
|
@@ -77868,6 +77895,7 @@ const bioData = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
77868
77895
|
extended_protein_letters,
|
|
77869
77896
|
extended_protein_values,
|
|
77870
77897
|
protein_letters,
|
|
77898
|
+
protein_letters_withUandX,
|
|
77871
77899
|
unambiguous_dna_letters,
|
|
77872
77900
|
unambiguous_rna_letters
|
|
77873
77901
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -83886,20 +83914,91 @@ const modifiableTypes = [
|
|
|
83886
83914
|
"primers",
|
|
83887
83915
|
"guides"
|
|
83888
83916
|
];
|
|
83889
|
-
function filterSequenceString(sequenceString,
|
|
83890
|
-
|
|
83891
|
-
|
|
83892
|
-
|
|
83893
|
-
|
|
83894
|
-
|
|
83895
|
-
|
|
83896
|
-
|
|
83917
|
+
function filterSequenceString(sequenceString, {
|
|
83918
|
+
additionalValidChars = "",
|
|
83919
|
+
isOligo: isOligo2,
|
|
83920
|
+
name: name2,
|
|
83921
|
+
isProtein: isProtein2,
|
|
83922
|
+
isRna: isRna2,
|
|
83923
|
+
isMixedRnaAndDna,
|
|
83924
|
+
includeStopCodon
|
|
83925
|
+
} = {}) {
|
|
83926
|
+
const acceptedChars = getAcceptedChars({
|
|
83927
|
+
isOligo: isOligo2,
|
|
83928
|
+
isProtein: isProtein2,
|
|
83929
|
+
isRna: isRna2,
|
|
83930
|
+
isMixedRnaAndDna,
|
|
83931
|
+
includeStopCodon
|
|
83932
|
+
});
|
|
83933
|
+
const replaceChars = getReplaceChars({
|
|
83934
|
+
isOligo: isOligo2,
|
|
83935
|
+
isProtein: isProtein2,
|
|
83936
|
+
isRna: isRna2,
|
|
83937
|
+
isMixedRnaAndDna
|
|
83938
|
+
});
|
|
83939
|
+
let sanitizedVal = "";
|
|
83940
|
+
const invalidChars = [];
|
|
83941
|
+
const chars2 = `${acceptedChars}${additionalValidChars.split("").join("\\")}`;
|
|
83942
|
+
const warnings = [];
|
|
83943
|
+
const replaceCount = {};
|
|
83944
|
+
sequenceString.split("").forEach((letter) => {
|
|
83945
|
+
const lowerLetter = letter.toLowerCase();
|
|
83946
|
+
if (replaceChars && replaceChars[lowerLetter]) {
|
|
83947
|
+
if (!replaceCount[lowerLetter]) {
|
|
83948
|
+
replaceCount[lowerLetter] = 0;
|
|
83949
|
+
}
|
|
83950
|
+
replaceCount[lowerLetter]++;
|
|
83951
|
+
const isUpper = lowerLetter !== letter;
|
|
83952
|
+
sanitizedVal += isUpper ? replaceChars[lowerLetter].toUpperCase() : replaceChars[lowerLetter];
|
|
83953
|
+
} else if (chars2.includes(lowerLetter)) {
|
|
83954
|
+
sanitizedVal += letter;
|
|
83955
|
+
} else {
|
|
83956
|
+
invalidChars.push(letter);
|
|
83957
|
+
}
|
|
83958
|
+
});
|
|
83959
|
+
Object.keys(replaceCount).forEach((letter) => {
|
|
83960
|
+
warnings.push(
|
|
83961
|
+
`Replaced "${letter}" with "${replaceChars[letter]}"${replaceCount[letter] > 1 ? ` ${replaceCount[letter]} times` : ""}`
|
|
83897
83962
|
);
|
|
83898
|
-
}
|
|
83899
|
-
|
|
83963
|
+
});
|
|
83964
|
+
if (sequenceString.length !== sanitizedVal.length) {
|
|
83965
|
+
warnings.push(
|
|
83966
|
+
`${name2 ? `Sequence ${name2}: ` : ""}Invalid character(s) detected and removed: ${invalidChars.slice(0, 100).join(", ")} `
|
|
83967
|
+
);
|
|
83968
|
+
}
|
|
83969
|
+
if (typeof window !== "undefined" && window.toastr && warnings.length) {
|
|
83970
|
+
warnings.forEach((warning2) => {
|
|
83971
|
+
window.toastr.warning(warning2);
|
|
83972
|
+
});
|
|
83900
83973
|
}
|
|
83974
|
+
return [sanitizedVal, warnings];
|
|
83901
83975
|
}
|
|
83902
83976
|
__name(filterSequenceString, "filterSequenceString");
|
|
83977
|
+
function getAcceptedChars({
|
|
83978
|
+
isOligo: isOligo2,
|
|
83979
|
+
isProtein: isProtein2,
|
|
83980
|
+
isRna: isRna2,
|
|
83981
|
+
isMixedRnaAndDna,
|
|
83982
|
+
includeStopCodon
|
|
83983
|
+
} = {}) {
|
|
83984
|
+
return isProtein2 ? `${protein_letters_withUandX.toLowerCase()}${includeStopCodon ? "*." : ""}}` : isOligo2 ? ambiguous_rna_letters.toLowerCase() + "t" : isRna2 ? ambiguous_rna_letters.toLowerCase() + "t" : isMixedRnaAndDna ? ambiguous_rna_letters.toLowerCase() + ambiguous_dna_letters.toLowerCase() : (
|
|
83985
|
+
//just plain old dna
|
|
83986
|
+
ambiguous_rna_letters.toLowerCase() + ambiguous_dna_letters.toLowerCase()
|
|
83987
|
+
);
|
|
83988
|
+
}
|
|
83989
|
+
__name(getAcceptedChars, "getAcceptedChars");
|
|
83990
|
+
function getReplaceChars({
|
|
83991
|
+
isOligo: isOligo2,
|
|
83992
|
+
isProtein: isProtein2,
|
|
83993
|
+
isRna: isRna2,
|
|
83994
|
+
isMixedRnaAndDna
|
|
83995
|
+
} = {}) {
|
|
83996
|
+
return isProtein2 ? {} : isOligo2 ? {} : isRna2 ? { t: "u" } : isMixedRnaAndDna ? {} : (
|
|
83997
|
+
//just plain old dna
|
|
83998
|
+
{}
|
|
83999
|
+
);
|
|
84000
|
+
}
|
|
84001
|
+
__name(getReplaceChars, "getReplaceChars");
|
|
83903
84002
|
function tidyUpAnnotation(_annotation, {
|
|
83904
84003
|
sequenceData: sequenceData2 = {},
|
|
83905
84004
|
convertAnnotationsFromAAIndices,
|
|
@@ -84028,14 +84127,6 @@ function coerceLocation({
|
|
|
84028
84127
|
}
|
|
84029
84128
|
}
|
|
84030
84129
|
__name(coerceLocation, "coerceLocation");
|
|
84031
|
-
function filterAminoAcidSequenceString(sequenceString, options) {
|
|
84032
|
-
options = options || {};
|
|
84033
|
-
if (options.includeStopCodon) {
|
|
84034
|
-
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
84035
|
-
}
|
|
84036
|
-
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
84037
|
-
}
|
|
84038
|
-
__name(filterAminoAcidSequenceString, "filterAminoAcidSequenceString");
|
|
84039
84130
|
function getDegenerateDnaStringFromAAString(aaString) {
|
|
84040
84131
|
return aaString.split("").map((char) => aminoAcidToDegenerateDnaMap[char.toLowerCase()] || "nnn").join("");
|
|
84041
84132
|
}
|
|
@@ -84047,11 +84138,10 @@ function tidyUpSequenceData(pSeqData, options = {}) {
|
|
|
84047
84138
|
removeUnwantedChars,
|
|
84048
84139
|
additionalValidChars,
|
|
84049
84140
|
noTranslationData,
|
|
84050
|
-
charOverrides,
|
|
84051
84141
|
doNotProvideIdsForAnnotations,
|
|
84052
|
-
proteinFilterOptions,
|
|
84053
84142
|
noCdsTranslations,
|
|
84054
|
-
convertAnnotationsFromAAIndices
|
|
84143
|
+
convertAnnotationsFromAAIndices,
|
|
84144
|
+
topLevelSeqData
|
|
84055
84145
|
} = options;
|
|
84056
84146
|
let seqData = lodashExports.cloneDeep(pSeqData);
|
|
84057
84147
|
const response = {
|
|
@@ -84081,16 +84171,15 @@ function tidyUpSequenceData(pSeqData, options = {}) {
|
|
|
84081
84171
|
}
|
|
84082
84172
|
if (removeUnwantedChars) {
|
|
84083
84173
|
if (seqData.isProtein) {
|
|
84084
|
-
seqData.proteinSequence
|
|
84085
|
-
|
|
84086
|
-
|
|
84087
|
-
|
|
84174
|
+
const [newSeq] = filterSequenceString(seqData.proteinSequence, __spreadValues({
|
|
84175
|
+
includeStopCodon: true
|
|
84176
|
+
}, topLevelSeqData || seqData));
|
|
84177
|
+
seqData.proteinSequence = newSeq;
|
|
84088
84178
|
} else {
|
|
84089
|
-
|
|
84090
|
-
|
|
84091
|
-
|
|
84092
|
-
|
|
84093
|
-
);
|
|
84179
|
+
const [newSeq] = filterSequenceString(seqData.sequence, __spreadValues({
|
|
84180
|
+
additionalValidChars
|
|
84181
|
+
}, topLevelSeqData || seqData));
|
|
84182
|
+
seqData.sequence = newSeq;
|
|
84094
84183
|
}
|
|
84095
84184
|
}
|
|
84096
84185
|
if (seqData.isProtein) {
|
|
@@ -93437,7 +93526,8 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93437
93526
|
inclusive1BasedEnd,
|
|
93438
93527
|
additionalValidChars,
|
|
93439
93528
|
allowOverflowAnnotations,
|
|
93440
|
-
coerceFeatureTypes
|
|
93529
|
+
coerceFeatureTypes,
|
|
93530
|
+
includeStopCodon
|
|
93441
93531
|
} = options;
|
|
93442
93532
|
[
|
|
93443
93533
|
"isDNA",
|
|
@@ -93487,7 +93577,6 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93487
93577
|
response.messages.push("No sequence detected");
|
|
93488
93578
|
sequence2.sequence = "";
|
|
93489
93579
|
}
|
|
93490
|
-
let validChars;
|
|
93491
93580
|
if (sequence2.isProtein === void 0 && guessIfProtein) {
|
|
93492
93581
|
sequence2.isProtein = !guessIfSequenceIsDnaAndNotProtein(
|
|
93493
93582
|
sequence2.sequence,
|
|
@@ -93495,12 +93584,15 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93495
93584
|
);
|
|
93496
93585
|
}
|
|
93497
93586
|
if (sequence2.isProtein) {
|
|
93498
|
-
validChars =
|
|
93587
|
+
const [validChars, warnings] = filterSequenceString(sequence2.sequence, {
|
|
93588
|
+
name: sequence2.name,
|
|
93589
|
+
isProtein: true,
|
|
93590
|
+
additionalValidChars,
|
|
93591
|
+
includeStopCodon
|
|
93592
|
+
});
|
|
93499
93593
|
if (validChars !== sequence2.sequence) {
|
|
93500
93594
|
sequence2.sequence = validChars;
|
|
93501
|
-
response.messages.push(
|
|
93502
|
-
"Import Error: Illegal character(s) detected and removed from amino acid sequence. Allowed characters are: xtgalmfwkqespvicyhrndu"
|
|
93503
|
-
);
|
|
93595
|
+
response.messages.push(...warnings);
|
|
93504
93596
|
}
|
|
93505
93597
|
sequence2.type = "PROTEIN";
|
|
93506
93598
|
sequence2.isProtein = true;
|
|
@@ -93522,12 +93614,12 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93522
93614
|
} else {
|
|
93523
93615
|
sequence2.type = "DNA";
|
|
93524
93616
|
}
|
|
93525
|
-
validChars = filterSequenceString(sequence2.sequence,
|
|
93617
|
+
const [validChars, warnings] = filterSequenceString(sequence2.sequence, __spreadValues({
|
|
93618
|
+
additionalValidChars
|
|
93619
|
+
}, sequence2));
|
|
93526
93620
|
if (validChars !== sequence2.sequence) {
|
|
93527
93621
|
sequence2.sequence = validChars;
|
|
93528
|
-
response.messages.push(
|
|
93529
|
-
"Import Error: Illegal character(s) detected and removed from sequence. Allowed characters are: atgcyrswkmbvdhn"
|
|
93530
|
-
);
|
|
93622
|
+
response.messages.push(...warnings);
|
|
93531
93623
|
}
|
|
93532
93624
|
}
|
|
93533
93625
|
if (!sequence2.size) {
|
|
@@ -109009,18 +109101,6 @@ function getSelFromWrappedAddon(selectionLayer2, sequenceLength) {
|
|
|
109009
109101
|
return selToUse;
|
|
109010
109102
|
}
|
|
109011
109103
|
__name(getSelFromWrappedAddon, "getSelFromWrappedAddon");
|
|
109012
|
-
function getAcceptedChars({
|
|
109013
|
-
isOligo: isOligo2,
|
|
109014
|
-
isProtein: isProtein2,
|
|
109015
|
-
isRna: isRna2,
|
|
109016
|
-
isMixedRnaAndDna
|
|
109017
|
-
} = {}) {
|
|
109018
|
-
return isProtein2 ? extended_protein_letters.toLowerCase() : isOligo2 ? ambiguous_rna_letters.toLowerCase() + "t" : isRna2 ? ambiguous_rna_letters.toLowerCase() : isMixedRnaAndDna ? ambiguous_rna_letters.toLowerCase() + ambiguous_dna_letters.toLowerCase() : (
|
|
109019
|
-
//just plain old dna
|
|
109020
|
-
ambiguous_dna_letters.toLowerCase()
|
|
109021
|
-
);
|
|
109022
|
-
}
|
|
109023
|
-
__name(getAcceptedChars, "getAcceptedChars");
|
|
109024
109104
|
function getStripedPattern({ color: color2 }) {
|
|
109025
109105
|
return /* @__PURE__ */ React__default$1.createElement(
|
|
109026
109106
|
"pattern",
|
|
@@ -125627,7 +125707,7 @@ function showFileDialog({ multiple = false, onSelect }) {
|
|
|
125627
125707
|
}
|
|
125628
125708
|
__name(showFileDialog, "showFileDialog");
|
|
125629
125709
|
const name = "@teselagen/ove";
|
|
125630
|
-
const version = "0.3.
|
|
125710
|
+
const version = "0.3.42";
|
|
125631
125711
|
const main = "./src/index.js";
|
|
125632
125712
|
const exports$1 = {
|
|
125633
125713
|
".": {
|
|
@@ -129380,9 +129460,8 @@ const _SequenceInputNoHotkeys = class _SequenceInputNoHotkeys extends React__def
|
|
|
129380
129460
|
selectionLayer: selectionLayer2,
|
|
129381
129461
|
sequenceLength,
|
|
129382
129462
|
isProtein: isProtein2,
|
|
129383
|
-
replaceChars,
|
|
129384
129463
|
caretPosition: caretPosition2,
|
|
129385
|
-
|
|
129464
|
+
sequenceData: sequenceData2,
|
|
129386
129465
|
maxInsertSize
|
|
129387
129466
|
} = this.props;
|
|
129388
129467
|
const { charsToInsert, hasTempError } = this.state;
|
|
@@ -129415,17 +129494,13 @@ const _SequenceInputNoHotkeys = class _SequenceInputNoHotkeys extends React__def
|
|
|
129415
129494
|
autoFocus: true,
|
|
129416
129495
|
style: hasTempError ? { borderColor: "red" } : {},
|
|
129417
129496
|
onChange: (e2) => {
|
|
129418
|
-
|
|
129419
|
-
|
|
129420
|
-
|
|
129421
|
-
|
|
129422
|
-
|
|
129423
|
-
|
|
129424
|
-
|
|
129425
|
-
sanitizedVal += letter;
|
|
129426
|
-
}
|
|
129427
|
-
});
|
|
129428
|
-
if (e2.target.value.length !== sanitizedVal.length) {
|
|
129497
|
+
const [sanitizedVal, warnings] = filterSequenceString(
|
|
129498
|
+
e2.target.value,
|
|
129499
|
+
__spreadProps(__spreadValues({}, sequenceData2), {
|
|
129500
|
+
name: void 0
|
|
129501
|
+
})
|
|
129502
|
+
);
|
|
129503
|
+
if (warnings.length) {
|
|
129429
129504
|
this.setState({
|
|
129430
129505
|
hasTempError: true
|
|
129431
129506
|
});
|
|
@@ -130300,7 +130375,8 @@ function VectorInteractionHOC(Component2) {
|
|
|
130300
130375
|
selectionLayer: selectionLayer2 = { start: -1, end: -1 },
|
|
130301
130376
|
readOnly: readOnly2,
|
|
130302
130377
|
onPaste,
|
|
130303
|
-
disableBpEditing
|
|
130378
|
+
disableBpEditing,
|
|
130379
|
+
sequenceData: sequenceData2
|
|
130304
130380
|
} = this.props;
|
|
130305
130381
|
if (disableBpEditing) {
|
|
130306
130382
|
return window.toastr.warning("Sorry the underlying sequence is locked");
|
|
@@ -130325,6 +130401,7 @@ function VectorInteractionHOC(Component2) {
|
|
|
130325
130401
|
};
|
|
130326
130402
|
}
|
|
130327
130403
|
seqDataToInsert = tidyUpSequenceData(seqDataToInsert, {
|
|
130404
|
+
topLevelSeqData: sequenceData2,
|
|
130328
130405
|
provideNewIdsForAnnotations: true,
|
|
130329
130406
|
annotationsAsObjects: true,
|
|
130330
130407
|
removeUnwantedChars: true,
|
|
@@ -130420,8 +130497,7 @@ function VectorInteractionHOC(Component2) {
|
|
|
130420
130497
|
createSequenceInputPopup({
|
|
130421
130498
|
useEventPositioning,
|
|
130422
130499
|
isReplace,
|
|
130423
|
-
|
|
130424
|
-
acceptedChars: getAcceptedChars(sequenceData2),
|
|
130500
|
+
sequenceData: sequenceData2,
|
|
130425
130501
|
isProtein: sequenceData2.isProtein,
|
|
130426
130502
|
selectionLayer: selectionLayer2,
|
|
130427
130503
|
sequenceLength,
|
|
@@ -141914,14 +141990,8 @@ const CustomContentEditable = generateField(/* @__PURE__ */ __name(function Cust
|
|
|
141914
141990
|
const newVal2 = e2.target.innerText;
|
|
141915
141991
|
const savedCaretPosition = EditCaretPositioning.saveSelection(e2.currentTarget);
|
|
141916
141992
|
setCaretPosition(savedCaretPosition);
|
|
141917
|
-
const
|
|
141918
|
-
|
|
141919
|
-
newVal2.split("").forEach((letter) => {
|
|
141920
|
-
if (acceptedChars.includes(letter.toLowerCase())) {
|
|
141921
|
-
newBases += letter;
|
|
141922
|
-
}
|
|
141923
|
-
});
|
|
141924
|
-
if (newVal2.length !== newBases.length) {
|
|
141993
|
+
const [newBases, warnings] = filterSequenceString(newVal2, sequenceData2);
|
|
141994
|
+
if (warnings.length) {
|
|
141925
141995
|
setTempError(true);
|
|
141926
141996
|
setTimeout(() => {
|
|
141927
141997
|
setTempError(false);
|