@teselagen/sequence-utils 0.3.7 → 0.3.8
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/README.md +89 -0
- package/bioData.d.ts +0 -339
- package/index.d.ts +7 -7
- package/index.js +238 -384
- package/index.mjs +238 -384
- package/index.umd.js +238 -384
- package/package.json +1 -2
- package/src/addGapsToSeqReads.js +2 -2
- package/src/adjustAnnotationsToInsert.js +3 -3
- package/src/adjustBpsToReplaceOrInsert.js +3 -3
- package/src/adjustBpsToReplaceOrInsert.test.js +0 -1
- package/src/aminoAcidToDnaRna.test.js +1 -1
- package/src/annotateSingleSeq.js +1 -1
- package/src/annotateSingleSeq.test.js +1 -4
- package/src/autoAnnotate.js +5 -2
- package/src/autoAnnotate.test.js +6 -30
- package/src/bioData.js +0 -365
- package/src/calculateNebTa.js +1 -1
- package/src/calculateNebTm.js +1 -1
- package/src/calculatePercentGC.js +2 -2
- package/src/calculateTm.js +19 -102
- package/src/computeDigestFragments.js +7 -4
- package/src/computeDigestFragments.test.js +1 -1
- package/src/condensePairwiseAlignmentDifferences.js +1 -1
- package/src/convertAACaretPositionOrRangeToDna.js +1 -1
- package/src/convertDnaCaretPositionOrRangeToAA.js +1 -1
- package/src/cutSequenceByRestrictionEnzyme.js +3 -3
- package/src/cutSequenceByRestrictionEnzyme.test.js +0 -1
- package/src/degenerateDnaToAminoAcidMap.js +1 -1
- package/src/degenerateRnaToAminoAcidMap.js +1 -1
- package/src/deleteSequenceDataAtRange.js +1 -1
- package/src/deleteSequenceDataAtRange.test.js +23 -9
- package/src/diffUtils.js +4 -4
- package/src/diffUtils.test.js +2 -2
- package/src/doesEnzymeChopOutsideOfRecognitionSite.js +1 -1
- package/src/doesEnzymeChopOutsideOfRecognitionSite.test.js +0 -2
- package/src/featureTypesAndColors.js +5 -5
- package/src/featureTypesAndColors.test.js +1 -1
- package/src/filterAminoAcidSequenceString.js +4 -7
- package/src/filterAminoAcidSequenceString.test.js +3 -1
- package/src/filterSequenceString.js +5 -3
- package/src/findNearestRangeOfSequenceOverlapToPosition.js +1 -1
- package/src/findOrfsInPlasmid.js +1 -1
- package/src/findSequenceMatches.js +9 -10
- package/src/generateAnnotations.js +1 -1
- package/src/generateSequenceData.js +1 -1
- package/src/generateSequenceData.test.js +1 -1
- package/src/getAllInsertionsInSeqReads.js +1 -1
- package/src/getAminoAcidDataForEachBaseOfDna.js +2 -2
- package/src/getAminoAcidDataForEachBaseOfDna.test.js +0 -2
- package/src/getAminoAcidFromSequenceTriplet.js +1 -1
- package/src/getAminoAcidStringFromSequenceString.js +1 -1
- package/src/getCodonRangeForAASliver.js +1 -1
- package/src/getComplementAminoAcidStringFromSequenceString.js +2 -5
- package/src/getComplementSequenceAndAnnotations.js +1 -2
- package/src/getComplementSequenceString.js +5 -3
- package/src/getComplementSequenceString.test.js +6 -6
- package/src/getCutsiteType.js +1 -1
- package/src/getCutsitesFromSequence.js +1 -1
- package/src/getDegenerateDnaStringFromAAString.js +1 -1
- package/src/getDegenerateRnaStringFromAAString.js +1 -1
- package/src/getDigestFragmentsForCutsites.js +5 -2
- package/src/getDigestFragmentsForRestrictionEnzymes.js +2 -2
- package/src/getInsertBetweenVals.js +2 -2
- package/src/getLeftAndRightOfSequenceInRangeGivenPosition.js +2 -2
- package/src/getLeftAndRightOfSequenceInRangeGivenPosition.test.js +0 -2
- package/src/getMassOfAaString.js +4 -1
- package/src/getMassofAaString.test.js +9 -8
- package/src/getOrfsFromSequence.js +1 -2
- package/src/getOrfsFromSequence.test.js +1 -3
- package/src/getOverlapBetweenTwoSequences.js +3 -3
- package/src/getOverlapBetweenTwoSequences.test.js +1 -1
- package/src/getPossiblePartsFromSequenceAndEnzymes.js +2 -2
- package/src/getReverseAminoAcidStringFromSequenceString.js +1 -1
- package/src/getReverseComplementAminoAcidStringFromSequenceString.js +9 -6
- package/src/getReverseComplementAnnotation.js +1 -1
- package/src/getReverseComplementSequenceAndAnnotations.js +2 -3
- package/src/getReverseComplementSequenceString.js +1 -2
- package/src/getReverseSequenceString.js +1 -1
- package/src/getSequenceDataBetweenRange.js +7 -4
- package/src/getSequenceDataBetweenRange.test.js +0 -1
- package/src/getVirtualDigest.js +6 -3
- package/src/guessIfSequenceIsDnaAndNotProtein.js +2 -2
- package/src/index.js +80 -80
- package/src/index.test.js +5 -4
- package/src/insertGapsIntoRefSeq.js +1 -1
- package/src/insertSequenceDataAtPosition.test.js +4 -2
- package/src/insertSequenceDataAtPositionOrRange.js +5 -5
- package/src/insertSequenceDataAtPositionOrRange.test.js +3 -17
- package/src/isEnzymeType2S.js +1 -1
- package/src/mapAnnotationsToRows.js +3 -3
- package/src/mapAnnotationsToRows.test.js +1 -3
- package/src/prepareCircularViewData.js +5 -5
- package/src/prepareCircularViewData.test.js +1 -1
- package/src/prepareRowData.js +1 -2
- package/src/prepareRowData.test.js +1 -3
- package/src/prepareRowData_output1.json +381 -381
- package/src/proteinAlphabet.js +34 -26
- package/src/rotateBpsToPosition.js +7 -11
- package/src/rotateBpsToPosition.test.js +6 -6
- package/src/rotateSequenceDataToPosition.js +4 -4
- package/src/shiftAnnotationsByLen.js +2 -2
- package/src/tidyUpAnnotation.js +8 -7
- package/src/tidyUpSequenceData.js +3 -3
package/index.mjs
CHANGED
|
@@ -5998,30 +5998,6 @@ lodash.exports;
|
|
|
5998
5998
|
var lodashExports = lodash.exports;
|
|
5999
5999
|
const protein_letters = "ACDEFGHIKLMNPQRSTVWY";
|
|
6000
6000
|
const extended_protein_letters = "ACDEFGHIKLMNPQRSTVWYBXZJUO.*-";
|
|
6001
|
-
const protein_letters_1to3 = {
|
|
6002
|
-
A: "Ala",
|
|
6003
|
-
C: "Cys",
|
|
6004
|
-
D: "Asp",
|
|
6005
|
-
E: "Glu",
|
|
6006
|
-
F: "Phe",
|
|
6007
|
-
G: "Gly",
|
|
6008
|
-
H: "His",
|
|
6009
|
-
I: "Ile",
|
|
6010
|
-
K: "Lys",
|
|
6011
|
-
L: "Leu",
|
|
6012
|
-
M: "Met",
|
|
6013
|
-
N: "Asn",
|
|
6014
|
-
P: "Pro",
|
|
6015
|
-
Q: "Gln",
|
|
6016
|
-
R: "Arg",
|
|
6017
|
-
S: "Ser",
|
|
6018
|
-
T: "Thr",
|
|
6019
|
-
V: "Val",
|
|
6020
|
-
W: "Trp",
|
|
6021
|
-
Y: "Tyr",
|
|
6022
|
-
O: "Pyl",
|
|
6023
|
-
U: "Sec"
|
|
6024
|
-
};
|
|
6025
6001
|
const ambiguous_dna_letters = "GATCRYWSMKHBVDN";
|
|
6026
6002
|
const unambiguous_dna_letters = "GATC";
|
|
6027
6003
|
const ambiguous_rna_letters = "GAUCRYWSMKHBVDN";
|
|
@@ -6046,135 +6022,6 @@ const ambiguous_dna_values = {
|
|
|
6046
6022
|
X: "GATC",
|
|
6047
6023
|
N: "GATC"
|
|
6048
6024
|
};
|
|
6049
|
-
const ambiguous_rna_values = {
|
|
6050
|
-
".": ".",
|
|
6051
|
-
A: "A",
|
|
6052
|
-
C: "C",
|
|
6053
|
-
G: "G",
|
|
6054
|
-
U: "U",
|
|
6055
|
-
M: "AC",
|
|
6056
|
-
R: "AG",
|
|
6057
|
-
W: "AU",
|
|
6058
|
-
S: "CG",
|
|
6059
|
-
Y: "CU",
|
|
6060
|
-
K: "GU",
|
|
6061
|
-
V: "ACG",
|
|
6062
|
-
H: "ACU",
|
|
6063
|
-
D: "AGU",
|
|
6064
|
-
B: "CGU",
|
|
6065
|
-
X: "GAUC",
|
|
6066
|
-
N: "GAUC"
|
|
6067
|
-
};
|
|
6068
|
-
const ambiguous_dna_complement = {
|
|
6069
|
-
".": ".",
|
|
6070
|
-
A: "T",
|
|
6071
|
-
C: "G",
|
|
6072
|
-
G: "C",
|
|
6073
|
-
T: "A",
|
|
6074
|
-
M: "K",
|
|
6075
|
-
R: "Y",
|
|
6076
|
-
W: "W",
|
|
6077
|
-
S: "S",
|
|
6078
|
-
Y: "R",
|
|
6079
|
-
K: "M",
|
|
6080
|
-
V: "B",
|
|
6081
|
-
H: "D",
|
|
6082
|
-
D: "H",
|
|
6083
|
-
B: "V",
|
|
6084
|
-
X: "X",
|
|
6085
|
-
N: "N"
|
|
6086
|
-
};
|
|
6087
|
-
const ambiguous_rna_complement = {
|
|
6088
|
-
".": ".",
|
|
6089
|
-
A: "U",
|
|
6090
|
-
C: "G",
|
|
6091
|
-
G: "C",
|
|
6092
|
-
U: "A",
|
|
6093
|
-
M: "K",
|
|
6094
|
-
R: "Y",
|
|
6095
|
-
W: "W",
|
|
6096
|
-
S: "S",
|
|
6097
|
-
Y: "R",
|
|
6098
|
-
K: "M",
|
|
6099
|
-
V: "B",
|
|
6100
|
-
H: "D",
|
|
6101
|
-
D: "H",
|
|
6102
|
-
B: "V",
|
|
6103
|
-
X: "X",
|
|
6104
|
-
N: "N"
|
|
6105
|
-
};
|
|
6106
|
-
const unambiguous_dna_weights = {
|
|
6107
|
-
A: 331.2218,
|
|
6108
|
-
C: 307.1971,
|
|
6109
|
-
G: 347.2212,
|
|
6110
|
-
T: 322.2085
|
|
6111
|
-
};
|
|
6112
|
-
const monoisotopic_unambiguous_dna_weights = {
|
|
6113
|
-
A: 331.06817,
|
|
6114
|
-
C: 307.056936,
|
|
6115
|
-
G: 347.063084,
|
|
6116
|
-
T: 322.056602
|
|
6117
|
-
};
|
|
6118
|
-
const unambiguous_rna_weights = {
|
|
6119
|
-
A: 347.2212,
|
|
6120
|
-
C: 323.1965,
|
|
6121
|
-
G: 363.2206,
|
|
6122
|
-
U: 324.1813
|
|
6123
|
-
};
|
|
6124
|
-
const monoisotopic_unambiguous_rna_weights = {
|
|
6125
|
-
A: 347.063084,
|
|
6126
|
-
C: 323.051851,
|
|
6127
|
-
G: 363.057999,
|
|
6128
|
-
U: 324.035867
|
|
6129
|
-
};
|
|
6130
|
-
const protein_weights = {
|
|
6131
|
-
A: 89.0932,
|
|
6132
|
-
C: 121.1582,
|
|
6133
|
-
D: 133.1027,
|
|
6134
|
-
E: 147.1293,
|
|
6135
|
-
F: 165.1891,
|
|
6136
|
-
G: 75.0666,
|
|
6137
|
-
H: 155.1546,
|
|
6138
|
-
I: 131.1729,
|
|
6139
|
-
K: 146.1876,
|
|
6140
|
-
L: 131.1729,
|
|
6141
|
-
M: 149.2113,
|
|
6142
|
-
N: 132.1179,
|
|
6143
|
-
O: 255.3134,
|
|
6144
|
-
P: 115.1305,
|
|
6145
|
-
Q: 146.1445,
|
|
6146
|
-
R: 174.201,
|
|
6147
|
-
S: 105.0926,
|
|
6148
|
-
T: 119.1192,
|
|
6149
|
-
U: 168.0532,
|
|
6150
|
-
V: 117.1463,
|
|
6151
|
-
W: 204.2252,
|
|
6152
|
-
Y: 181.1885
|
|
6153
|
-
};
|
|
6154
|
-
const monoisotopic_protein_weights = {
|
|
6155
|
-
A: 89.047678,
|
|
6156
|
-
C: 121.019749,
|
|
6157
|
-
D: 133.037508,
|
|
6158
|
-
E: 147.053158,
|
|
6159
|
-
F: 165.078979,
|
|
6160
|
-
G: 75.032028,
|
|
6161
|
-
H: 155.069477,
|
|
6162
|
-
I: 131.094629,
|
|
6163
|
-
K: 146.105528,
|
|
6164
|
-
L: 131.094629,
|
|
6165
|
-
M: 149.051049,
|
|
6166
|
-
N: 132.053492,
|
|
6167
|
-
O: 255.158292,
|
|
6168
|
-
P: 115.063329,
|
|
6169
|
-
Q: 146.069142,
|
|
6170
|
-
R: 174.111676,
|
|
6171
|
-
S: 105.042593,
|
|
6172
|
-
T: 119.058243,
|
|
6173
|
-
U: 168.964203,
|
|
6174
|
-
V: 117.078979,
|
|
6175
|
-
W: 204.089878,
|
|
6176
|
-
Y: 181.073893
|
|
6177
|
-
};
|
|
6178
6025
|
const extended_protein_values = {
|
|
6179
6026
|
A: "A",
|
|
6180
6027
|
B: "ND",
|
|
@@ -6209,140 +6056,17 @@ const extended_protein_values = {
|
|
|
6209
6056
|
".": "\\.\\.",
|
|
6210
6057
|
"-": "\\-"
|
|
6211
6058
|
};
|
|
6212
|
-
const atom_weights = {
|
|
6213
|
-
H: 1.00794,
|
|
6214
|
-
D: 2.0141,
|
|
6215
|
-
He: 4.002602,
|
|
6216
|
-
Li: 6.941,
|
|
6217
|
-
Be: 9.012182,
|
|
6218
|
-
B: 10.811,
|
|
6219
|
-
C: 12.0107,
|
|
6220
|
-
N: 14.0067,
|
|
6221
|
-
O: 15.9994,
|
|
6222
|
-
F: 18.9984032,
|
|
6223
|
-
Ne: 20.1797,
|
|
6224
|
-
Na: 22.98977,
|
|
6225
|
-
Mg: 24.305,
|
|
6226
|
-
Al: 26.981538,
|
|
6227
|
-
Si: 28.0855,
|
|
6228
|
-
P: 30.973761,
|
|
6229
|
-
S: 32.065,
|
|
6230
|
-
Cl: 35.453,
|
|
6231
|
-
Ar: 39.948,
|
|
6232
|
-
K: 39.0983,
|
|
6233
|
-
Ca: 40.078,
|
|
6234
|
-
Sc: 44.95591,
|
|
6235
|
-
Ti: 47.867,
|
|
6236
|
-
V: 50.9415,
|
|
6237
|
-
Cr: 51.9961,
|
|
6238
|
-
Mn: 54.938049,
|
|
6239
|
-
Fe: 55.845,
|
|
6240
|
-
Co: 58.9332,
|
|
6241
|
-
Ni: 58.6934,
|
|
6242
|
-
Cu: 63.546,
|
|
6243
|
-
Zn: 65.39,
|
|
6244
|
-
Ga: 69.723,
|
|
6245
|
-
Ge: 72.64,
|
|
6246
|
-
As: 74.9216,
|
|
6247
|
-
Se: 78.96,
|
|
6248
|
-
Br: 79.904,
|
|
6249
|
-
Kr: 83.8,
|
|
6250
|
-
Rb: 85.4678,
|
|
6251
|
-
Sr: 87.62,
|
|
6252
|
-
Y: 88.90585,
|
|
6253
|
-
Zr: 91.224,
|
|
6254
|
-
Nb: 92.90638,
|
|
6255
|
-
Mo: 95.94,
|
|
6256
|
-
Tc: 98,
|
|
6257
|
-
Ru: 101.07,
|
|
6258
|
-
Rh: 102.9055,
|
|
6259
|
-
Pd: 106.42,
|
|
6260
|
-
Ag: 107.8682,
|
|
6261
|
-
Cd: 112.411,
|
|
6262
|
-
In: 114.818,
|
|
6263
|
-
Sn: 118.71,
|
|
6264
|
-
Sb: 121.76,
|
|
6265
|
-
Te: 127.6,
|
|
6266
|
-
I: 126.90447,
|
|
6267
|
-
Xe: 131.293,
|
|
6268
|
-
Cs: 132.90545,
|
|
6269
|
-
Ba: 137.327,
|
|
6270
|
-
La: 138.9055,
|
|
6271
|
-
Ce: 140.116,
|
|
6272
|
-
Pr: 140.90765,
|
|
6273
|
-
Nd: 144.24,
|
|
6274
|
-
Pm: 145,
|
|
6275
|
-
Sm: 150.36,
|
|
6276
|
-
Eu: 151.964,
|
|
6277
|
-
Gd: 157.25,
|
|
6278
|
-
Tb: 158.92534,
|
|
6279
|
-
Dy: 162.5,
|
|
6280
|
-
Ho: 164.93032,
|
|
6281
|
-
Er: 167.259,
|
|
6282
|
-
Tm: 168.93421,
|
|
6283
|
-
Yb: 173.04,
|
|
6284
|
-
Lu: 174.967,
|
|
6285
|
-
Hf: 178.49,
|
|
6286
|
-
Ta: 180.9479,
|
|
6287
|
-
W: 183.84,
|
|
6288
|
-
Re: 186.207,
|
|
6289
|
-
Os: 190.23,
|
|
6290
|
-
Ir: 192.217,
|
|
6291
|
-
Pt: 195.078,
|
|
6292
|
-
Au: 196.96655,
|
|
6293
|
-
Hg: 200.59,
|
|
6294
|
-
Tl: 204.3833,
|
|
6295
|
-
Pb: 207.2,
|
|
6296
|
-
Bi: 208.98038,
|
|
6297
|
-
Po: 208.98,
|
|
6298
|
-
At: 209.99,
|
|
6299
|
-
Rn: 222.02,
|
|
6300
|
-
Fr: 223.02,
|
|
6301
|
-
Ra: 226.03,
|
|
6302
|
-
Ac: 227.03,
|
|
6303
|
-
Th: 232.0381,
|
|
6304
|
-
Pa: 231.03588,
|
|
6305
|
-
U: 238.02891,
|
|
6306
|
-
Np: 237.05,
|
|
6307
|
-
Pu: 244.06,
|
|
6308
|
-
Am: 243.06,
|
|
6309
|
-
Cm: 247.07,
|
|
6310
|
-
Bk: 247.07,
|
|
6311
|
-
Cf: 251.08,
|
|
6312
|
-
Es: 252.08,
|
|
6313
|
-
Fm: 257.1,
|
|
6314
|
-
Md: 258.1,
|
|
6315
|
-
No: 259.1,
|
|
6316
|
-
Lr: 262.11,
|
|
6317
|
-
Rf: 261.11,
|
|
6318
|
-
Db: 262.11,
|
|
6319
|
-
Sg: 266.12,
|
|
6320
|
-
Bh: 264.12,
|
|
6321
|
-
Hs: 269.13,
|
|
6322
|
-
Mt: 268.14
|
|
6323
|
-
};
|
|
6324
6059
|
const bioData = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6325
6060
|
__proto__: null,
|
|
6326
|
-
ambiguous_dna_complement,
|
|
6327
6061
|
ambiguous_dna_letters,
|
|
6328
6062
|
ambiguous_dna_values,
|
|
6329
|
-
ambiguous_rna_complement,
|
|
6330
6063
|
ambiguous_rna_letters,
|
|
6331
|
-
ambiguous_rna_values,
|
|
6332
|
-
atom_weights,
|
|
6333
6064
|
extended_dna_letters,
|
|
6334
6065
|
extended_protein_letters,
|
|
6335
6066
|
extended_protein_values,
|
|
6336
|
-
monoisotopic_protein_weights,
|
|
6337
|
-
monoisotopic_unambiguous_dna_weights,
|
|
6338
|
-
monoisotopic_unambiguous_rna_weights,
|
|
6339
6067
|
protein_letters,
|
|
6340
|
-
protein_letters_1to3,
|
|
6341
|
-
protein_weights,
|
|
6342
6068
|
unambiguous_dna_letters,
|
|
6343
|
-
|
|
6344
|
-
unambiguous_rna_letters,
|
|
6345
|
-
unambiguous_rna_weights
|
|
6069
|
+
unambiguous_rna_letters
|
|
6346
6070
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
6347
6071
|
const aminoAcidToDegenerateDnaMap = {
|
|
6348
6072
|
"-": "---",
|
|
@@ -6456,8 +6180,8 @@ function getOverlapsOfPotentiallyCircularRanges(rangeA, rangeB, maxRangeLength,
|
|
|
6456
6180
|
maxRangeLength
|
|
6457
6181
|
);
|
|
6458
6182
|
let overlaps = [];
|
|
6459
|
-
normalizedRangeA.forEach(function(nonCircularRangeA
|
|
6460
|
-
normalizedRangeB.forEach(function(nonCircularRangeB
|
|
6183
|
+
normalizedRangeA.forEach(function(nonCircularRangeA) {
|
|
6184
|
+
normalizedRangeB.forEach(function(nonCircularRangeB) {
|
|
6461
6185
|
const overlap = getOverlapOfNonCircularRanges(
|
|
6462
6186
|
nonCircularRangeA,
|
|
6463
6187
|
nonCircularRangeB
|
|
@@ -6469,7 +6193,7 @@ function getOverlapsOfPotentiallyCircularRanges(rangeA, rangeB, maxRangeLength,
|
|
|
6469
6193
|
});
|
|
6470
6194
|
if (joinIfPossible && normalizedRangeA.length === 2 && normalizedRangeB.length === 2 && maxRangeLength) {
|
|
6471
6195
|
const joinedOverlap = {};
|
|
6472
|
-
overlaps = lodashExports.flatMap(overlaps, (o
|
|
6196
|
+
overlaps = lodashExports.flatMap(overlaps, (o) => {
|
|
6473
6197
|
if (o.start === 0) {
|
|
6474
6198
|
joinedOverlap.end = o.end;
|
|
6475
6199
|
return [];
|
|
@@ -6567,12 +6291,14 @@ function trimRangeByAnotherRange(rangeToBeTrimmed, trimmingRange, sequenceLength
|
|
|
6567
6291
|
});
|
|
6568
6292
|
splitRangesToBeTrimmed[index] = nonCircularRangeToBeTrimmed;
|
|
6569
6293
|
});
|
|
6570
|
-
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6571
|
-
|
|
6572
|
-
|
|
6294
|
+
const outputSplitRanges = splitRangesToBeTrimmed.filter(
|
|
6295
|
+
function(trimmedRange) {
|
|
6296
|
+
if (trimmedRange) {
|
|
6297
|
+
return true;
|
|
6298
|
+
}
|
|
6299
|
+
return false;
|
|
6573
6300
|
}
|
|
6574
|
-
|
|
6575
|
-
});
|
|
6301
|
+
);
|
|
6576
6302
|
let outputTrimmedRange;
|
|
6577
6303
|
if (outputSplitRanges.length < 0)
|
|
6578
6304
|
;
|
|
@@ -6671,11 +6397,19 @@ function checkIfNonCircularRangesOverlap(range, comparisonRange) {
|
|
|
6671
6397
|
}
|
|
6672
6398
|
__name(checkIfNonCircularRangesOverlap, "checkIfNonCircularRangesOverlap");
|
|
6673
6399
|
function checkIfPotentiallyCircularRangesOverlap(range, comparisonRange) {
|
|
6674
|
-
return splitRangeIntoTwoPartsIfItIsCircular(range, Infinity).some(
|
|
6675
|
-
|
|
6676
|
-
return
|
|
6677
|
-
|
|
6678
|
-
|
|
6400
|
+
return splitRangeIntoTwoPartsIfItIsCircular(range, Infinity).some(
|
|
6401
|
+
function(splitRange) {
|
|
6402
|
+
return splitRangeIntoTwoPartsIfItIsCircular(
|
|
6403
|
+
comparisonRange,
|
|
6404
|
+
Infinity
|
|
6405
|
+
).some(function(splitComparisonRange) {
|
|
6406
|
+
return checkIfNonCircularRangesOverlap(
|
|
6407
|
+
splitRange,
|
|
6408
|
+
splitComparisonRange
|
|
6409
|
+
);
|
|
6410
|
+
});
|
|
6411
|
+
}
|
|
6412
|
+
);
|
|
6679
6413
|
}
|
|
6680
6414
|
__name(checkIfPotentiallyCircularRangesOverlap, "checkIfPotentiallyCircularRangesOverlap");
|
|
6681
6415
|
function collapseOverlapsGeneratedFromRangeComparisonIfPossible(overlaps, sequenceLength, optionalOriginalRange) {
|
|
@@ -6684,15 +6418,19 @@ function collapseOverlapsGeneratedFromRangeComparisonIfPossible(overlaps, sequen
|
|
|
6684
6418
|
return overlaps;
|
|
6685
6419
|
} else if (overlaps.length === 2) {
|
|
6686
6420
|
if (overlaps[0].start === 0 && overlaps[1].end + 1 === sequenceLength && !originalRangeLinear) {
|
|
6687
|
-
return [
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6421
|
+
return [
|
|
6422
|
+
{
|
|
6423
|
+
start: overlaps[1].start,
|
|
6424
|
+
end: overlaps[0].end
|
|
6425
|
+
}
|
|
6426
|
+
];
|
|
6691
6427
|
} else if (overlaps[1].start === 0 && overlaps[0].end + 1 === sequenceLength && !originalRangeLinear) {
|
|
6692
|
-
return [
|
|
6693
|
-
|
|
6694
|
-
|
|
6695
|
-
|
|
6428
|
+
return [
|
|
6429
|
+
{
|
|
6430
|
+
start: overlaps[0].start,
|
|
6431
|
+
end: overlaps[1].end
|
|
6432
|
+
}
|
|
6433
|
+
];
|
|
6696
6434
|
} else {
|
|
6697
6435
|
return overlaps;
|
|
6698
6436
|
}
|
|
@@ -6700,17 +6438,29 @@ function collapseOverlapsGeneratedFromRangeComparisonIfPossible(overlaps, sequen
|
|
|
6700
6438
|
const firstOverlap = overlaps[0];
|
|
6701
6439
|
const secondOverlap = overlaps[1];
|
|
6702
6440
|
const thirdOverlap = overlaps[2];
|
|
6703
|
-
let collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6441
|
+
let collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6442
|
+
[firstOverlap, secondOverlap],
|
|
6443
|
+
sequenceLength,
|
|
6444
|
+
optionalOriginalRange
|
|
6445
|
+
);
|
|
6704
6446
|
if (collapsedOverlaps.length === 1) {
|
|
6705
6447
|
collapsedOverlaps.push(thirdOverlap);
|
|
6706
6448
|
return collapsedOverlaps;
|
|
6707
6449
|
} else {
|
|
6708
|
-
collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6450
|
+
collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6451
|
+
[firstOverlap, thirdOverlap],
|
|
6452
|
+
sequenceLength,
|
|
6453
|
+
optionalOriginalRange
|
|
6454
|
+
);
|
|
6709
6455
|
if (collapsedOverlaps.length === 1) {
|
|
6710
6456
|
collapsedOverlaps.push(secondOverlap);
|
|
6711
6457
|
return collapsedOverlaps;
|
|
6712
6458
|
} else {
|
|
6713
|
-
collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6459
|
+
collapsedOverlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6460
|
+
[secondOverlap, thirdOverlap],
|
|
6461
|
+
sequenceLength,
|
|
6462
|
+
optionalOriginalRange
|
|
6463
|
+
);
|
|
6714
6464
|
if (collapsedOverlaps.length === 1) {
|
|
6715
6465
|
collapsedOverlaps.push(firstOverlap);
|
|
6716
6466
|
return collapsedOverlaps;
|
|
@@ -6817,13 +6567,23 @@ function expandOrContractRangeByLength(range, shiftBy, shiftStart, sequenceLengt
|
|
|
6817
6567
|
__name(expandOrContractRangeByLength, "expandOrContractRangeByLength");
|
|
6818
6568
|
function translateRange(rangeToBeAdjusted, translateBy, rangeLength) {
|
|
6819
6569
|
return lodashExports.assign({}, rangeToBeAdjusted, {
|
|
6820
|
-
start: normalizePositionByRangeLength(
|
|
6821
|
-
|
|
6570
|
+
start: normalizePositionByRangeLength(
|
|
6571
|
+
rangeToBeAdjusted.start + translateBy,
|
|
6572
|
+
rangeLength
|
|
6573
|
+
),
|
|
6574
|
+
end: normalizePositionByRangeLength(
|
|
6575
|
+
rangeToBeAdjusted.end + translateBy,
|
|
6576
|
+
rangeLength
|
|
6577
|
+
)
|
|
6822
6578
|
});
|
|
6823
6579
|
}
|
|
6824
6580
|
__name(translateRange, "translateRange");
|
|
6825
|
-
function flipRelativeRange(innerRange, outerRange, sequenceLength
|
|
6826
|
-
const isFullyContained = isRangeWithinRange(
|
|
6581
|
+
function flipRelativeRange(innerRange, outerRange, sequenceLength) {
|
|
6582
|
+
const isFullyContained = isRangeWithinRange(
|
|
6583
|
+
innerRange,
|
|
6584
|
+
outerRange,
|
|
6585
|
+
sequenceLength
|
|
6586
|
+
);
|
|
6827
6587
|
if (isFullyContained) {
|
|
6828
6588
|
return flipFullyContainedRange(innerRange, outerRange, sequenceLength);
|
|
6829
6589
|
} else {
|
|
@@ -6831,42 +6591,92 @@ function flipRelativeRange(innerRange, outerRange, sequenceLength, options) {
|
|
|
6831
6591
|
}
|
|
6832
6592
|
}
|
|
6833
6593
|
__name(flipRelativeRange, "flipRelativeRange");
|
|
6834
|
-
function flipNonFullyContainedRange(innerRange, outerRange, sequenceLength
|
|
6835
|
-
const outerFullyContained = isRangeWithinRange(
|
|
6594
|
+
function flipNonFullyContainedRange(innerRange, outerRange, sequenceLength) {
|
|
6595
|
+
const outerFullyContained = isRangeWithinRange(
|
|
6596
|
+
outerRange,
|
|
6597
|
+
innerRange,
|
|
6598
|
+
sequenceLength
|
|
6599
|
+
);
|
|
6836
6600
|
let flippedInnerRange;
|
|
6837
6601
|
if (outerFullyContained) {
|
|
6838
|
-
const expandBy1 = getRangeLength(
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
|
|
6602
|
+
const expandBy1 = getRangeLength(
|
|
6603
|
+
{
|
|
6604
|
+
start: innerRange.start,
|
|
6605
|
+
end: outerRange.start
|
|
6606
|
+
},
|
|
6607
|
+
sequenceLength
|
|
6608
|
+
) - 1;
|
|
6609
|
+
flippedInnerRange = expandOrContractRangeByLength(
|
|
6610
|
+
outerRange,
|
|
6611
|
+
expandBy1,
|
|
6612
|
+
false,
|
|
6613
|
+
sequenceLength
|
|
6614
|
+
);
|
|
6615
|
+
const expandBy2 = getRangeLength(
|
|
6616
|
+
{
|
|
6617
|
+
end: innerRange.end,
|
|
6618
|
+
start: outerRange.end
|
|
6619
|
+
},
|
|
6620
|
+
sequenceLength
|
|
6621
|
+
) - 1;
|
|
6622
|
+
flippedInnerRange = expandOrContractRangeByLength(
|
|
6623
|
+
flippedInnerRange,
|
|
6624
|
+
expandBy2,
|
|
6625
|
+
true,
|
|
6626
|
+
sequenceLength
|
|
6627
|
+
);
|
|
6848
6628
|
} else {
|
|
6849
|
-
const overlaps = getOverlapsOfPotentiallyCircularRanges(
|
|
6629
|
+
const overlaps = getOverlapsOfPotentiallyCircularRanges(
|
|
6630
|
+
innerRange,
|
|
6631
|
+
outerRange,
|
|
6632
|
+
sequenceLength
|
|
6633
|
+
);
|
|
6850
6634
|
if (overlaps.length >= 1) {
|
|
6851
|
-
let overlapExtendsForward;
|
|
6852
6635
|
const firstOverlap = overlaps[0];
|
|
6853
|
-
overlapExtendsForward = firstOverlap.start !== outerRange.start;
|
|
6854
|
-
const flippedTruncatedInner = flipFullyContainedRange(
|
|
6636
|
+
const overlapExtendsForward = firstOverlap.start !== outerRange.start;
|
|
6637
|
+
const flippedTruncatedInner = flipFullyContainedRange(
|
|
6638
|
+
firstOverlap,
|
|
6639
|
+
outerRange,
|
|
6640
|
+
sequenceLength
|
|
6641
|
+
);
|
|
6855
6642
|
const lengthToExtend = getRangeLength(innerRange, sequenceLength) - getRangeLength(flippedTruncatedInner, sequenceLength);
|
|
6856
|
-
flippedInnerRange = expandOrContractRangeByLength(
|
|
6643
|
+
flippedInnerRange = expandOrContractRangeByLength(
|
|
6644
|
+
flippedTruncatedInner,
|
|
6645
|
+
lengthToExtend,
|
|
6646
|
+
overlapExtendsForward,
|
|
6647
|
+
sequenceLength
|
|
6648
|
+
);
|
|
6857
6649
|
} else {
|
|
6858
|
-
throw new Error(
|
|
6650
|
+
throw new Error(
|
|
6651
|
+
"This case (relative ranges that do not overlap) is unsupported! "
|
|
6652
|
+
);
|
|
6859
6653
|
}
|
|
6860
6654
|
}
|
|
6861
6655
|
return flippedInnerRange;
|
|
6862
6656
|
}
|
|
6863
6657
|
__name(flipNonFullyContainedRange, "flipNonFullyContainedRange");
|
|
6864
|
-
function flipFullyContainedRange(innerRange, outerRange, sequenceLength
|
|
6658
|
+
function flipFullyContainedRange(innerRange, outerRange, sequenceLength) {
|
|
6865
6659
|
const translateBy = -outerRange.start;
|
|
6866
|
-
const translatedOuterRange = translateRange(
|
|
6867
|
-
|
|
6868
|
-
|
|
6869
|
-
|
|
6660
|
+
const translatedOuterRange = translateRange(
|
|
6661
|
+
outerRange,
|
|
6662
|
+
translateBy,
|
|
6663
|
+
sequenceLength
|
|
6664
|
+
);
|
|
6665
|
+
const translatedInnerRange = translateRange(
|
|
6666
|
+
innerRange,
|
|
6667
|
+
translateBy,
|
|
6668
|
+
sequenceLength
|
|
6669
|
+
);
|
|
6670
|
+
const translatedFlippedInnerRange = flipNonOriginSpanningContainedRange(
|
|
6671
|
+
translatedInnerRange,
|
|
6672
|
+
translatedOuterRange,
|
|
6673
|
+
sequenceLength
|
|
6674
|
+
);
|
|
6675
|
+
const flippedInnerRange = translateRange(
|
|
6676
|
+
translatedFlippedInnerRange,
|
|
6677
|
+
-translateBy,
|
|
6678
|
+
sequenceLength
|
|
6679
|
+
);
|
|
6870
6680
|
return flippedInnerRange;
|
|
6871
6681
|
}
|
|
6872
6682
|
__name(flipFullyContainedRange, "flipFullyContainedRange");
|
|
@@ -6884,7 +6694,10 @@ function generateRandomRange(minStart, maxEnd, maxLength) {
|
|
|
6884
6694
|
const start = getRandomInt$1(minStart, maxEnd);
|
|
6885
6695
|
let end;
|
|
6886
6696
|
if (maxLength) {
|
|
6887
|
-
end = normalizePositionByRangeLength(
|
|
6697
|
+
end = normalizePositionByRangeLength(
|
|
6698
|
+
getRandomInt$1(start, start + maxLength),
|
|
6699
|
+
maxEnd
|
|
6700
|
+
);
|
|
6888
6701
|
} else {
|
|
6889
6702
|
end = getRandomInt$1(minStart, maxEnd);
|
|
6890
6703
|
}
|
|
@@ -6927,18 +6740,26 @@ function getShortestDistanceBetweenTwoPositions(position1, position2, sequenceLe
|
|
|
6927
6740
|
__name(getShortestDistanceBetweenTwoPositions, "getShortestDistanceBetweenTwoPositions");
|
|
6928
6741
|
function getYOffsetForPotentiallyCircularRange(range, YOffsetLevelsWithRanges, assignYOffsetToRange) {
|
|
6929
6742
|
let yOffset = [];
|
|
6930
|
-
const openYOffsetFound = YOffsetLevelsWithRanges.some(
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
|
|
6934
|
-
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
|
|
6939
|
-
|
|
6743
|
+
const openYOffsetFound = YOffsetLevelsWithRanges.some(
|
|
6744
|
+
function(rangesAlreadyAddedToYOffset, index) {
|
|
6745
|
+
const rangeBlocked = rangesAlreadyAddedToYOffset.some(
|
|
6746
|
+
function(comparisonRange) {
|
|
6747
|
+
return checkIfPotentiallyCircularRangesOverlap(
|
|
6748
|
+
range,
|
|
6749
|
+
comparisonRange
|
|
6750
|
+
);
|
|
6751
|
+
}
|
|
6752
|
+
);
|
|
6753
|
+
if (!rangeBlocked) {
|
|
6754
|
+
yOffset = index;
|
|
6755
|
+
if (assignYOffsetToRange)
|
|
6756
|
+
range.yOffset = index;
|
|
6757
|
+
rangesAlreadyAddedToYOffset.push(range);
|
|
6758
|
+
return true;
|
|
6759
|
+
}
|
|
6760
|
+
return false;
|
|
6940
6761
|
}
|
|
6941
|
-
|
|
6762
|
+
);
|
|
6942
6763
|
if (!openYOffsetFound) {
|
|
6943
6764
|
yOffset = YOffsetLevelsWithRanges.length;
|
|
6944
6765
|
if (assignYOffsetToRange)
|
|
@@ -6952,7 +6773,11 @@ function getYOffsetsForPotentiallyCircularRanges(ranges, assignYOffsetToRange) {
|
|
|
6952
6773
|
let maxYOffset = 0;
|
|
6953
6774
|
const yOffsetLevels = [];
|
|
6954
6775
|
ranges.forEach(function(range) {
|
|
6955
|
-
const yOffset = getYOffsetForPotentiallyCircularRange(
|
|
6776
|
+
const yOffset = getYOffsetForPotentiallyCircularRange(
|
|
6777
|
+
range,
|
|
6778
|
+
yOffsetLevels,
|
|
6779
|
+
assignYOffsetToRange
|
|
6780
|
+
);
|
|
6956
6781
|
yOffsets.push(yOffset);
|
|
6957
6782
|
if (yOffset > maxYOffset) {
|
|
6958
6783
|
maxYOffset = yOffset;
|
|
@@ -6985,8 +6810,16 @@ function invertRange$1(rangeOrCaret, rangeMax) {
|
|
|
6985
6810
|
}
|
|
6986
6811
|
__name(invertRange$1, "invertRange$1");
|
|
6987
6812
|
function isPositionCloserToRangeStartThanRangeEnd(position, range, maxLength) {
|
|
6988
|
-
const distanceFromStart = getShortestDistanceBetweenTwoPositions(
|
|
6989
|
-
|
|
6813
|
+
const distanceFromStart = getShortestDistanceBetweenTwoPositions(
|
|
6814
|
+
range.start,
|
|
6815
|
+
position,
|
|
6816
|
+
maxLength
|
|
6817
|
+
);
|
|
6818
|
+
const distanceFromEnd = getShortestDistanceBetweenTwoPositions(
|
|
6819
|
+
range.end,
|
|
6820
|
+
position,
|
|
6821
|
+
maxLength
|
|
6822
|
+
);
|
|
6990
6823
|
return distanceFromStart <= distanceFromEnd;
|
|
6991
6824
|
}
|
|
6992
6825
|
__name(isPositionCloserToRangeStartThanRangeEnd, "isPositionCloserToRangeStartThanRangeEnd");
|
|
@@ -7017,9 +6850,15 @@ function reversePositionInRange(position, rangeLength, isInBetweenPositions) {
|
|
|
7017
6850
|
}
|
|
7018
6851
|
__name(reversePositionInRange, "reversePositionInRange");
|
|
7019
6852
|
function zeroSubrangeByContainerRange(subRange, containerRange, sequenceLength) {
|
|
7020
|
-
const trimmedSubRange = trimRangeByAnotherRange(
|
|
6853
|
+
const trimmedSubRange = trimRangeByAnotherRange(
|
|
6854
|
+
subRange,
|
|
6855
|
+
containerRange,
|
|
6856
|
+
sequenceLength
|
|
6857
|
+
);
|
|
7021
6858
|
if (trimmedSubRange) {
|
|
7022
|
-
throw new Error(
|
|
6859
|
+
throw new Error(
|
|
6860
|
+
"subRange must be fully contained by containerRange! Otherwise this function does not make sense"
|
|
6861
|
+
);
|
|
7023
6862
|
}
|
|
7024
6863
|
const newSubrange = {};
|
|
7025
6864
|
newSubrange.start = subRange.start - containerRange.start;
|
|
@@ -7047,12 +6886,24 @@ function modulo(n, m) {
|
|
|
7047
6886
|
}
|
|
7048
6887
|
__name(modulo, "modulo");
|
|
7049
6888
|
function getZeroedRangeOverlaps(annotation, selection, sequenceLength) {
|
|
7050
|
-
const overlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6889
|
+
const overlaps = collapseOverlapsGeneratedFromRangeComparisonIfPossible(
|
|
6890
|
+
getOverlapsOfPotentiallyCircularRanges(
|
|
6891
|
+
annotation,
|
|
6892
|
+
selection,
|
|
6893
|
+
sequenceLength
|
|
6894
|
+
),
|
|
6895
|
+
sequenceLength,
|
|
6896
|
+
annotation
|
|
6897
|
+
);
|
|
7051
6898
|
const zeroedOverlaps = overlaps.map((overlap) => {
|
|
7052
|
-
return zeroSubrangeByContainerRange(
|
|
7053
|
-
|
|
7054
|
-
|
|
7055
|
-
|
|
6899
|
+
return zeroSubrangeByContainerRange(
|
|
6900
|
+
overlap,
|
|
6901
|
+
{
|
|
6902
|
+
start: selection.start,
|
|
6903
|
+
end: normalizePositionByRangeLength(selection.start - 1, sequenceLength)
|
|
6904
|
+
},
|
|
6905
|
+
sequenceLength
|
|
6906
|
+
);
|
|
7056
6907
|
});
|
|
7057
6908
|
return zeroedOverlaps;
|
|
7058
6909
|
}
|
|
@@ -11960,7 +11811,7 @@ const proteinAlphabet = {
|
|
|
11960
11811
|
hydrophobicity: 1.8,
|
|
11961
11812
|
colorByFamily: "#00FFFF",
|
|
11962
11813
|
color: "hsl(327.3, 100%, 69%)",
|
|
11963
|
-
mass:
|
|
11814
|
+
mass: 71.0779
|
|
11964
11815
|
},
|
|
11965
11816
|
R: {
|
|
11966
11817
|
value: "R",
|
|
@@ -11969,7 +11820,7 @@ const proteinAlphabet = {
|
|
|
11969
11820
|
hydrophobicity: -4.5,
|
|
11970
11821
|
colorByFamily: "#FFC0CB",
|
|
11971
11822
|
color: "hsl(258.1, 100%, 69%)",
|
|
11972
|
-
mass:
|
|
11823
|
+
mass: 156.18568
|
|
11973
11824
|
},
|
|
11974
11825
|
N: {
|
|
11975
11826
|
value: "N",
|
|
@@ -11978,7 +11829,7 @@ const proteinAlphabet = {
|
|
|
11978
11829
|
hydrophobicity: -3.5,
|
|
11979
11830
|
colorByFamily: "#D3D3D3",
|
|
11980
11831
|
color: "hsl(268.9, 100%, 69%)",
|
|
11981
|
-
mass:
|
|
11832
|
+
mass: 114.10264
|
|
11982
11833
|
},
|
|
11983
11834
|
D: {
|
|
11984
11835
|
value: "D",
|
|
@@ -11987,7 +11838,7 @@ const proteinAlphabet = {
|
|
|
11987
11838
|
hydrophobicity: -3.5,
|
|
11988
11839
|
colorByFamily: "#EE82EE",
|
|
11989
11840
|
color: "hsl(268.9, 100%, 69%)",
|
|
11990
|
-
mass:
|
|
11841
|
+
mass: 115.0874
|
|
11991
11842
|
},
|
|
11992
11843
|
C: {
|
|
11993
11844
|
value: "C",
|
|
@@ -11996,7 +11847,7 @@ const proteinAlphabet = {
|
|
|
11996
11847
|
hydrophobicity: 2.5,
|
|
11997
11848
|
colorByFamily: "#FFFF00",
|
|
11998
11849
|
color: "hsl(335.1, 100%, 69%)",
|
|
11999
|
-
mass:
|
|
11850
|
+
mass: 103.1429
|
|
12000
11851
|
},
|
|
12001
11852
|
E: {
|
|
12002
11853
|
value: "E",
|
|
@@ -12005,7 +11856,7 @@ const proteinAlphabet = {
|
|
|
12005
11856
|
hydrophobicity: -3.5,
|
|
12006
11857
|
colorByFamily: "#EE82EE",
|
|
12007
11858
|
color: "hsl(268.9, 100%, 69%)",
|
|
12008
|
-
mass:
|
|
11859
|
+
mass: 129.11398
|
|
12009
11860
|
},
|
|
12010
11861
|
Q: {
|
|
12011
11862
|
value: "Q",
|
|
@@ -12014,7 +11865,7 @@ const proteinAlphabet = {
|
|
|
12014
11865
|
hydrophobicity: -3.5,
|
|
12015
11866
|
colorByFamily: "#D3D3D3",
|
|
12016
11867
|
color: "hsl(268.9, 100%, 69%)",
|
|
12017
|
-
mass:
|
|
11868
|
+
mass: 128.12922
|
|
12018
11869
|
},
|
|
12019
11870
|
G: {
|
|
12020
11871
|
value: "G",
|
|
@@ -12023,7 +11874,7 @@ const proteinAlphabet = {
|
|
|
12023
11874
|
hydrophobicity: -0.4,
|
|
12024
11875
|
colorByFamily: "#00FFFF",
|
|
12025
11876
|
color: "hsl(303.1, 100%, 69%)",
|
|
12026
|
-
mass:
|
|
11877
|
+
mass: 57.05132
|
|
12027
11878
|
},
|
|
12028
11879
|
H: {
|
|
12029
11880
|
value: "H",
|
|
@@ -12032,7 +11883,7 @@ const proteinAlphabet = {
|
|
|
12032
11883
|
hydrophobicity: -3.2,
|
|
12033
11884
|
colorByFamily: "#FFC0CB",
|
|
12034
11885
|
color: "hsl(272.2, 100%, 69%)",
|
|
12035
|
-
mass:
|
|
11886
|
+
mass: 137.13928
|
|
12036
11887
|
},
|
|
12037
11888
|
I: {
|
|
12038
11889
|
value: "I",
|
|
@@ -12041,7 +11892,7 @@ const proteinAlphabet = {
|
|
|
12041
11892
|
hydrophobicity: 4.5,
|
|
12042
11893
|
colorByFamily: "#00FFFF",
|
|
12043
11894
|
color: "hsl(356.9, 100%, 69%)",
|
|
12044
|
-
mass:
|
|
11895
|
+
mass: 113.15764
|
|
12045
11896
|
},
|
|
12046
11897
|
L: {
|
|
12047
11898
|
value: "L",
|
|
@@ -12050,7 +11901,7 @@ const proteinAlphabet = {
|
|
|
12050
11901
|
hydrophobicity: 3.8,
|
|
12051
11902
|
colorByFamily: "#00FFFF",
|
|
12052
11903
|
color: "hsl(349.4, 100%, 69%)",
|
|
12053
|
-
mass:
|
|
11904
|
+
mass: 113.15764
|
|
12054
11905
|
},
|
|
12055
11906
|
K: {
|
|
12056
11907
|
value: "K",
|
|
@@ -12059,7 +11910,7 @@ const proteinAlphabet = {
|
|
|
12059
11910
|
hydrophobicity: -3.9,
|
|
12060
11911
|
colorByFamily: "#FFC0CB",
|
|
12061
11912
|
color: "hsl(264.7, 100%, 69%)",
|
|
12062
|
-
mass:
|
|
11913
|
+
mass: 128.17228
|
|
12063
11914
|
},
|
|
12064
11915
|
M: {
|
|
12065
11916
|
value: "M",
|
|
@@ -12068,7 +11919,7 @@ const proteinAlphabet = {
|
|
|
12068
11919
|
hydrophobicity: 1.9,
|
|
12069
11920
|
colorByFamily: "#FFFF00",
|
|
12070
11921
|
color: "hsl(328.5, 100%, 69%)",
|
|
12071
|
-
mass:
|
|
11922
|
+
mass: 131.19606
|
|
12072
11923
|
},
|
|
12073
11924
|
F: {
|
|
12074
11925
|
value: "F",
|
|
@@ -12077,7 +11928,7 @@ const proteinAlphabet = {
|
|
|
12077
11928
|
hydrophobicity: 2.8,
|
|
12078
11929
|
colorByFamily: "#FFA500",
|
|
12079
11930
|
color: "hsl(338.4, 100%, 69%)",
|
|
12080
|
-
mass:
|
|
11931
|
+
mass: 147.17386
|
|
12081
11932
|
},
|
|
12082
11933
|
P: {
|
|
12083
11934
|
value: "P",
|
|
@@ -12086,7 +11937,7 @@ const proteinAlphabet = {
|
|
|
12086
11937
|
hydrophobicity: -1.6,
|
|
12087
11938
|
colorByFamily: "#00FFFF",
|
|
12088
11939
|
color: "hsl(289.9, 100%, 69%)",
|
|
12089
|
-
mass:
|
|
11940
|
+
mass: 97.11518
|
|
12090
11941
|
},
|
|
12091
11942
|
S: {
|
|
12092
11943
|
value: "S",
|
|
@@ -12095,7 +11946,7 @@ const proteinAlphabet = {
|
|
|
12095
11946
|
hydrophobicity: -0.8,
|
|
12096
11947
|
colorByFamily: "#90EE90",
|
|
12097
11948
|
color: "hsl(298.6, 100%, 69%)",
|
|
12098
|
-
mass:
|
|
11949
|
+
mass: 87.0773
|
|
12099
11950
|
},
|
|
12100
11951
|
T: {
|
|
12101
11952
|
value: "T",
|
|
@@ -12104,7 +11955,7 @@ const proteinAlphabet = {
|
|
|
12104
11955
|
hydrophobicity: -0.7,
|
|
12105
11956
|
colorByFamily: "#90EE90",
|
|
12106
11957
|
color: "hsl(299.8, 100%, 69%)",
|
|
12107
|
-
mass:
|
|
11958
|
+
mass: 101.10388
|
|
12108
11959
|
},
|
|
12109
11960
|
U: {
|
|
12110
11961
|
value: "U",
|
|
@@ -12112,7 +11963,7 @@ const proteinAlphabet = {
|
|
|
12112
11963
|
threeLettersName: "Sec",
|
|
12113
11964
|
colorByFamily: "#FF0000",
|
|
12114
11965
|
color: "hsl(0, 100%, 69%)",
|
|
12115
|
-
mass:
|
|
11966
|
+
mass: 150.3079
|
|
12116
11967
|
},
|
|
12117
11968
|
W: {
|
|
12118
11969
|
value: "W",
|
|
@@ -12121,7 +11972,7 @@ const proteinAlphabet = {
|
|
|
12121
11972
|
hydrophobicity: -0.9,
|
|
12122
11973
|
colorByFamily: "#FFA500",
|
|
12123
11974
|
color: "hsl(297.6, 100%, 69%)",
|
|
12124
|
-
mass:
|
|
11975
|
+
mass: 186.2099
|
|
12125
11976
|
},
|
|
12126
11977
|
Y: {
|
|
12127
11978
|
value: "Y",
|
|
@@ -12130,7 +11981,7 @@ const proteinAlphabet = {
|
|
|
12130
11981
|
hydrophobicity: -1.3,
|
|
12131
11982
|
colorByFamily: "#FFA500",
|
|
12132
11983
|
color: "hsl(293.2, 100%, 69%)",
|
|
12133
|
-
mass:
|
|
11984
|
+
mass: 163.17326
|
|
12134
11985
|
},
|
|
12135
11986
|
V: {
|
|
12136
11987
|
value: "V",
|
|
@@ -12139,7 +11990,7 @@ const proteinAlphabet = {
|
|
|
12139
11990
|
hydrophobicity: 4.2,
|
|
12140
11991
|
colorByFamily: "#00FFFF",
|
|
12141
11992
|
color: "hsl(353.6, 100%, 69%)",
|
|
12142
|
-
mass:
|
|
11993
|
+
mass: 99.13106
|
|
12143
11994
|
},
|
|
12144
11995
|
"*": {
|
|
12145
11996
|
value: "*",
|
|
@@ -12594,13 +12445,13 @@ function coerceLocation({
|
|
|
12594
12445
|
messages.push(
|
|
12595
12446
|
"Invalid annotation start: " + location.start + " detected for " + location.name + " and set to size: " + size
|
|
12596
12447
|
);
|
|
12597
|
-
location.start = size - (isProtein ? 3 : 1);
|
|
12448
|
+
location.start = Math.max(0, size - (isProtein ? 3 : 1));
|
|
12598
12449
|
}
|
|
12599
12450
|
if (location.end < 0 || !(location.end <= size - 1) || location.end > size - 1) {
|
|
12600
12451
|
messages.push(
|
|
12601
12452
|
"Invalid annotation end: " + location.end + " detected for " + location.name + " and set to seq size: " + size
|
|
12602
12453
|
);
|
|
12603
|
-
location.end = size - 1;
|
|
12454
|
+
location.end = Math.max(0, size - 1);
|
|
12604
12455
|
}
|
|
12605
12456
|
if (location.start > location.end && circular === false) {
|
|
12606
12457
|
messages.push(
|
|
@@ -12613,9 +12464,9 @@ __name(coerceLocation, "coerceLocation");
|
|
|
12613
12464
|
function filterAminoAcidSequenceString(sequenceString, options) {
|
|
12614
12465
|
options = options || {};
|
|
12615
12466
|
if (options.includeStopCodon) {
|
|
12616
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
12467
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi, "");
|
|
12617
12468
|
}
|
|
12618
|
-
return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
12469
|
+
return sequenceString == null ? void 0 : sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi, "");
|
|
12619
12470
|
}
|
|
12620
12471
|
__name(filterAminoAcidSequenceString, "filterAminoAcidSequenceString");
|
|
12621
12472
|
function getDegenerateDnaStringFromAAString(aaString) {
|
|
@@ -13106,7 +12957,7 @@ const calcTmMethods = {
|
|
|
13106
12957
|
calculateTemperature: function(sequence, type, A, R, C, Na) {
|
|
13107
12958
|
if (typeof type === "undefined") {
|
|
13108
12959
|
type = this.TABLE_BRESLAUER;
|
|
13109
|
-
} else if (type != this.TABLE_BRESLAUER &&
|
|
12960
|
+
} else if (type != this.TABLE_BRESLAUER && type != this.TABLE_UNIFIED && type != this.TABLE_SUGIMOTO) {
|
|
13110
12961
|
throw new Error("Invalid table type!");
|
|
13111
12962
|
}
|
|
13112
12963
|
if (!A) {
|
|
@@ -21468,12 +21319,7 @@ function findSequenceMatches(sequence, searchString, options = {}) {
|
|
|
21468
21319
|
}
|
|
21469
21320
|
__name(findSequenceMatches, "findSequenceMatches");
|
|
21470
21321
|
function findSequenceMatchesTopStrand(sequence, searchString, options = {}) {
|
|
21471
|
-
const {
|
|
21472
|
-
isCircular,
|
|
21473
|
-
isAmbiguous,
|
|
21474
|
-
isProteinSequence,
|
|
21475
|
-
isProteinSearch
|
|
21476
|
-
} = options;
|
|
21322
|
+
const { isCircular, isAmbiguous, isProteinSequence, isProteinSearch } = options;
|
|
21477
21323
|
let searchStringToUse = escapeStringRegexp(searchString);
|
|
21478
21324
|
if (isAmbiguous) {
|
|
21479
21325
|
if (isProteinSearch || isProteinSequence) {
|
|
@@ -21606,7 +21452,10 @@ function getComplementAminoAcidStringFromSequenceString(sequenceString) {
|
|
|
21606
21452
|
__name(getComplementAminoAcidStringFromSequenceString, "getComplementAminoAcidStringFromSequenceString");
|
|
21607
21453
|
function getComplementSequenceString(sequence, isRna) {
|
|
21608
21454
|
let complementSeqString = "";
|
|
21609
|
-
const complementMap = lodashExports.merge(
|
|
21455
|
+
const complementMap = lodashExports.merge(
|
|
21456
|
+
DNAComplementMap,
|
|
21457
|
+
isRna ? { a: "u", A: "U" } : { a: "t", A: "T" }
|
|
21458
|
+
);
|
|
21610
21459
|
for (let i = 0; i < sequence.length; i++) {
|
|
21611
21460
|
let complementChar = complementMap[sequence[i]];
|
|
21612
21461
|
if (!complementChar) {
|
|
@@ -21910,7 +21759,9 @@ function getReverseAminoAcidStringFromSequenceString(sequenceString) {
|
|
|
21910
21759
|
}
|
|
21911
21760
|
__name(getReverseAminoAcidStringFromSequenceString, "getReverseAminoAcidStringFromSequenceString");
|
|
21912
21761
|
function getReverseComplementAminoAcidStringFromSequenceString(sequenceString) {
|
|
21913
|
-
return getAminoAcidStringFromSequenceString(
|
|
21762
|
+
return getAminoAcidStringFromSequenceString(
|
|
21763
|
+
getReverseComplementSequenceString(sequenceString)
|
|
21764
|
+
);
|
|
21914
21765
|
}
|
|
21915
21766
|
__name(getReverseComplementAminoAcidStringFromSequenceString, "getReverseComplementAminoAcidStringFromSequenceString");
|
|
21916
21767
|
function getReverseComplementAnnotation(annotation, sequenceLength) {
|
|
@@ -22760,6 +22611,9 @@ function getMassOfAaString(aaString, numsAfterDecimal = 2, divideByThree = false
|
|
|
22760
22611
|
if (divideByThree) {
|
|
22761
22612
|
sumMass /= 3;
|
|
22762
22613
|
}
|
|
22614
|
+
if (aaString.length > 0) {
|
|
22615
|
+
sumMass = sumMass + 18.0153;
|
|
22616
|
+
}
|
|
22763
22617
|
return Math.round(sumMass * __pow(10, numsAfterDecimal)) / __pow(10, numsAfterDecimal);
|
|
22764
22618
|
}
|
|
22765
22619
|
__name(getMassOfAaString, "getMassOfAaString");
|