@opencloning/ui 1.3.1 → 1.3.2
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @opencloning/ui
|
|
2
2
|
|
|
3
|
+
## 1.3.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#605](https://github.com/manulera/OpenCloning_frontend/pull/605) [`ff60c18`](https://github.com/manulera/OpenCloning_frontend/commit/ff60c18c1500e8b9046f0810cbd69fe1a65c550c) Thanks [@manulera](https://github.com/manulera)! - Fix how syntaxes are imported to adapt to syntaxes repository change
|
|
8
|
+
|
|
9
|
+
- Updated dependencies []:
|
|
10
|
+
- @opencloning/store@1.3.2
|
|
11
|
+
- @opencloning/utils@1.3.2
|
|
12
|
+
|
|
3
13
|
## 1.3.1
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencloning/ui",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"@emotion/styled": "^11.14.0",
|
|
26
26
|
"@mui/icons-material": "^5.15.17",
|
|
27
27
|
"@mui/material": "^5.15.17",
|
|
28
|
-
"@opencloning/store": "1.3.
|
|
29
|
-
"@opencloning/utils": "1.3.
|
|
28
|
+
"@opencloning/store": "1.3.2",
|
|
29
|
+
"@opencloning/utils": "1.3.2",
|
|
30
30
|
"@teselagen/bio-parsers": "^0.4.32",
|
|
31
31
|
"@teselagen/ove": "^0.8.30",
|
|
32
32
|
"@teselagen/range-utils": "^0.3.13",
|
|
@@ -263,7 +263,7 @@ function LoadSyntaxButton({ setSyntax, addPlasmids }) {
|
|
|
263
263
|
const [existingSyntaxDialogOpen, setExistingSyntaxDialogOpen] = React.useState(false)
|
|
264
264
|
const onSyntaxSelect = React.useCallback((syntax, plasmids) => {
|
|
265
265
|
setSyntax(syntax)
|
|
266
|
-
addPlasmids(plasmids
|
|
266
|
+
addPlasmids(plasmids)
|
|
267
267
|
}, [setSyntax, addPlasmids])
|
|
268
268
|
return <>
|
|
269
269
|
<Button color="success" onClick={() => setExistingSyntaxDialogOpen(true)}>Load Syntax</Button>
|
|
@@ -101,6 +101,11 @@ export function getSimplifiedDigestFragments(sequenceData, enzymes) {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
export function assignSequenceToSyntaxPart(sequenceData, enzymes, graph) {
|
|
104
|
+
// Something that is important to understand here is the meaning of forward and reverse.
|
|
105
|
+
// It does not mean whether the overhang is 5' or 3', the value on the top strand is always
|
|
106
|
+
// used, which is convenient for classification within the syntax.
|
|
107
|
+
// Instead, forward means whether the recognition site was forward or reverse when producing that cut.
|
|
108
|
+
// see the test called "shows the meaning of forward and reverse" for more details.
|
|
104
109
|
const simplifiedDigestFragments = getSimplifiedDigestFragments(sequenceData, enzymes);
|
|
105
110
|
const foundParts = [];
|
|
106
111
|
simplifiedDigestFragments
|
|
@@ -28,6 +28,46 @@ describe('reverseComplementSimplifiedDigestFragment', () => {
|
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
+
it('shows the meaning of forward and reverse', () => {
|
|
32
|
+
const sequence = 'aaGGTCTCaTACTaaa'
|
|
33
|
+
const digestFragments = getDigestFragmentsForRestrictionEnzymes(
|
|
34
|
+
sequence,
|
|
35
|
+
false,
|
|
36
|
+
aliasedEnzymesByName["bsai"],
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// This does not denote whether the overhang is 5' or 3',
|
|
40
|
+
// but the orientation of the recognition site.
|
|
41
|
+
expect(digestFragments[0].cut2.overhangBps).toBe('TACT');
|
|
42
|
+
expect(digestFragments[0].cut2.forward).toBe(true);
|
|
43
|
+
expect(digestFragments[1].cut1.overhangBps).toBe('TACT');
|
|
44
|
+
expect(digestFragments[1].cut1.forward).toBe(true);
|
|
45
|
+
|
|
46
|
+
// See how for a fragment with the same overhangs, the forward
|
|
47
|
+
// value is different
|
|
48
|
+
const sequence2 = 'aTACTcGAGACCaaa'
|
|
49
|
+
const digestFragments2 = getDigestFragmentsForRestrictionEnzymes(
|
|
50
|
+
sequence2,
|
|
51
|
+
false,
|
|
52
|
+
aliasedEnzymesByName["bsai"],
|
|
53
|
+
);
|
|
54
|
+
expect(digestFragments2[0].cut2.overhangBps).toBe('TACT');
|
|
55
|
+
expect(digestFragments2[0].cut2.forward).toBe(false);
|
|
56
|
+
expect(digestFragments2[1].cut1.overhangBps).toBe('TACT');
|
|
57
|
+
expect(digestFragments2[1].cut1.forward).toBe(false);
|
|
58
|
+
|
|
59
|
+
// For EcoRI, it's always forward
|
|
60
|
+
const sequenceEcoRI = 'aaaGAATTCaaaGAATTCaaaa'
|
|
61
|
+
const digestFragmentsEcoRI = getDigestFragmentsForRestrictionEnzymes(
|
|
62
|
+
sequenceEcoRI,
|
|
63
|
+
true,
|
|
64
|
+
aliasedEnzymesByName["ecori"],
|
|
65
|
+
);
|
|
66
|
+
expect(digestFragmentsEcoRI[0].cut2.overhangBps).toBe('AATT');
|
|
67
|
+
expect(digestFragmentsEcoRI[0].cut2.forward).toBe(true);
|
|
68
|
+
expect(digestFragmentsEcoRI[0].cut1.overhangBps).toBe('AATT');
|
|
69
|
+
expect(digestFragmentsEcoRI[0].cut1.forward).toBe(true);
|
|
70
|
+
});
|
|
31
71
|
|
|
32
72
|
describe('assignSequenceToSyntaxPart', () => {
|
|
33
73
|
it('works', () => {
|
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Version placeholder - replaced at publish time via prepack script
|
|
2
|
-
export const version = "1.3.
|
|
2
|
+
export const version = "1.3.2";
|