@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.cjs.js
CHANGED
|
@@ -18236,11 +18236,20 @@ var _fails = /* @__PURE__ */ __name(function(exec) {
|
|
|
18236
18236
|
return true;
|
|
18237
18237
|
}
|
|
18238
18238
|
}, "_fails");
|
|
18239
|
-
var _descriptors
|
|
18240
|
-
|
|
18241
|
-
|
|
18242
|
-
|
|
18243
|
-
|
|
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");
|
|
18244
18253
|
var _domCreate;
|
|
18245
18254
|
var hasRequired_domCreate;
|
|
18246
18255
|
function require_domCreate() {
|
|
@@ -18256,7 +18265,7 @@ function require_domCreate() {
|
|
|
18256
18265
|
return _domCreate;
|
|
18257
18266
|
}
|
|
18258
18267
|
__name(require_domCreate, "require_domCreate");
|
|
18259
|
-
var _ie8DomDefine = !
|
|
18268
|
+
var _ie8DomDefine = !require_descriptors() && !_fails(function() {
|
|
18260
18269
|
return Object.defineProperty(require_domCreate()("div"), "a", { get: function() {
|
|
18261
18270
|
return 7;
|
|
18262
18271
|
} }).a != 7;
|
|
@@ -18278,7 +18287,7 @@ var anObject$5 = _anObject;
|
|
|
18278
18287
|
var IE8_DOM_DEFINE$1 = _ie8DomDefine;
|
|
18279
18288
|
var toPrimitive$2 = _toPrimitive$1;
|
|
18280
18289
|
var dP$3 = Object.defineProperty;
|
|
18281
|
-
_objectDp.f =
|
|
18290
|
+
_objectDp.f = require_descriptors() ? Object.defineProperty : /* @__PURE__ */ __name(function defineProperty2(O2, P2, Attributes) {
|
|
18282
18291
|
anObject$5(O2);
|
|
18283
18292
|
P2 = toPrimitive$2(P2, true);
|
|
18284
18293
|
anObject$5(Attributes);
|
|
@@ -18303,7 +18312,7 @@ var _propertyDesc = /* @__PURE__ */ __name(function(bitmap, value) {
|
|
|
18303
18312
|
}, "_propertyDesc");
|
|
18304
18313
|
var dP$2 = _objectDp;
|
|
18305
18314
|
var createDesc$3 = _propertyDesc;
|
|
18306
|
-
var _hide =
|
|
18315
|
+
var _hide = require_descriptors() ? function(object3, key, value) {
|
|
18307
18316
|
return dP$2.f(object3, key, createDesc$3(1, value));
|
|
18308
18317
|
} : function(object3, key, value) {
|
|
18309
18318
|
object3[key] = value;
|
|
@@ -18492,7 +18501,7 @@ function require_objectAssign() {
|
|
|
18492
18501
|
if (hasRequired_objectAssign)
|
|
18493
18502
|
return _objectAssign;
|
|
18494
18503
|
hasRequired_objectAssign = 1;
|
|
18495
|
-
var DESCRIPTORS2 =
|
|
18504
|
+
var DESCRIPTORS2 = require_descriptors();
|
|
18496
18505
|
var getKeys2 = _objectKeys;
|
|
18497
18506
|
var gOPS2 = _objectGops;
|
|
18498
18507
|
var pIE2 = _objectPie;
|
|
@@ -18561,7 +18570,7 @@ var _redefine = _hide;
|
|
|
18561
18570
|
var dP$1 = _objectDp;
|
|
18562
18571
|
var anObject$4 = _anObject;
|
|
18563
18572
|
var getKeys$1 = _objectKeys;
|
|
18564
|
-
var _objectDps =
|
|
18573
|
+
var _objectDps = require_descriptors() ? Object.defineProperties : /* @__PURE__ */ __name(function defineProperties(O2, Properties2) {
|
|
18565
18574
|
anObject$4(O2);
|
|
18566
18575
|
var keys5 = getKeys$1(Properties2);
|
|
18567
18576
|
var length = keys5.length;
|
|
@@ -19030,7 +19039,7 @@ var _default$8 = /* @__PURE__ */ __name(function(instance, Constructor) {
|
|
|
19030
19039
|
}
|
|
19031
19040
|
}, "_default$8");
|
|
19032
19041
|
var $export$3 = _export;
|
|
19033
|
-
$export$3($export$3.S + $export$3.F * !
|
|
19042
|
+
$export$3($export$3.S + $export$3.F * !require_descriptors(), "Object", { defineProperty: _objectDp.f });
|
|
19034
19043
|
var $Object$2 = _coreExports.Object;
|
|
19035
19044
|
var defineProperty$c = /* @__PURE__ */ __name(function defineProperty3(it, key, desc) {
|
|
19036
19045
|
return $Object$2.defineProperty(it, key, desc);
|
|
@@ -19180,7 +19189,7 @@ var toPrimitive$1 = _toPrimitive$1;
|
|
|
19180
19189
|
var has$9 = _has;
|
|
19181
19190
|
var IE8_DOM_DEFINE = _ie8DomDefine;
|
|
19182
19191
|
var gOPD$5 = Object.getOwnPropertyDescriptor;
|
|
19183
|
-
_objectGopd.f =
|
|
19192
|
+
_objectGopd.f = require_descriptors() ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPropertyDescriptor(O2, P2) {
|
|
19184
19193
|
O2 = toIObject$1(O2);
|
|
19185
19194
|
P2 = toPrimitive$1(P2, true);
|
|
19186
19195
|
if (IE8_DOM_DEFINE)
|
|
@@ -19193,7 +19202,7 @@ _objectGopd.f = _descriptors ? gOPD$5 : /* @__PURE__ */ __name(function getOwnPr
|
|
|
19193
19202
|
}, "getOwnPropertyDescriptor");
|
|
19194
19203
|
var global$2 = _globalExports;
|
|
19195
19204
|
var has$8 = _has;
|
|
19196
|
-
var DESCRIPTORS =
|
|
19205
|
+
var DESCRIPTORS = require_descriptors();
|
|
19197
19206
|
var $export$2 = _export;
|
|
19198
19207
|
var redefine = _redefine;
|
|
19199
19208
|
var META = _metaExports.KEY;
|
|
@@ -57090,7 +57099,7 @@ const _DataTable = class _DataTable extends React$2.Component {
|
|
|
57090
57099
|
isEntityDisabled,
|
|
57091
57100
|
entity
|
|
57092
57101
|
});
|
|
57093
|
-
const _isClean = entity._isClean && doNotValidateUntouchedRows;
|
|
57102
|
+
const _isClean = entity._isClean && doNotValidateUntouchedRows || isEntityClean(entity);
|
|
57094
57103
|
const err2 = !_isClean && reduxFormCellValidation[cellId];
|
|
57095
57104
|
let selectedTopBorder, selectedRightBorder, selectedBottomBorder, selectedLeftBorder;
|
|
57096
57105
|
if (reduxFormSelectedCells[cellId]) {
|
|
@@ -59286,6 +59295,21 @@ function stripNumberAtEnd(str) {
|
|
|
59286
59295
|
return str.replace(getNumberStrAtEnd(str), "");
|
|
59287
59296
|
}
|
|
59288
59297
|
__name(stripNumberAtEnd, "stripNumberAtEnd");
|
|
59298
|
+
function isEntityClean(e2) {
|
|
59299
|
+
let isClean = true;
|
|
59300
|
+
lodashExports.some(e2, (val2, key) => {
|
|
59301
|
+
if (key === "id")
|
|
59302
|
+
return;
|
|
59303
|
+
if (key === "_isClean")
|
|
59304
|
+
return;
|
|
59305
|
+
if (val2) {
|
|
59306
|
+
isClean = false;
|
|
59307
|
+
return true;
|
|
59308
|
+
}
|
|
59309
|
+
});
|
|
59310
|
+
return isClean;
|
|
59311
|
+
}
|
|
59312
|
+
__name(isEntityClean, "isEntityClean");
|
|
59289
59313
|
const wrapDialog = /* @__PURE__ */ __name((topLevelDialogProps = {}) => (Component) => (props) => {
|
|
59290
59314
|
const r2 = React$2.useRef();
|
|
59291
59315
|
const memoedHotkeys = React$2.useMemo(
|
|
@@ -61800,7 +61824,7 @@ __name(asyncValidateHelper, "asyncValidateHelper");
|
|
|
61800
61824
|
function removeCleanRows(reduxFormEntities, reduxFormCellValidation) {
|
|
61801
61825
|
const toFilterOut = {};
|
|
61802
61826
|
const entsToUse = (reduxFormEntities || []).filter((e2) => {
|
|
61803
|
-
if (!e2._isClean)
|
|
61827
|
+
if (!(e2._isClean || isEntityClean(e2)))
|
|
61804
61828
|
return true;
|
|
61805
61829
|
else {
|
|
61806
61830
|
toFilterOut[getIdOrCodeOrIndex(e2)] = true;
|
|
@@ -76765,7 +76789,9 @@ ptIconWrapper(
|
|
|
76765
76789
|
))),
|
|
76766
76790
|
400
|
|
76767
76791
|
);
|
|
76768
|
-
const isSafari = /^((?!chrome|android).)*safari/i.test(
|
|
76792
|
+
const isSafari = /^((?!chrome|android).)*safari/i.test(
|
|
76793
|
+
navigator.userAgent
|
|
76794
|
+
);
|
|
76769
76795
|
function genericCommandFactory(config) {
|
|
76770
76796
|
const out = {};
|
|
76771
76797
|
for (const cmdId in config.commandDefs) {
|
|
@@ -77818,6 +77844,7 @@ const minimumOrfSize$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de
|
|
|
77818
77844
|
minimumOrfSizeUpdate
|
|
77819
77845
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
77820
77846
|
const protein_letters = "ACDEFGHIKLMNPQRSTVWY";
|
|
77847
|
+
const protein_letters_withUandX = "ACDEFGHIKLMNPQRSTVWYUX";
|
|
77821
77848
|
const extended_protein_letters = "ACDEFGHIKLMNPQRSTVWYBXZJUO.*-";
|
|
77822
77849
|
const ambiguous_dna_letters = "GATCRYWSMKHBVDN";
|
|
77823
77850
|
const unambiguous_dna_letters = "GATC";
|
|
@@ -77886,6 +77913,7 @@ const bioData = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
77886
77913
|
extended_protein_letters,
|
|
77887
77914
|
extended_protein_values,
|
|
77888
77915
|
protein_letters,
|
|
77916
|
+
protein_letters_withUandX,
|
|
77889
77917
|
unambiguous_dna_letters,
|
|
77890
77918
|
unambiguous_rna_letters
|
|
77891
77919
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -83904,20 +83932,91 @@ const modifiableTypes = [
|
|
|
83904
83932
|
"primers",
|
|
83905
83933
|
"guides"
|
|
83906
83934
|
];
|
|
83907
|
-
function filterSequenceString(sequenceString,
|
|
83908
|
-
|
|
83909
|
-
|
|
83910
|
-
|
|
83911
|
-
|
|
83912
|
-
|
|
83913
|
-
|
|
83914
|
-
|
|
83935
|
+
function filterSequenceString(sequenceString, {
|
|
83936
|
+
additionalValidChars = "",
|
|
83937
|
+
isOligo: isOligo2,
|
|
83938
|
+
name: name2,
|
|
83939
|
+
isProtein: isProtein2,
|
|
83940
|
+
isRna: isRna2,
|
|
83941
|
+
isMixedRnaAndDna,
|
|
83942
|
+
includeStopCodon
|
|
83943
|
+
} = {}) {
|
|
83944
|
+
const acceptedChars = getAcceptedChars({
|
|
83945
|
+
isOligo: isOligo2,
|
|
83946
|
+
isProtein: isProtein2,
|
|
83947
|
+
isRna: isRna2,
|
|
83948
|
+
isMixedRnaAndDna,
|
|
83949
|
+
includeStopCodon
|
|
83950
|
+
});
|
|
83951
|
+
const replaceChars = getReplaceChars({
|
|
83952
|
+
isOligo: isOligo2,
|
|
83953
|
+
isProtein: isProtein2,
|
|
83954
|
+
isRna: isRna2,
|
|
83955
|
+
isMixedRnaAndDna
|
|
83956
|
+
});
|
|
83957
|
+
let sanitizedVal = "";
|
|
83958
|
+
const invalidChars = [];
|
|
83959
|
+
const chars2 = `${acceptedChars}${additionalValidChars.split("").join("\\")}`;
|
|
83960
|
+
const warnings = [];
|
|
83961
|
+
const replaceCount = {};
|
|
83962
|
+
sequenceString.split("").forEach((letter) => {
|
|
83963
|
+
const lowerLetter = letter.toLowerCase();
|
|
83964
|
+
if (replaceChars && replaceChars[lowerLetter]) {
|
|
83965
|
+
if (!replaceCount[lowerLetter]) {
|
|
83966
|
+
replaceCount[lowerLetter] = 0;
|
|
83967
|
+
}
|
|
83968
|
+
replaceCount[lowerLetter]++;
|
|
83969
|
+
const isUpper = lowerLetter !== letter;
|
|
83970
|
+
sanitizedVal += isUpper ? replaceChars[lowerLetter].toUpperCase() : replaceChars[lowerLetter];
|
|
83971
|
+
} else if (chars2.includes(lowerLetter)) {
|
|
83972
|
+
sanitizedVal += letter;
|
|
83973
|
+
} else {
|
|
83974
|
+
invalidChars.push(letter);
|
|
83975
|
+
}
|
|
83976
|
+
});
|
|
83977
|
+
Object.keys(replaceCount).forEach((letter) => {
|
|
83978
|
+
warnings.push(
|
|
83979
|
+
`Replaced "${letter}" with "${replaceChars[letter]}"${replaceCount[letter] > 1 ? ` ${replaceCount[letter]} times` : ""}`
|
|
83915
83980
|
);
|
|
83916
|
-
}
|
|
83917
|
-
|
|
83981
|
+
});
|
|
83982
|
+
if (sequenceString.length !== sanitizedVal.length) {
|
|
83983
|
+
warnings.push(
|
|
83984
|
+
`${name2 ? `Sequence ${name2}: ` : ""}Invalid character(s) detected and removed: ${invalidChars.slice(0, 100).join(", ")} `
|
|
83985
|
+
);
|
|
83986
|
+
}
|
|
83987
|
+
if (typeof window !== "undefined" && window.toastr && warnings.length) {
|
|
83988
|
+
warnings.forEach((warning2) => {
|
|
83989
|
+
window.toastr.warning(warning2);
|
|
83990
|
+
});
|
|
83918
83991
|
}
|
|
83992
|
+
return [sanitizedVal, warnings];
|
|
83919
83993
|
}
|
|
83920
83994
|
__name(filterSequenceString, "filterSequenceString");
|
|
83995
|
+
function getAcceptedChars({
|
|
83996
|
+
isOligo: isOligo2,
|
|
83997
|
+
isProtein: isProtein2,
|
|
83998
|
+
isRna: isRna2,
|
|
83999
|
+
isMixedRnaAndDna,
|
|
84000
|
+
includeStopCodon
|
|
84001
|
+
} = {}) {
|
|
84002
|
+
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() : (
|
|
84003
|
+
//just plain old dna
|
|
84004
|
+
ambiguous_rna_letters.toLowerCase() + ambiguous_dna_letters.toLowerCase()
|
|
84005
|
+
);
|
|
84006
|
+
}
|
|
84007
|
+
__name(getAcceptedChars, "getAcceptedChars");
|
|
84008
|
+
function getReplaceChars({
|
|
84009
|
+
isOligo: isOligo2,
|
|
84010
|
+
isProtein: isProtein2,
|
|
84011
|
+
isRna: isRna2,
|
|
84012
|
+
isMixedRnaAndDna
|
|
84013
|
+
} = {}) {
|
|
84014
|
+
return isProtein2 ? {} : isOligo2 ? {} : isRna2 ? { t: "u" } : isMixedRnaAndDna ? {} : (
|
|
84015
|
+
//just plain old dna
|
|
84016
|
+
{}
|
|
84017
|
+
);
|
|
84018
|
+
}
|
|
84019
|
+
__name(getReplaceChars, "getReplaceChars");
|
|
83921
84020
|
function tidyUpAnnotation(_annotation, {
|
|
83922
84021
|
sequenceData: sequenceData2 = {},
|
|
83923
84022
|
convertAnnotationsFromAAIndices,
|
|
@@ -84046,14 +84145,6 @@ function coerceLocation({
|
|
|
84046
84145
|
}
|
|
84047
84146
|
}
|
|
84048
84147
|
__name(coerceLocation, "coerceLocation");
|
|
84049
|
-
function filterAminoAcidSequenceString(sequenceString, options) {
|
|
84050
|
-
options = options || {};
|
|
84051
|
-
if (options.includeStopCodon) {
|
|
84052
|
-
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
84053
|
-
}
|
|
84054
|
-
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
84055
|
-
}
|
|
84056
|
-
__name(filterAminoAcidSequenceString, "filterAminoAcidSequenceString");
|
|
84057
84148
|
function getDegenerateDnaStringFromAAString(aaString) {
|
|
84058
84149
|
return aaString.split("").map((char) => aminoAcidToDegenerateDnaMap[char.toLowerCase()] || "nnn").join("");
|
|
84059
84150
|
}
|
|
@@ -84065,11 +84156,10 @@ function tidyUpSequenceData(pSeqData, options = {}) {
|
|
|
84065
84156
|
removeUnwantedChars,
|
|
84066
84157
|
additionalValidChars,
|
|
84067
84158
|
noTranslationData,
|
|
84068
|
-
charOverrides,
|
|
84069
84159
|
doNotProvideIdsForAnnotations,
|
|
84070
|
-
proteinFilterOptions,
|
|
84071
84160
|
noCdsTranslations,
|
|
84072
|
-
convertAnnotationsFromAAIndices
|
|
84161
|
+
convertAnnotationsFromAAIndices,
|
|
84162
|
+
topLevelSeqData
|
|
84073
84163
|
} = options;
|
|
84074
84164
|
let seqData = lodashExports.cloneDeep(pSeqData);
|
|
84075
84165
|
const response = {
|
|
@@ -84099,16 +84189,15 @@ function tidyUpSequenceData(pSeqData, options = {}) {
|
|
|
84099
84189
|
}
|
|
84100
84190
|
if (removeUnwantedChars) {
|
|
84101
84191
|
if (seqData.isProtein) {
|
|
84102
|
-
seqData.proteinSequence
|
|
84103
|
-
|
|
84104
|
-
|
|
84105
|
-
|
|
84192
|
+
const [newSeq] = filterSequenceString(seqData.proteinSequence, __spreadValues({
|
|
84193
|
+
includeStopCodon: true
|
|
84194
|
+
}, topLevelSeqData || seqData));
|
|
84195
|
+
seqData.proteinSequence = newSeq;
|
|
84106
84196
|
} else {
|
|
84107
|
-
|
|
84108
|
-
|
|
84109
|
-
|
|
84110
|
-
|
|
84111
|
-
);
|
|
84197
|
+
const [newSeq] = filterSequenceString(seqData.sequence, __spreadValues({
|
|
84198
|
+
additionalValidChars
|
|
84199
|
+
}, topLevelSeqData || seqData));
|
|
84200
|
+
seqData.sequence = newSeq;
|
|
84112
84201
|
}
|
|
84113
84202
|
}
|
|
84114
84203
|
if (seqData.isProtein) {
|
|
@@ -93455,7 +93544,8 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93455
93544
|
inclusive1BasedEnd,
|
|
93456
93545
|
additionalValidChars,
|
|
93457
93546
|
allowOverflowAnnotations,
|
|
93458
|
-
coerceFeatureTypes
|
|
93547
|
+
coerceFeatureTypes,
|
|
93548
|
+
includeStopCodon
|
|
93459
93549
|
} = options;
|
|
93460
93550
|
[
|
|
93461
93551
|
"isDNA",
|
|
@@ -93505,7 +93595,6 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93505
93595
|
response.messages.push("No sequence detected");
|
|
93506
93596
|
sequence2.sequence = "";
|
|
93507
93597
|
}
|
|
93508
|
-
let validChars;
|
|
93509
93598
|
if (sequence2.isProtein === void 0 && guessIfProtein) {
|
|
93510
93599
|
sequence2.isProtein = !guessIfSequenceIsDnaAndNotProtein(
|
|
93511
93600
|
sequence2.sequence,
|
|
@@ -93513,12 +93602,15 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93513
93602
|
);
|
|
93514
93603
|
}
|
|
93515
93604
|
if (sequence2.isProtein) {
|
|
93516
|
-
validChars =
|
|
93605
|
+
const [validChars, warnings] = filterSequenceString(sequence2.sequence, {
|
|
93606
|
+
name: sequence2.name,
|
|
93607
|
+
isProtein: true,
|
|
93608
|
+
additionalValidChars,
|
|
93609
|
+
includeStopCodon
|
|
93610
|
+
});
|
|
93517
93611
|
if (validChars !== sequence2.sequence) {
|
|
93518
93612
|
sequence2.sequence = validChars;
|
|
93519
|
-
response.messages.push(
|
|
93520
|
-
"Import Error: Illegal character(s) detected and removed from amino acid sequence. Allowed characters are: xtgalmfwkqespvicyhrndu"
|
|
93521
|
-
);
|
|
93613
|
+
response.messages.push(...warnings);
|
|
93522
93614
|
}
|
|
93523
93615
|
sequence2.type = "PROTEIN";
|
|
93524
93616
|
sequence2.isProtein = true;
|
|
@@ -93540,12 +93632,12 @@ function validateSequence(sequence2, options = {}) {
|
|
|
93540
93632
|
} else {
|
|
93541
93633
|
sequence2.type = "DNA";
|
|
93542
93634
|
}
|
|
93543
|
-
validChars = filterSequenceString(sequence2.sequence,
|
|
93635
|
+
const [validChars, warnings] = filterSequenceString(sequence2.sequence, __spreadValues({
|
|
93636
|
+
additionalValidChars
|
|
93637
|
+
}, sequence2));
|
|
93544
93638
|
if (validChars !== sequence2.sequence) {
|
|
93545
93639
|
sequence2.sequence = validChars;
|
|
93546
|
-
response.messages.push(
|
|
93547
|
-
"Import Error: Illegal character(s) detected and removed from sequence. Allowed characters are: atgcyrswkmbvdhn"
|
|
93548
|
-
);
|
|
93640
|
+
response.messages.push(...warnings);
|
|
93549
93641
|
}
|
|
93550
93642
|
}
|
|
93551
93643
|
if (!sequence2.size) {
|
|
@@ -109027,18 +109119,6 @@ function getSelFromWrappedAddon(selectionLayer2, sequenceLength) {
|
|
|
109027
109119
|
return selToUse;
|
|
109028
109120
|
}
|
|
109029
109121
|
__name(getSelFromWrappedAddon, "getSelFromWrappedAddon");
|
|
109030
|
-
function getAcceptedChars({
|
|
109031
|
-
isOligo: isOligo2,
|
|
109032
|
-
isProtein: isProtein2,
|
|
109033
|
-
isRna: isRna2,
|
|
109034
|
-
isMixedRnaAndDna
|
|
109035
|
-
} = {}) {
|
|
109036
|
-
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() : (
|
|
109037
|
-
//just plain old dna
|
|
109038
|
-
ambiguous_dna_letters.toLowerCase()
|
|
109039
|
-
);
|
|
109040
|
-
}
|
|
109041
|
-
__name(getAcceptedChars, "getAcceptedChars");
|
|
109042
109122
|
function getStripedPattern({ color: color2 }) {
|
|
109043
109123
|
return /* @__PURE__ */ React$2.createElement(
|
|
109044
109124
|
"pattern",
|
|
@@ -125645,7 +125725,7 @@ function showFileDialog({ multiple = false, onSelect }) {
|
|
|
125645
125725
|
}
|
|
125646
125726
|
__name(showFileDialog, "showFileDialog");
|
|
125647
125727
|
const name = "@teselagen/ove";
|
|
125648
|
-
const version = "0.3.
|
|
125728
|
+
const version = "0.3.42";
|
|
125649
125729
|
const main = "./src/index.js";
|
|
125650
125730
|
const exports$1 = {
|
|
125651
125731
|
".": {
|
|
@@ -129398,9 +129478,8 @@ const _SequenceInputNoHotkeys = class _SequenceInputNoHotkeys extends React$2.Co
|
|
|
129398
129478
|
selectionLayer: selectionLayer2,
|
|
129399
129479
|
sequenceLength,
|
|
129400
129480
|
isProtein: isProtein2,
|
|
129401
|
-
replaceChars,
|
|
129402
129481
|
caretPosition: caretPosition2,
|
|
129403
|
-
|
|
129482
|
+
sequenceData: sequenceData2,
|
|
129404
129483
|
maxInsertSize
|
|
129405
129484
|
} = this.props;
|
|
129406
129485
|
const { charsToInsert, hasTempError } = this.state;
|
|
@@ -129433,17 +129512,13 @@ const _SequenceInputNoHotkeys = class _SequenceInputNoHotkeys extends React$2.Co
|
|
|
129433
129512
|
autoFocus: true,
|
|
129434
129513
|
style: hasTempError ? { borderColor: "red" } : {},
|
|
129435
129514
|
onChange: (e2) => {
|
|
129436
|
-
|
|
129437
|
-
|
|
129438
|
-
|
|
129439
|
-
|
|
129440
|
-
|
|
129441
|
-
|
|
129442
|
-
|
|
129443
|
-
sanitizedVal += letter;
|
|
129444
|
-
}
|
|
129445
|
-
});
|
|
129446
|
-
if (e2.target.value.length !== sanitizedVal.length) {
|
|
129515
|
+
const [sanitizedVal, warnings] = filterSequenceString(
|
|
129516
|
+
e2.target.value,
|
|
129517
|
+
__spreadProps(__spreadValues({}, sequenceData2), {
|
|
129518
|
+
name: void 0
|
|
129519
|
+
})
|
|
129520
|
+
);
|
|
129521
|
+
if (warnings.length) {
|
|
129447
129522
|
this.setState({
|
|
129448
129523
|
hasTempError: true
|
|
129449
129524
|
});
|
|
@@ -130318,7 +130393,8 @@ function VectorInteractionHOC(Component) {
|
|
|
130318
130393
|
selectionLayer: selectionLayer2 = { start: -1, end: -1 },
|
|
130319
130394
|
readOnly: readOnly2,
|
|
130320
130395
|
onPaste,
|
|
130321
|
-
disableBpEditing
|
|
130396
|
+
disableBpEditing,
|
|
130397
|
+
sequenceData: sequenceData2
|
|
130322
130398
|
} = this.props;
|
|
130323
130399
|
if (disableBpEditing) {
|
|
130324
130400
|
return window.toastr.warning("Sorry the underlying sequence is locked");
|
|
@@ -130343,6 +130419,7 @@ function VectorInteractionHOC(Component) {
|
|
|
130343
130419
|
};
|
|
130344
130420
|
}
|
|
130345
130421
|
seqDataToInsert = tidyUpSequenceData(seqDataToInsert, {
|
|
130422
|
+
topLevelSeqData: sequenceData2,
|
|
130346
130423
|
provideNewIdsForAnnotations: true,
|
|
130347
130424
|
annotationsAsObjects: true,
|
|
130348
130425
|
removeUnwantedChars: true,
|
|
@@ -130438,8 +130515,7 @@ function VectorInteractionHOC(Component) {
|
|
|
130438
130515
|
createSequenceInputPopup({
|
|
130439
130516
|
useEventPositioning,
|
|
130440
130517
|
isReplace,
|
|
130441
|
-
|
|
130442
|
-
acceptedChars: getAcceptedChars(sequenceData2),
|
|
130518
|
+
sequenceData: sequenceData2,
|
|
130443
130519
|
isProtein: sequenceData2.isProtein,
|
|
130444
130520
|
selectionLayer: selectionLayer2,
|
|
130445
130521
|
sequenceLength,
|
|
@@ -141932,14 +142008,8 @@ const CustomContentEditable = generateField(/* @__PURE__ */ __name(function Cust
|
|
|
141932
142008
|
const newVal2 = e2.target.innerText;
|
|
141933
142009
|
const savedCaretPosition = EditCaretPositioning.saveSelection(e2.currentTarget);
|
|
141934
142010
|
setCaretPosition(savedCaretPosition);
|
|
141935
|
-
const
|
|
141936
|
-
|
|
141937
|
-
newVal2.split("").forEach((letter) => {
|
|
141938
|
-
if (acceptedChars.includes(letter.toLowerCase())) {
|
|
141939
|
-
newBases += letter;
|
|
141940
|
-
}
|
|
141941
|
-
});
|
|
141942
|
-
if (newVal2.length !== newBases.length) {
|
|
142011
|
+
const [newBases, warnings] = filterSequenceString(newVal2, sequenceData2);
|
|
142012
|
+
if (warnings.length) {
|
|
141943
142013
|
setTempError(true);
|
|
141944
142014
|
setTimeout(() => {
|
|
141945
142015
|
setTempError(false);
|