@teselagen/sequence-utils 0.3.38-beta.3 → 0.3.41

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 (169) hide show
  1. package/DNAComplementMap.d.ts +1 -1
  2. package/addGapsToSeqReads.d.ts +3 -16
  3. package/adjustAnnotationsToInsert.d.ts +1 -2
  4. package/adjustBpsToReplaceOrInsert.d.ts +1 -2
  5. package/aliasedEnzymesByName.d.ts +1 -37
  6. package/aminoAcidToDegenerateDnaMap.d.ts +31 -1
  7. package/aminoAcidToDegenerateRnaMap.d.ts +1 -1
  8. package/annotateSingleSeq.d.ts +4 -5
  9. package/annotationTypes.d.ts +2 -2
  10. package/autoAnnotate.d.ts +8 -17
  11. package/bioData.d.ts +58 -10
  12. package/calculateEndStability.d.ts +1 -1
  13. package/calculateNebTa.d.ts +1 -6
  14. package/calculateNebTm.d.ts +4 -6
  15. package/calculatePercentGC.d.ts +1 -1
  16. package/calculateSantaLuciaTm.d.ts +114 -28
  17. package/calculateTm.d.ts +1 -13
  18. package/computeDigestFragments.d.ts +24 -30
  19. package/condensePairwiseAlignmentDifferences.d.ts +1 -1
  20. package/convertAACaretPositionOrRangeToDna.d.ts +1 -2
  21. package/convertDnaCaretPositionOrRangeToAA.d.ts +1 -2
  22. package/cutSequenceByRestrictionEnzyme.d.ts +1 -2
  23. package/defaultEnzymesByName.d.ts +1 -2
  24. package/degenerateDnaToAminoAcidMap.d.ts +1 -1
  25. package/degenerateRnaToAminoAcidMap.d.ts +1 -1
  26. package/deleteSequenceDataAtRange.d.ts +1 -2
  27. package/diffUtils.d.ts +7 -9
  28. package/doesEnzymeChopOutsideOfRecognitionSite.d.ts +1 -2
  29. package/featureTypesAndColors.d.ts +6 -19
  30. package/filterSequenceString.d.ts +10 -14
  31. package/findApproxMatches.d.ts +1 -7
  32. package/findNearestRangeOfSequenceOverlapToPosition.d.ts +1 -2
  33. package/findOrfsInPlasmid.d.ts +11 -2
  34. package/findSequenceMatches.d.ts +1 -11
  35. package/generateAnnotations.d.ts +1 -2
  36. package/generateSequenceData.d.ts +13 -8
  37. package/getAllInsertionsInSeqReads.d.ts +1 -11
  38. package/getAminoAcidDataForEachBaseOfDna.d.ts +5 -6
  39. package/getAminoAcidFromSequenceTriplet.d.ts +1 -1
  40. package/getAminoAcidStringFromSequenceString.d.ts +1 -3
  41. package/getCodonRangeForAASliver.d.ts +4 -3
  42. package/getComplementAminoAcidStringFromSequenceString.d.ts +1 -1
  43. package/getComplementSequenceAndAnnotations.d.ts +1 -5
  44. package/getComplementSequenceString.d.ts +1 -1
  45. package/getCutsiteType.d.ts +1 -2
  46. package/getCutsitesFromSequence.d.ts +1 -2
  47. package/getDegenerateDnaStringFromAAString.d.ts +1 -1
  48. package/getDegenerateRnaStringFromAAString.d.ts +1 -1
  49. package/getDigestFragmentsForCutsites.d.ts +1 -4
  50. package/getDigestFragmentsForRestrictionEnzymes.d.ts +1 -8
  51. package/getInsertBetweenVals.d.ts +1 -2
  52. package/getLeftAndRightOfSequenceInRangeGivenPosition.d.ts +1 -2
  53. package/getOrfsFromSequence.d.ts +11 -17
  54. package/getOverlapBetweenTwoSequences.d.ts +1 -2
  55. package/getPossiblePartsFromSequenceAndEnzymes.d.ts +1 -18
  56. package/getReverseAminoAcidStringFromSequenceString.d.ts +1 -1
  57. package/getReverseComplementAminoAcidStringFromSequenceString.d.ts +1 -1
  58. package/getReverseComplementAnnotation.d.ts +1 -11
  59. package/getReverseComplementSequenceAndAnnotations.d.ts +1 -5
  60. package/getReverseComplementSequenceString.d.ts +1 -1
  61. package/getReverseSequenceString.d.ts +1 -1
  62. package/getSequenceDataBetweenRange.d.ts +1 -9
  63. package/getVirtualDigest.d.ts +10 -11
  64. package/guessIfSequenceIsDnaAndNotProtein.d.ts +1 -5
  65. package/index.cjs +491 -728
  66. package/index.d.ts +5 -8
  67. package/index.js +491 -728
  68. package/index.umd.cjs +491 -728
  69. package/insertGapsIntoRefSeq.d.ts +1 -2
  70. package/insertSequenceDataAtPositionOrRange.d.ts +1 -10
  71. package/isEnzymeType2S.d.ts +1 -2
  72. package/mapAnnotationsToRows.d.ts +1 -9
  73. package/package.json +9 -12
  74. package/prepareCircularViewData.d.ts +1 -2
  75. package/prepareRowData.d.ts +3 -7
  76. package/proteinAlphabet.d.ts +1 -1
  77. package/rotateBpsToPosition.d.ts +1 -1
  78. package/rotateSequenceDataToPosition.d.ts +1 -3
  79. package/shiftAnnotationsByLen.d.ts +3 -4
  80. package/src/autoAnnotate.test.js +1 -0
  81. package/src/getSequenceDataBetweenRange.js +11 -2
  82. package/src/getSequenceDataBetweenRange.test.js +42 -0
  83. package/src/prepareRowData_output1.json +0 -1
  84. package/threeLetterSequenceStringToAminoAcidMap.d.ts +921 -11
  85. package/tidyUpAnnotation.d.ts +11 -13
  86. package/tidyUpSequenceData.d.ts +1 -15
  87. package/src/DNAComplementMap.ts +0 -32
  88. package/src/addGapsToSeqReads.ts +0 -436
  89. package/src/adjustAnnotationsToInsert.ts +0 -20
  90. package/src/adjustBpsToReplaceOrInsert.ts +0 -73
  91. package/src/aliasedEnzymesByName.ts +0 -7366
  92. package/src/aminoAcidToDegenerateDnaMap.ts +0 -32
  93. package/src/aminoAcidToDegenerateRnaMap.ts +0 -32
  94. package/src/annotateSingleSeq.ts +0 -37
  95. package/src/annotationTypes.ts +0 -23
  96. package/src/autoAnnotate.ts +0 -290
  97. package/src/bioData.ts +0 -65
  98. package/src/calculateEndStability.ts +0 -91
  99. package/src/calculateNebTa.ts +0 -46
  100. package/src/calculateNebTm.ts +0 -132
  101. package/src/calculatePercentGC.ts +0 -3
  102. package/src/calculateSantaLuciaTm.ts +0 -184
  103. package/src/calculateTm.ts +0 -242
  104. package/src/computeDigestFragments.ts +0 -238
  105. package/src/condensePairwiseAlignmentDifferences.ts +0 -85
  106. package/src/convertAACaretPositionOrRangeToDna.ts +0 -28
  107. package/src/convertDnaCaretPositionOrRangeToAA.ts +0 -28
  108. package/src/cutSequenceByRestrictionEnzyme.ts +0 -345
  109. package/src/defaultEnzymesByName.ts +0 -280
  110. package/src/degenerateDnaToAminoAcidMap.ts +0 -5
  111. package/src/degenerateRnaToAminoAcidMap.ts +0 -5
  112. package/src/deleteSequenceDataAtRange.ts +0 -13
  113. package/src/diffUtils.ts +0 -80
  114. package/src/doesEnzymeChopOutsideOfRecognitionSite.ts +0 -16
  115. package/src/featureTypesAndColors.ts +0 -167
  116. package/src/filterSequenceString.ts +0 -153
  117. package/src/findApproxMatches.ts +0 -58
  118. package/src/findNearestRangeOfSequenceOverlapToPosition.ts +0 -43
  119. package/src/findOrfsInPlasmid.ts +0 -31
  120. package/src/findSequenceMatches.ts +0 -154
  121. package/src/generateAnnotations.ts +0 -39
  122. package/src/generateSequenceData.ts +0 -212
  123. package/src/getAllInsertionsInSeqReads.ts +0 -100
  124. package/src/getAminoAcidDataForEachBaseOfDna.ts +0 -305
  125. package/src/getAminoAcidFromSequenceTriplet.ts +0 -27
  126. package/src/getAminoAcidStringFromSequenceString.ts +0 -36
  127. package/src/getCodonRangeForAASliver.ts +0 -73
  128. package/src/getComplementAminoAcidStringFromSequenceString.ts +0 -10
  129. package/src/getComplementSequenceAndAnnotations.ts +0 -25
  130. package/src/getComplementSequenceString.ts +0 -23
  131. package/src/getCutsiteType.ts +0 -18
  132. package/src/getCutsitesFromSequence.ts +0 -22
  133. package/src/getDegenerateDnaStringFromAAString.ts +0 -15
  134. package/src/getDegenerateRnaStringFromAAString.ts +0 -15
  135. package/src/getDigestFragmentsForCutsites.ts +0 -126
  136. package/src/getDigestFragmentsForRestrictionEnzymes.ts +0 -50
  137. package/src/getInsertBetweenVals.ts +0 -31
  138. package/src/getLeftAndRightOfSequenceInRangeGivenPosition.ts +0 -40
  139. package/src/getMassOfAaString.ts +0 -29
  140. package/src/getOrfsFromSequence.ts +0 -132
  141. package/src/getOverlapBetweenTwoSequences.ts +0 -30
  142. package/src/getPossiblePartsFromSequenceAndEnzymes.ts +0 -149
  143. package/src/getReverseAminoAcidStringFromSequenceString.ts +0 -22
  144. package/src/getReverseComplementAminoAcidStringFromSequenceString.ts +0 -10
  145. package/src/getReverseComplementAnnotation.ts +0 -33
  146. package/src/getReverseComplementSequenceAndAnnotations.ts +0 -46
  147. package/src/getReverseComplementSequenceString.ts +0 -18
  148. package/src/getReverseSequenceString.ts +0 -12
  149. package/src/getSequenceDataBetweenRange.ts +0 -154
  150. package/src/getVirtualDigest.ts +0 -139
  151. package/src/guessIfSequenceIsDnaAndNotProtein.ts +0 -39
  152. package/src/index.test.ts +0 -43
  153. package/src/index.ts +0 -111
  154. package/src/insertGapsIntoRefSeq.ts +0 -43
  155. package/src/insertSequenceDataAtPosition.ts +0 -2
  156. package/src/insertSequenceDataAtPositionOrRange.ts +0 -328
  157. package/src/isEnzymeType2S.ts +0 -5
  158. package/src/mapAnnotationsToRows.ts +0 -256
  159. package/src/prepareCircularViewData.ts +0 -24
  160. package/src/prepareRowData.ts +0 -61
  161. package/src/proteinAlphabet.ts +0 -271
  162. package/src/rotateBpsToPosition.ts +0 -12
  163. package/src/rotateSequenceDataToPosition.ts +0 -54
  164. package/src/shiftAnnotationsByLen.ts +0 -24
  165. package/src/threeLetterSequenceStringToAminoAcidMap.ts +0 -198
  166. package/src/tidyUpAnnotation.ts +0 -205
  167. package/src/tidyUpSequenceData.ts +0 -213
  168. package/src/types.ts +0 -109
  169. package/types.d.ts +0 -105
