@datagrok/bio 1.1.0 → 1.3.0
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/detectors.js +200 -1
- package/dist/package-test.js +3839 -3576
- package/dist/package.js +3445 -3131
- package/package.json +2 -2
- package/src/package-test.ts +7 -4
- package/src/package.ts +9 -0
- package/src/tests/{Palettes.test.ts → Palettes-test.ts} +2 -2
- package/src/tests/WebLogo-test.ts +127 -0
- package/src/tests/detectors-test.ts +135 -0
- package/src/viewers/vd-regions-viewer.ts +274 -0
- package/{test-Bio-3109311545e4-04060aee.html → test-Bio-ea88b3c1054c-d589d38a.html} +2 -2
- package/src/tests/WebLogo.test.ts +0 -132
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import {after, before, category, test, expect, expectObject} from '@datagrok-libraries/utils/src/test';
|
|
2
|
-
|
|
3
|
-
import * as grok from 'datagrok-api/grok';
|
|
4
|
-
import * as ui from 'datagrok-api/ui';
|
|
5
|
-
import * as DG from 'datagrok-api/dg';
|
|
6
|
-
|
|
7
|
-
import {Nucleotides, NucleotidesPalettes} from '@datagrok-libraries/bio/src/nucleotides';
|
|
8
|
-
import {Aminoacids, AminoacidsPalettes} from '@datagrok-libraries/bio/src/aminoacids';
|
|
9
|
-
import {WebLogo} from '@datagrok-libraries/bio/src/viewers/web-logo';
|
|
10
|
-
import {SeqPalette} from '@datagrok-libraries/bio/src/seq-palettes';
|
|
11
|
-
import {UnknownSeqPalette} from '@datagrok-libraries/bio/src/unknown';
|
|
12
|
-
|
|
13
|
-
category('WebLogo', () => {
|
|
14
|
-
test('testGetAlphabetSimilarity', async () => { _testGetAlphabetSimilarity(); });
|
|
15
|
-
|
|
16
|
-
test('testPickupPaletteN1', async () => { _testPickupPaletteN1(); });
|
|
17
|
-
test('testPickupPaletteAA1', async () => { _testPickupPaletteAA1(); });
|
|
18
|
-
|
|
19
|
-
// dfAA2 is too similar to nucleotides
|
|
20
|
-
// test('testPickupPaletteAA2', async () => {
|
|
21
|
-
// _testPickupPaletteAA2();
|
|
22
|
-
// });
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const dfN1: DG.DataFrame = DG.DataFrame.fromCsv(
|
|
26
|
-
`seq
|
|
27
|
-
ACGTCT
|
|
28
|
-
CAGTGT
|
|
29
|
-
TTCAAC
|
|
30
|
-
`);
|
|
31
|
-
|
|
32
|
-
/** 2 - is an error monomer
|
|
33
|
-
* This sequence set should be classified as nucleotides sequences.
|
|
34
|
-
* Small error, not similar to amino acids.
|
|
35
|
-
*/
|
|
36
|
-
const dfN1e: DG.DataFrame = DG.DataFrame.fromCsv(
|
|
37
|
-
`seq
|
|
38
|
-
ACGTAT
|
|
39
|
-
CAGTTG
|
|
40
|
-
TTCG2C
|
|
41
|
-
`);
|
|
42
|
-
|
|
43
|
-
/** Pure amino acids sequence */
|
|
44
|
-
const dfAA1: DG.DataFrame = DG.DataFrame.fromCsv(
|
|
45
|
-
`seq
|
|
46
|
-
FWPHEYV
|
|
47
|
-
YNRQWYV
|
|
48
|
-
MKPSEYV
|
|
49
|
-
`);
|
|
50
|
-
|
|
51
|
-
/** A - alanine, G - glycine, T -= threonine, C - cysteine, W - tryptophan
|
|
52
|
-
* This sequence set should be detected as amino acids more than nucleotides.
|
|
53
|
-
*/
|
|
54
|
-
const dfAA2: DG.DataFrame = DG.DataFrame.fromCsv(
|
|
55
|
-
`seq
|
|
56
|
-
AGTCAT
|
|
57
|
-
AGTCGC
|
|
58
|
-
AGTCATW
|
|
59
|
-
`);
|
|
60
|
-
|
|
61
|
-
/** This sequence set should be recognized as unknown. */
|
|
62
|
-
const dfX: DG.DataFrame = DG.DataFrame.fromCsv(
|
|
63
|
-
`seq
|
|
64
|
-
XZJ{}2
|
|
65
|
-
5Z4733
|
|
66
|
-
3Z6></
|
|
67
|
-
675687
|
|
68
|
-
`);
|
|
69
|
-
|
|
70
|
-
export function _testGetAlphabetFreqs() {
|
|
71
|
-
const seqCol: DG.Column = dfN1.col('seq')!;
|
|
72
|
-
const mFreq = WebLogo.getAlphabetFreqs(seqCol);
|
|
73
|
-
|
|
74
|
-
expectObject(mFreq, {
|
|
75
|
-
'A': 4,
|
|
76
|
-
'C': 5,
|
|
77
|
-
'G': 3,
|
|
78
|
-
'T': 6
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export function _testGetAlphabetSimilarity() {
|
|
83
|
-
const freq: { [m: string]: number } = {
|
|
84
|
-
'A': 2041,
|
|
85
|
-
'C': 3015,
|
|
86
|
-
'G': 3015,
|
|
87
|
-
'T': 2048,
|
|
88
|
-
'-': 1000
|
|
89
|
-
};
|
|
90
|
-
const alphabet: Set<string> = new Set(Object.keys(Nucleotides.Names));
|
|
91
|
-
const res = WebLogo.getAlphabetSimilarity(freq, alphabet);
|
|
92
|
-
|
|
93
|
-
expect(res > 0.6, true);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export function _testPickupPaletteN1() {
|
|
97
|
-
const seqCol: DG.Column = dfN1.col('seq')!;
|
|
98
|
-
const cp = WebLogo.pickUpPalette(seqCol);
|
|
99
|
-
|
|
100
|
-
expect(cp instanceof NucleotidesPalettes, true);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function _testPickupPaletteAA1() {
|
|
104
|
-
const seqCol: DG.Column = dfAA1.col('seq')!;
|
|
105
|
-
const cp = WebLogo.pickUpPalette(seqCol);
|
|
106
|
-
|
|
107
|
-
expect(cp instanceof AminoacidsPalettes, true);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export function _testPickupPaletteAA2() {
|
|
111
|
-
const seqCol: DG.Column = dfAA2.col('seq')!;
|
|
112
|
-
const cp = WebLogo.pickUpPalette(seqCol);
|
|
113
|
-
|
|
114
|
-
expect(cp instanceof AminoacidsPalettes, true);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export function _testPickupPaletteAll() {
|
|
118
|
-
const seqColN1: DG.Column = dfN1.col('seq')!;
|
|
119
|
-
const seqColAA1: DG.Column = dfAA1.col('seq')!;
|
|
120
|
-
const seqColAA2: DG.Column = dfAA2.col('seq')!;
|
|
121
|
-
const seqColX: DG.Column = dfX.col('seq')!;
|
|
122
|
-
|
|
123
|
-
const cpN1: SeqPalette = WebLogo.pickUpPalette(seqColN1);
|
|
124
|
-
const cpAA1: SeqPalette = WebLogo.pickUpPalette(seqColAA1);
|
|
125
|
-
const cpAA2: SeqPalette = WebLogo.pickUpPalette(seqColAA2);
|
|
126
|
-
const cpX: SeqPalette = WebLogo.pickUpPalette(seqColX);
|
|
127
|
-
|
|
128
|
-
expect(cpN1 instanceof NucleotidesPalettes, true);
|
|
129
|
-
expect(cpAA1 instanceof AminoacidsPalettes, true);
|
|
130
|
-
expect(cpAA2 instanceof AminoacidsPalettes, true);
|
|
131
|
-
expect(cpX instanceof UnknownSeqPalette, true);
|
|
132
|
-
}
|