@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.
Files changed (104) hide show
  1. package/README.md +89 -0
  2. package/bioData.d.ts +0 -339
  3. package/index.d.ts +7 -7
  4. package/index.js +238 -384
  5. package/index.mjs +238 -384
  6. package/index.umd.js +238 -384
  7. package/package.json +1 -2
  8. package/src/addGapsToSeqReads.js +2 -2
  9. package/src/adjustAnnotationsToInsert.js +3 -3
  10. package/src/adjustBpsToReplaceOrInsert.js +3 -3
  11. package/src/adjustBpsToReplaceOrInsert.test.js +0 -1
  12. package/src/aminoAcidToDnaRna.test.js +1 -1
  13. package/src/annotateSingleSeq.js +1 -1
  14. package/src/annotateSingleSeq.test.js +1 -4
  15. package/src/autoAnnotate.js +5 -2
  16. package/src/autoAnnotate.test.js +6 -30
  17. package/src/bioData.js +0 -365
  18. package/src/calculateNebTa.js +1 -1
  19. package/src/calculateNebTm.js +1 -1
  20. package/src/calculatePercentGC.js +2 -2
  21. package/src/calculateTm.js +19 -102
  22. package/src/computeDigestFragments.js +7 -4
  23. package/src/computeDigestFragments.test.js +1 -1
  24. package/src/condensePairwiseAlignmentDifferences.js +1 -1
  25. package/src/convertAACaretPositionOrRangeToDna.js +1 -1
  26. package/src/convertDnaCaretPositionOrRangeToAA.js +1 -1
  27. package/src/cutSequenceByRestrictionEnzyme.js +3 -3
  28. package/src/cutSequenceByRestrictionEnzyme.test.js +0 -1
  29. package/src/degenerateDnaToAminoAcidMap.js +1 -1
  30. package/src/degenerateRnaToAminoAcidMap.js +1 -1
  31. package/src/deleteSequenceDataAtRange.js +1 -1
  32. package/src/deleteSequenceDataAtRange.test.js +23 -9
  33. package/src/diffUtils.js +4 -4
  34. package/src/diffUtils.test.js +2 -2
  35. package/src/doesEnzymeChopOutsideOfRecognitionSite.js +1 -1
  36. package/src/doesEnzymeChopOutsideOfRecognitionSite.test.js +0 -2
  37. package/src/featureTypesAndColors.js +5 -5
  38. package/src/featureTypesAndColors.test.js +1 -1
  39. package/src/filterAminoAcidSequenceString.js +4 -7
  40. package/src/filterAminoAcidSequenceString.test.js +3 -1
  41. package/src/filterSequenceString.js +5 -3
  42. package/src/findNearestRangeOfSequenceOverlapToPosition.js +1 -1
  43. package/src/findOrfsInPlasmid.js +1 -1
  44. package/src/findSequenceMatches.js +9 -10
  45. package/src/generateAnnotations.js +1 -1
  46. package/src/generateSequenceData.js +1 -1
  47. package/src/generateSequenceData.test.js +1 -1
  48. package/src/getAllInsertionsInSeqReads.js +1 -1
  49. package/src/getAminoAcidDataForEachBaseOfDna.js +2 -2
  50. package/src/getAminoAcidDataForEachBaseOfDna.test.js +0 -2
  51. package/src/getAminoAcidFromSequenceTriplet.js +1 -1
  52. package/src/getAminoAcidStringFromSequenceString.js +1 -1
  53. package/src/getCodonRangeForAASliver.js +1 -1
  54. package/src/getComplementAminoAcidStringFromSequenceString.js +2 -5
  55. package/src/getComplementSequenceAndAnnotations.js +1 -2
  56. package/src/getComplementSequenceString.js +5 -3
  57. package/src/getComplementSequenceString.test.js +6 -6
  58. package/src/getCutsiteType.js +1 -1
  59. package/src/getCutsitesFromSequence.js +1 -1
  60. package/src/getDegenerateDnaStringFromAAString.js +1 -1
  61. package/src/getDegenerateRnaStringFromAAString.js +1 -1
  62. package/src/getDigestFragmentsForCutsites.js +5 -2
  63. package/src/getDigestFragmentsForRestrictionEnzymes.js +2 -2
  64. package/src/getInsertBetweenVals.js +2 -2
  65. package/src/getLeftAndRightOfSequenceInRangeGivenPosition.js +2 -2
  66. package/src/getLeftAndRightOfSequenceInRangeGivenPosition.test.js +0 -2
  67. package/src/getMassOfAaString.js +4 -1
  68. package/src/getMassofAaString.test.js +9 -8
  69. package/src/getOrfsFromSequence.js +1 -2
  70. package/src/getOrfsFromSequence.test.js +1 -3
  71. package/src/getOverlapBetweenTwoSequences.js +3 -3
  72. package/src/getOverlapBetweenTwoSequences.test.js +1 -1
  73. package/src/getPossiblePartsFromSequenceAndEnzymes.js +2 -2
  74. package/src/getReverseAminoAcidStringFromSequenceString.js +1 -1
  75. package/src/getReverseComplementAminoAcidStringFromSequenceString.js +9 -6
  76. package/src/getReverseComplementAnnotation.js +1 -1
  77. package/src/getReverseComplementSequenceAndAnnotations.js +2 -3
  78. package/src/getReverseComplementSequenceString.js +1 -2
  79. package/src/getReverseSequenceString.js +1 -1
  80. package/src/getSequenceDataBetweenRange.js +7 -4
  81. package/src/getSequenceDataBetweenRange.test.js +0 -1
  82. package/src/getVirtualDigest.js +6 -3
  83. package/src/guessIfSequenceIsDnaAndNotProtein.js +2 -2
  84. package/src/index.js +80 -80
  85. package/src/index.test.js +5 -4
  86. package/src/insertGapsIntoRefSeq.js +1 -1
  87. package/src/insertSequenceDataAtPosition.test.js +4 -2
  88. package/src/insertSequenceDataAtPositionOrRange.js +5 -5
  89. package/src/insertSequenceDataAtPositionOrRange.test.js +3 -17
  90. package/src/isEnzymeType2S.js +1 -1
  91. package/src/mapAnnotationsToRows.js +3 -3
  92. package/src/mapAnnotationsToRows.test.js +1 -3
  93. package/src/prepareCircularViewData.js +5 -5
  94. package/src/prepareCircularViewData.test.js +1 -1
  95. package/src/prepareRowData.js +1 -2
  96. package/src/prepareRowData.test.js +1 -3
  97. package/src/prepareRowData_output1.json +381 -381
  98. package/src/proteinAlphabet.js +34 -26
  99. package/src/rotateBpsToPosition.js +7 -11
  100. package/src/rotateBpsToPosition.test.js +6 -6
  101. package/src/rotateSequenceDataToPosition.js +4 -4
  102. package/src/shiftAnnotationsByLen.js +2 -2
  103. package/src/tidyUpAnnotation.js +8 -7
  104. package/src/tidyUpSequenceData.js +3 -3