@@ -1,2 +1 @@
1
- import { SeqRead } from './getAllInsertionsInSeqReads';
2
- export default function insertGapsIntoRefSeq(refSeq: string, seqReads: SeqRead[]): string;
1
+ export default function insertGapsIntoRefSeq(refSeq: any, seqReads: any): any;
@@ -1,10 +1 @@
1
- import { Range } from '../../range-utils/src/index.ts';
2
- import { SequenceData } from './types';
3
- interface InsertSequenceDataOptions {
4
- maintainOriginSplit?: boolean;
5
- doNotRemoveInvalidChars?: boolean;
6
- topLevelSeqData?: SequenceData;
7
- [key: string]: unknown;
8
- }
9
- export default function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert: SequenceData, _existingSequenceData: SequenceData, caretPositionOrRange: number | Range, options?: InsertSequenceDataOptions): SequenceData;
10
- export {};
1
+ export default function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert: any, _existingSequenceData: any, caretPositionOrRange: any, options?: {}): any;
@@ -1,2 +1 @@
1
- import { RestrictionEnzyme } from './types';
2
- export default function isEnzymeType2S(e: RestrictionEnzyme): boolean;
1
+ export default function isEnzymeType2S(e: any): boolean;
@@ -1,9 +1 @@
1
- import { Annotation } from './types';
2
- export interface MappedAnnotation extends Annotation {
3
- yOffset?: number;
4
- enclosingRangeType?: "beginning" | "end" | "beginningAndEnd";
5
- annotation?: Annotation;
6
- }
7
- export default function mapAnnotationsToRows(annotations: Annotation[], sequenceLength: number, bpsPerRow: number, { splitForwardReverse }?: {
8
- splitForwardReverse?: boolean;
9
- }): Record<string | number, MappedAnnotation[]>;
1
+ export default function mapAnnotationsToRows(annotations: any, sequenceLength: any, bpsPerRow: any, { splitForwardReverse }?: {}): {};
package/package.json CHANGED
@@ -1,23 +1,20 @@
1
1
  {
2
2
  "name": "@teselagen/sequence-utils",
3
- "version": "0.3.38-beta.3",
3
+ "version": "0.3.41",
4
+ "repository": "https://github.com/TeselaGen/tg-oss",
4
5
  "type": "module",
5
6
  "dependencies": {
6
- "@teselagen/range-utils": "0.3.14-beta.3",
7
7
  "escape-string-regexp": "5.0.0",
8
8
  "jsondiffpatch": "0.7.3",
9
+ "string-splice": "^1.3.0",
9
10
  "lodash-es": "^4.17.21",
10
- "shortid": "2.2.16"
11
+ "shortid": "2.2.16",
12
+ "@teselagen/range-utils": "0.3.18"
11
13
  },
12
14
  "exports": {
13
15
  ".": {
14
- "import": "./src/index.ts",
15
- "require": "./src/index.ts"
16
+ "import": "./index.js",
17
+ "require": "./index.cjs"
16
18
  }
17
- },
18
- "devDependencies": {
19
- "@types/lodash-es": "^4.17.12",
20
- "@types/shortid": "^2.2.0"
21
- },
22
- "license": "MIT"
23
- }
19
+ }
20
+ }
@@ -1,2 +1 @@
1
- import { SequenceData } from './types';
2
- export default function prepareCircularViewData(sequenceData: SequenceData): SequenceData;
1
+ export default function prepareCircularViewData(sequenceData: any): any;
@@ -1,10 +1,6 @@
1
- import { MappedAnnotation } from './mapAnnotationsToRows';
2
- import { SequenceData } from './types';
3
- export interface RowData {
1
+ export default function prepareRowData(sequenceData: any, bpsPerRow: any): {
4
2
  rowNumber: number;
5
3
  start: number;
6
4
  end: number;
7
- sequence: string;
8
- [key: string]: MappedAnnotation[] | number | string;
9
- }
10
- export default function prepareRowData(sequenceData: SequenceData, bpsPerRow: number): RowData[];
5
+ sequence: any;
6
+ }[];
@@ -1,3 +1,4 @@
1
+ export default proteinAlphabet;
1
2
  declare const proteinAlphabet: {
2
3
  A: {
3
4
  value: string;
@@ -260,4 +261,3 @@ declare const proteinAlphabet: {
260
261
  mass: number;
261
262
  };
262
263
  };
263
- export default proteinAlphabet;
@@ -1 +1 @@
1
- export default function rotateBpsToPosition(bps: string, caretPosition: number): string;
1
+ export default function rotateBpsToPosition(bps: any, caretPosition: any): any;
@@ -1,3 +1 @@
1
- import { TidyUpSequenceDataOptions } from './tidyUpSequenceData';
2
- import { SequenceData } from './types';
3
- export default function rotateSequenceDataToPosition(sequenceData: SequenceData, caretPosition: number, options?: TidyUpSequenceDataOptions): SequenceData;
1
+ export default function rotateSequenceDataToPosition(sequenceData: any, caretPosition: any, options: any): any;
@@ -1,6 +1,5 @@
1
- import { SequenceData } from './types';
2
1
  export default function shiftAnnotationsByLen({ seqData, caretPosition, insertLength }: {
3
- seqData: SequenceData;
4
- caretPosition: number;
5
- insertLength: number;
2
+ seqData: any;
3
+ caretPosition: any;
4
+ insertLength: any;
6
5
  }): void;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-unused-expressions */
1
2
  import {
2
3
  autoAnnotate,
3
4
  convertApELikeRegexToRegex,
@@ -1,5 +1,5 @@
1
1
  import { flatMap, extend, forEach, startCase } from "lodash-es";
2
- import { getRangeLength } from "@teselagen/range-utils";
2
+ import { getRangeLength, isRangeWithinRange } from "@teselagen/range-utils";
3
3
  import convertDnaCaretPositionOrRangeToAa from "./convertDnaCaretPositionOrRangeToAA";
4
4
  import insertSequenceDataAtPosition from "./insertSequenceDataAtPosition";
5
5
  import {
@@ -112,7 +112,16 @@ function getAnnotationsBetweenRange(
112
112
  const overlaps = getZeroedRangeOverlaps(annotation, range, maxLength).map(
113
113
  overlap => {
114
114
  //we get back 1 or more overlaps here
115
-
115
+ const allLocations = annotation.locations;
116
+ if (allLocations && allLocations.length) {
117
+ // Filter the 'allLocations' that in this overlap
118
+ const newLocations = allLocations.filter(loc => {
119
+ return isRangeWithinRange(loc, overlap, maxLength);
120
+ })
121
+ return extend({}, annotation, overlap, {
122
+ locations: newLocations
123
+ });
124
+ }
116
125
  return extend({}, annotation, overlap);
117
126
  }
118
127
  );
@@ -462,4 +462,46 @@ describe("getSequenceDataBetweenRange", () => {
462
462
  ]
463
463
  });
464
464
  });
465
+ it("feature with locations, circular sequence, non-fully enclosing range range that cross the origin", () =>{
466
+ const res = getSequenceDataBetweenRange(
467
+ {
468
+ circular: true,
469
+ sequence: "gggatgcatgca",
470
+ features: [
471
+ {
472
+ start: 5,
473
+ end: 3,
474
+ locations: [
475
+ { start: 5, end: 6 },
476
+ { start: 7, end: 8 },
477
+ { start: 9, end: 1 },
478
+ { start: 2, end: 3 }
479
+ ],
480
+ name: "testing"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ start: 2,
486
+ end: 7
487
+ }
488
+ );
489
+ res.should.containSubset({
490
+ sequence: "gatgca",
491
+ features: [
492
+ {
493
+ start: 0,
494
+ end: 1,
495
+ name: "testing",
496
+ locations: undefined
497
+ },
498
+ {
499
+ start: 3,
500
+ end: 5,
501
+ name: "testing",
502
+ locations: [{start:3, end:4}, {start:5, end:5}]
503
+ }
504
+ ]
505
+ });
506
+ })
465
507
  });
@@ -138,7 +138,6 @@
138
138
  },
139
139
  "start": 1,
140
140
  "end": 3,
141
- "forward": true,
142
141
  "yOffset": 0,
143
142
  "enclosingRangeType": "beginningAndEnd"
144
143
  }