@jbrowse/plugin-gccontent 3.6.4 → 3.6.5
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.
|
@@ -46,28 +46,67 @@ class GCContentAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
|
|
|
46
46
|
}, opts)
|
|
47
47
|
.pipe((0, operators_1.toArray)()));
|
|
48
48
|
const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
|
|
49
|
-
let start = performance.now();
|
|
50
49
|
await (0, util_1.updateStatus)('Calculating GC', statusCallback, () => {
|
|
50
|
+
let nc = 0;
|
|
51
|
+
let ng = 0;
|
|
52
|
+
let len = 0;
|
|
53
|
+
let start = performance.now();
|
|
54
|
+
const startIdx = halfWindowSize;
|
|
55
|
+
for (let j = startIdx - halfWindowSize; j < startIdx + halfWindowSize; j++) {
|
|
56
|
+
const letter = residues[j];
|
|
57
|
+
if (letter === 'c' || letter === 'C') {
|
|
58
|
+
nc++;
|
|
59
|
+
}
|
|
60
|
+
else if (letter === 'g' || letter === 'G') {
|
|
61
|
+
ng++;
|
|
62
|
+
}
|
|
63
|
+
if (letter !== 'N') {
|
|
64
|
+
len++;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
51
67
|
for (let i = halfWindowSize; i < residues.length - halfWindowSize; i += windowDelta) {
|
|
52
68
|
if (performance.now() - start > 400) {
|
|
53
69
|
(0, stopToken_1.checkStopToken)(stopToken);
|
|
54
70
|
start = performance.now();
|
|
55
71
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
if (isWindowSizeOneBp) {
|
|
73
|
+
const letter = residues[i];
|
|
74
|
+
nc = letter === 'c' || letter === 'C' ? 1 : 0;
|
|
75
|
+
ng = letter === 'g' || letter === 'G' ? 1 : 0;
|
|
76
|
+
len = letter !== 'N' ? 1 : 0;
|
|
77
|
+
}
|
|
78
|
+
else if (i > halfWindowSize) {
|
|
79
|
+
const prevStart = i - windowDelta - halfWindowSize;
|
|
80
|
+
const prevEnd = i - windowDelta + halfWindowSize;
|
|
81
|
+
const currStart = i - halfWindowSize;
|
|
82
|
+
const currEnd = i + halfWindowSize;
|
|
83
|
+
for (let j = prevStart; j < Math.min(prevEnd, currStart); j++) {
|
|
84
|
+
if (j >= 0 && j < residues.length) {
|
|
85
|
+
const letter = residues[j];
|
|
86
|
+
if (letter === 'c' || letter === 'C') {
|
|
87
|
+
nc--;
|
|
88
|
+
}
|
|
89
|
+
else if (letter === 'g' || letter === 'G') {
|
|
90
|
+
ng--;
|
|
91
|
+
}
|
|
92
|
+
if (letter !== 'N') {
|
|
93
|
+
len--;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
68
96
|
}
|
|
69
|
-
|
|
70
|
-
|
|
97
|
+
for (let j = Math.max(prevEnd, currStart); j < currEnd; j++) {
|
|
98
|
+
if (j >= 0 && j < residues.length) {
|
|
99
|
+
const letter = residues[j];
|
|
100
|
+
if (letter === 'c' || letter === 'C') {
|
|
101
|
+
nc++;
|
|
102
|
+
}
|
|
103
|
+
else if (letter === 'g' || letter === 'G') {
|
|
104
|
+
ng++;
|
|
105
|
+
}
|
|
106
|
+
if (letter !== 'N') {
|
|
107
|
+
len++;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
71
110
|
}
|
|
72
111
|
}
|
|
73
112
|
const pos = qs;
|
|
@@ -44,28 +44,67 @@ class GCContentAdapter extends BaseFeatureDataAdapter {
|
|
|
44
44
|
}, opts)
|
|
45
45
|
.pipe(toArray()));
|
|
46
46
|
const residues = ((_a = feats[0]) === null || _a === void 0 ? void 0 : _a.get('seq')) || '';
|
|
47
|
-
let start = performance.now();
|
|
48
47
|
await updateStatus('Calculating GC', statusCallback, () => {
|
|
48
|
+
let nc = 0;
|
|
49
|
+
let ng = 0;
|
|
50
|
+
let len = 0;
|
|
51
|
+
let start = performance.now();
|
|
52
|
+
const startIdx = halfWindowSize;
|
|
53
|
+
for (let j = startIdx - halfWindowSize; j < startIdx + halfWindowSize; j++) {
|
|
54
|
+
const letter = residues[j];
|
|
55
|
+
if (letter === 'c' || letter === 'C') {
|
|
56
|
+
nc++;
|
|
57
|
+
}
|
|
58
|
+
else if (letter === 'g' || letter === 'G') {
|
|
59
|
+
ng++;
|
|
60
|
+
}
|
|
61
|
+
if (letter !== 'N') {
|
|
62
|
+
len++;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
49
65
|
for (let i = halfWindowSize; i < residues.length - halfWindowSize; i += windowDelta) {
|
|
50
66
|
if (performance.now() - start > 400) {
|
|
51
67
|
checkStopToken(stopToken);
|
|
52
68
|
start = performance.now();
|
|
53
69
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
70
|
+
if (isWindowSizeOneBp) {
|
|
71
|
+
const letter = residues[i];
|
|
72
|
+
nc = letter === 'c' || letter === 'C' ? 1 : 0;
|
|
73
|
+
ng = letter === 'g' || letter === 'G' ? 1 : 0;
|
|
74
|
+
len = letter !== 'N' ? 1 : 0;
|
|
75
|
+
}
|
|
76
|
+
else if (i > halfWindowSize) {
|
|
77
|
+
const prevStart = i - windowDelta - halfWindowSize;
|
|
78
|
+
const prevEnd = i - windowDelta + halfWindowSize;
|
|
79
|
+
const currStart = i - halfWindowSize;
|
|
80
|
+
const currEnd = i + halfWindowSize;
|
|
81
|
+
for (let j = prevStart; j < Math.min(prevEnd, currStart); j++) {
|
|
82
|
+
if (j >= 0 && j < residues.length) {
|
|
83
|
+
const letter = residues[j];
|
|
84
|
+
if (letter === 'c' || letter === 'C') {
|
|
85
|
+
nc--;
|
|
86
|
+
}
|
|
87
|
+
else if (letter === 'g' || letter === 'G') {
|
|
88
|
+
ng--;
|
|
89
|
+
}
|
|
90
|
+
if (letter !== 'N') {
|
|
91
|
+
len--;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
66
94
|
}
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
for (let j = Math.max(prevEnd, currStart); j < currEnd; j++) {
|
|
96
|
+
if (j >= 0 && j < residues.length) {
|
|
97
|
+
const letter = residues[j];
|
|
98
|
+
if (letter === 'c' || letter === 'C') {
|
|
99
|
+
nc++;
|
|
100
|
+
}
|
|
101
|
+
else if (letter === 'g' || letter === 'G') {
|
|
102
|
+
ng++;
|
|
103
|
+
}
|
|
104
|
+
if (letter !== 'N') {
|
|
105
|
+
len++;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
69
108
|
}
|
|
70
109
|
}
|
|
71
110
|
const pos = qs;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-gccontent",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.5",
|
|
4
4
|
"description": "JBrowse 2 gccontent concepts",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"clean": "rimraf dist esm *.tsbuildinfo"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@jbrowse/core": "^3.6.
|
|
40
|
-
"@jbrowse/plugin-linear-genome-view": "^3.6.
|
|
41
|
-
"@jbrowse/plugin-sequence": "^3.6.
|
|
42
|
-
"@jbrowse/plugin-wiggle": "^3.6.
|
|
39
|
+
"@jbrowse/core": "^3.6.5",
|
|
40
|
+
"@jbrowse/plugin-linear-genome-view": "^3.6.5",
|
|
41
|
+
"@jbrowse/plugin-sequence": "^3.6.5",
|
|
42
|
+
"@jbrowse/plugin-wiggle": "^3.6.5",
|
|
43
43
|
"@mui/material": "^7.0.0",
|
|
44
44
|
"mobx": "^6.0.0",
|
|
45
45
|
"mobx-react": "^9.0.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"distModule": "esm/index.js",
|
|
56
56
|
"srcModule": "src/index.ts",
|
|
57
57
|
"module": "esm/index.js",
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "354d0a87b757b4d84f824b47507662f6f3a1693f"
|
|
59
59
|
}
|