@@ -1,3 +1,4 @@
1
+
1
2
  const proteinAlphabet = {
2
3
  A: {
3
4
  value: "A",
@@ -6,7 +7,7 @@ const proteinAlphabet = {
6
7
  hydrophobicity: 1.8,
7
8
  colorByFamily: "#00FFFF",
8
9
  color: "hsl(327.3, 100%, 69%)",
9
- mass: 89.1
10
+ mass: 71.0779
10
11
  },
11
12
  R: {
12
13
  value: "R",
@@ -15,8 +16,9 @@ const proteinAlphabet = {
15
16
  hydrophobicity: -4.5,
16
17
  colorByFamily: "#FFC0CB",
17
18
  color: "hsl(258.1, 100%, 69%)",
18
- mass: 174.2
19
+ mass: 156.18568
19
20
  },
21
+
20
22
  N: {
21
23
  value: "N",
22
24
  name: "Asparagine",
@@ -24,7 +26,7 @@ const proteinAlphabet = {
24
26
  hydrophobicity: -3.5,
25
27
  colorByFamily: "#D3D3D3",
26
28
  color: "hsl(268.9, 100%, 69%)",
27
- mass: 132.1
29
+ mass: 114.10264
28
30
  },
29
31
  D: {
30
32
  value: "D",
@@ -33,7 +35,7 @@ const proteinAlphabet = {
33
35
  hydrophobicity: -3.5,
34
36
  colorByFamily: "#EE82EE",
35
37
  color: "hsl(268.9, 100%, 69%)",
36
- mass: 133.1
38
+ mass: 115.0874
37
39
  },
38
40
  C: {
39
41
  value: "C",
@@ -42,8 +44,9 @@ const proteinAlphabet = {
42
44
  hydrophobicity: 2.5,
43
45
  colorByFamily: "#FFFF00",
44
46
  color: "hsl(335.1, 100%, 69%)",
45
- mass: 121.2
47
+ mass: 103.1429
46
48
  },
49
+
47
50
  E: {
48
51
  value: "E",
49
52
  name: "Glutamic acid",
@@ -51,7 +54,7 @@ const proteinAlphabet = {
51
54
  hydrophobicity: -3.5,
52
55
  colorByFamily: "#EE82EE",
53
56
  color: "hsl(268.9, 100%, 69%)",
54
- mass: 147.1
57
+ mass: 129.11398
55
58
  },
56
59
  Q: {
57
60
  value: "Q",
@@ -60,7 +63,7 @@ const proteinAlphabet = {
60
63
  hydrophobicity: -3.5,
61
64
  colorByFamily: "#D3D3D3",
62
65
  color: "hsl(268.9, 100%, 69%)",
63
- mass: 146.2
66
+ mass: 128.12922
64
67
  },
65
68
  G: {
66
69
  value: "G",
@@ -69,8 +72,10 @@ const proteinAlphabet = {
69
72
  hydrophobicity: -0.4,
70
73
  colorByFamily: "#00FFFF",
71
74
  color: "hsl(303.1, 100%, 69%)",
72
- mass: 75.1
75
+ mass: 57.05132
73
76
  },
77
+
78
+
74
79
  H: {
75
80
  value: "H",
76
81
  name: "Histidine",
@@ -78,8 +83,9 @@ const proteinAlphabet = {
78
83
  hydrophobicity: -3.2,
79
84
  colorByFamily: "#FFC0CB",
80
85
  color: "hsl(272.2, 100%, 69%)",
81
- mass: 155.2
86
+ mass: 137.13928
82
87
  },
88
+
83
89
  I: {
84
90
  value: "I",
85
91
  name: "Isoleucine ",
@@ -87,7 +93,7 @@ const proteinAlphabet = {
87
93
  hydrophobicity: 4.5,
88
94
  colorByFamily: "#00FFFF",
89
95
  color: "hsl(356.9, 100%, 69%)",
90
- mass: 131.2
96
+ mass: 113.15764
91
97
  },
92
98
  L: {
93
99
  value: "L",
@@ -96,7 +102,7 @@ const proteinAlphabet = {
96
102
  hydrophobicity: 3.8,
97
103
  colorByFamily: "#00FFFF",
98
104
  color: "hsl(349.4, 100%, 69%)",
99
- mass: 131.2
105
+ mass: 113.15764
100
106
  },
101
107
  K: {
102
108
  value: "K",
@@ -105,8 +111,10 @@ const proteinAlphabet = {
105
111
  hydrophobicity: -3.9,
106
112
  colorByFamily: "#FFC0CB",
107
113
  color: "hsl(264.7, 100%, 69%)",
108
- mass: 146.2
114
+ mass: 128.17228
109
115
  },
116
+
117
+
110
118
  M: {
111
119
  value: "M",
112
120
  name: "Methionine",
@@ -114,7 +122,7 @@ const proteinAlphabet = {
114
122
  hydrophobicity: 1.9,
115
123
  colorByFamily: "#FFFF00",
116
124
  color: "hsl(328.5, 100%, 69%)",
117
- mass: 149.2
125
+ mass: 131.19606
118
126
  },
119
127
  F: {
120
128
  value: "F",
@@ -123,7 +131,7 @@ const proteinAlphabet = {
123
131
  hydrophobicity: 2.8,
124
132
  colorByFamily: "#FFA500",
125
133
  color: "hsl(338.4, 100%, 69%)",
126
- mass: 165.2
134
+ mass: 147.17386
127
135
  },
128
136
  P: {
129
137
  value: "P",
@@ -132,7 +140,7 @@ const proteinAlphabet = {
132
140
  hydrophobicity: -1.6,
133
141
  colorByFamily: "#00FFFF",
134
142
  color: "hsl(289.9, 100%, 69%)",
135
- mass: 115.1
143
+ mass: 97.11518
136
144
  },
137
145
  S: {
138
146
  value: "S",
@@ -141,7 +149,7 @@ const proteinAlphabet = {
141
149
  hydrophobicity: -0.8,
142
150
  colorByFamily: "#90EE90",
143
151
  color: "hsl(298.6, 100%, 69%)",
144
- mass: 105.1
152
+ mass: 87.0773
145
153
  },
146
154
  T: {
147
155
  value: "T",
@@ -150,7 +158,7 @@ const proteinAlphabet = {
150
158
  hydrophobicity: -0.7,
151
159
  colorByFamily: "#90EE90",
152
160
  color: "hsl(299.8, 100%, 69%)",
153
- mass: 119.1
161
+ mass: 101.10388
154
162
  },
155
163
  U: {
156
164
  value: "U",
@@ -158,7 +166,7 @@ const proteinAlphabet = {
158
166
  threeLettersName: "Sec",
159
167
  colorByFamily: "#FF0000",
160
168
  color: "hsl(0, 100%, 69%)",
161
- mass: 168.1
169
+ mass: 150.3079
162
170
  },
163
171
  W: {
164
172
  value: "W",
@@ -167,7 +175,7 @@ const proteinAlphabet = {
167
175
  hydrophobicity: -0.9,
168
176
  colorByFamily: "#FFA500",
169
177
  color: "hsl(297.6, 100%, 69%)",
170
- mass: 204.2
178
+ mass: 186.2099
171
179
  },
172
180
  Y: {
173
181
  value: "Y",
@@ -176,7 +184,7 @@ const proteinAlphabet = {
176
184
  hydrophobicity: -1.3,
177
185
  colorByFamily: "#FFA500",
178
186
  color: "hsl(293.2, 100%, 69%)",
179
- mass: 181.2
187
+ mass: 163.17326
180
188
  },
181
189
  V: {
182
190
  value: "V",
@@ -185,7 +193,7 @@ const proteinAlphabet = {
185
193
  hydrophobicity: 4.2,
186
194
  colorByFamily: "#00FFFF",
187
195
  color: "hsl(353.6, 100%, 69%)",
188
- mass: 117.1
196
+ mass: 99.13106
189
197
  },
190
198
  "*": {
191
199
  value: "*",
@@ -210,7 +218,7 @@ const proteinAlphabet = {
210
218
  threeLettersName: "Gap",
211
219
  colorByFamily: "#FF0000",
212
220
  color: "hsl(0, 100%, 69%)",
213
- mass: 0,
221
+ mass: 0
214
222
  },
215
223
  B: {
216
224
  value: "B",
@@ -220,7 +228,7 @@ const proteinAlphabet = {
220
228
  isAmbiguous: true,
221
229
  name: "B",
222
230
  aliases: "ND",
223
- mass: 0,
231
+ mass: 0
224
232
  },
225
233
  J: {
226
234
  value: "J",
@@ -230,7 +238,7 @@ const proteinAlphabet = {
230
238
  isAmbiguous: true,
231
239
  name: "J",
232
240
  aliases: "IL",
233
- mass: 0,
241
+ mass: 0
234
242
  },
235
243
  X: {
236
244
  value: "X",
@@ -240,7 +248,7 @@ const proteinAlphabet = {
240
248
  isAmbiguous: true,
241
249
  name: "X",
242
250
  aliases: "ACDEFGHIKLMNPQRSTVWY",
243
- mass: 0,
251
+ mass: 0
244
252
  },
245
253
  Z: {
246
254
  value: "Z",
@@ -254,4 +262,4 @@ const proteinAlphabet = {
254
262
  }
255
263
  };
256
264
 
257
- export default proteinAlphabet
265
+ export default proteinAlphabet;
@@ -1,13 +1,9 @@
1
- export default function rotateBpsToPosition(
2
- bps,
3
- caretPosition,
4
- ) {
5
- return arrayRotate(bps.split(""), caretPosition).join("")
6
- };
7
-
1
+ export default function rotateBpsToPosition(bps, caretPosition) {
2
+ return arrayRotate(bps.split(""), caretPosition).join("");
3
+ }
8
4
 
9
5
  function arrayRotate(arr, count) {
10
- count -= arr.length * Math.floor(count / arr.length)
11
- arr.push.apply(arr, arr.splice(0, count))
12
- return arr
13
- }
6
+ count -= arr.length * Math.floor(count / arr.length);
7
+ arr.push.apply(arr, arr.splice(0, count));
8
+ return arr;
9
+ }
@@ -1,6 +1,6 @@
1
- import rotateBpsToPosition from './rotateBpsToPosition';
2
- describe('rotateBpsToPosition', () => {
3
- it('should rotate Bps To Position correctly ', () => {
4
- expect(rotateBpsToPosition("atgaccc",4)).toEqual("cccatga")
5
- })
6
- })
1
+ import rotateBpsToPosition from "./rotateBpsToPosition";
2
+ describe("rotateBpsToPosition", () => {
3
+ it("should rotate Bps To Position correctly ", () => {
4
+ expect(rotateBpsToPosition("atgaccc", 4)).toEqual("cccatga");
5
+ });
6
+ });
@@ -1,7 +1,7 @@
1
- import {map} from "lodash";
2
- import {adjustRangeToRotation} from "@teselagen/range-utils";
1
+ import { map } from "lodash";
2
+ import { adjustRangeToRotation } from "@teselagen/range-utils";
3
3
  import tidyUpSequenceData from "./tidyUpSequenceData";
4
- import {modifiableTypes} from "./annotationTypes";
4
+ import { modifiableTypes } from "./annotationTypes";
5
5
  import rotateBpsToPosition from "./rotateBpsToPosition";
6
6
 
7
7
  export default function rotateSequenceDataToPosition(
@@ -28,7 +28,7 @@ export default function rotateSequenceDataToPosition(
28
28
  );
29
29
  });
30
30
  return newSequenceData;
31
- };
31
+ }
32
32
 
33
33
  function adjustAnnotationsToRotation(
34
34
  annotationsToBeAdjusted,
@@ -1,4 +1,4 @@
1
- import {modifiableTypes} from "./annotationTypes";
1
+ import { modifiableTypes } from "./annotationTypes";
2
2
  import adjustAnnotationsToInsert from "./adjustAnnotationsToInsert";
3
3
 
4
4
  export default function shiftAnnotationsByLen({
@@ -14,4 +14,4 @@ export default function shiftAnnotationsByLen({
14
14
  insertLength
15
15
  );
16
16
  });
17
- };
17
+ }
@@ -1,5 +1,5 @@
1
- import {cloneDeep, get, some} from "lodash";
2
- import {getFeatureToColorMap, getFeatureTypes} from "./featureTypesAndColors";
1
+ import { cloneDeep, get, some } from "lodash";
2
+ import { getFeatureToColorMap, getFeatureTypes } from "./featureTypesAndColors";
3
3
  import shortid from "shortid";
4
4
 
5
5
  export default function tidyUpAnnotation(
@@ -114,8 +114,9 @@ export default function tidyUpAnnotation(
114
114
  annotation.notes = JSON.parse(annotation.notes);
115
115
  } catch (error) {
116
116
  console.info(
117
- `warning 33y00a0912 - couldn't parse notes for ${annotation.name ||
118
- ""} ${annotation.notes}:`,
117
+ `warning 33y00a0912 - couldn't parse notes for ${
118
+ annotation.name || ""
119
+ } ${annotation.notes}:`,
119
120
  error
120
121
  );
121
122
  }
@@ -125,7 +126,7 @@ export default function tidyUpAnnotation(
125
126
  annotation.color = getFeatureToColorMap()[annotation.type];
126
127
  }
127
128
  return annotation;
128
- };
129
+ }
129
130
 
130
131
  function coerceLocation({
131
132
  location,
@@ -156,7 +157,7 @@ function coerceLocation({
156
157
  " and set to size: " +
157
158
  size
158
159
  ); //setting it to 0 internally, but users will see it as 1
159
- location.start = size - (isProtein ? 3 : 1);
160
+ location.start = Math.max(0, size - (isProtein ? 3 : 1));
160
161
  }
161
162
  if (
162
163
  location.end < 0 ||
@@ -171,7 +172,7 @@ function coerceLocation({
171
172
  " and set to seq size: " +
172
173
  size
173
174
  ); //setting it to 0 internally, but users will see it as 1
174
- location.end = size - 1;
175
+ location.end = Math.max(0, size - 1);
175
176
  }
176
177
  if (location.start > location.end && circular === false) {
177
178
  messages.push(
@@ -2,13 +2,13 @@
2
2
  import shortid from "shortid";
3
3
 
4
4
  import getAminoAcidDataForEachBaseOfDna from "./getAminoAcidDataForEachBaseOfDna";
5
- import {cloneDeep, flatMap} from "lodash";
5
+ import { cloneDeep, flatMap } from "lodash";
6
6
  import { annotationTypes } from "./annotationTypes";
7
7
  import filterSequenceString from "./filterSequenceString";
8
8
  import tidyUpAnnotation from "./tidyUpAnnotation";
9
9
  import filterAminoAcidSequenceString from "./filterAminoAcidSequenceString";
10
10
  import getDegenerateDnaStringFromAaString from "./getDegenerateDnaStringFromAAString";
11
- import {getFeatureTypes} from "./featureTypesAndColors";
11
+ import { getFeatureTypes } from "./featureTypesAndColors";
12
12
 
13
13
  export default function tidyUpSequenceData(pSeqData, options = {}) {
14
14
  const {
@@ -166,4 +166,4 @@ export default function tidyUpSequenceData(pSeqData, options = {}) {
166
166
  console.info("tidyUpSequenceData messages:", response.messages);
167
167
  }
168
168
  return seqData;
169
- };
169
+ }