@datagrok/bio 2.27.2 → 2.27.3
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/CLAUDE.md +50 -0
- package/dist/682.js +1 -1
- package/dist/682.js.map +1 -1
- package/dist/705.js +1 -1
- package/dist/705.js.map +1 -1
- package/dist/909.js +2 -0
- package/dist/909.js.map +1 -0
- package/dist/immunum_bg.wasm +0 -0
- package/dist/package-test.js +3 -3
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +3 -3
- package/dist/package.js.map +1 -1
- package/package.json +3 -1
- package/src/package-api.ts +15 -1
- package/src/package-test.ts +1 -0
- package/src/package.g.ts +12 -1
- package/src/package.ts +22 -4
- package/src/tests/antibody-numbering-tests.ts +190 -0
- package/src/utils/annotations/numbering-ui.ts +34 -90
- package/src/utils/antibody-numbering/immunum-client.ts +45 -0
- package/src/utils/antibody-numbering/immunum-glue.js +275 -0
- package/src/utils/antibody-numbering/immunum.worker.ts +159 -0
- package/src/utils/antibody-numbering/number-antibody.ts +105 -0
- package/src/utils/antibody-numbering/types.ts +48 -0
- package/test-console-output-1.log +588 -533
- package/test-record-1.mp4 +0 -0
- package/webpack.config.js +13 -0
- package/dist/282.js +0 -2
- package/dist/282.js.map +0 -1
- package/dist/287.js +0 -2
- package/dist/287.js.map +0 -1
- package/dist/422.js +0 -2
- package/dist/422.js.map +0 -1
- package/dist/767.js +0 -2
- package/dist/767.js.map +0 -1
- package/src/utils/antibody-numbering (WIP)/alignment.ts +0 -578
- package/src/utils/antibody-numbering (WIP)/annotator.ts +0 -120
- package/src/utils/antibody-numbering (WIP)/data/blosum62.ts +0 -55
- package/src/utils/antibody-numbering (WIP)/data/consensus-aho.ts +0 -155
- package/src/utils/antibody-numbering (WIP)/data/consensus-imgt.ts +0 -162
- package/src/utils/antibody-numbering (WIP)/data/consensus-kabat.ts +0 -157
- package/src/utils/antibody-numbering (WIP)/data/consensus-martin.ts +0 -152
- package/src/utils/antibody-numbering (WIP)/data/consensus.ts +0 -36
- package/src/utils/antibody-numbering (WIP)/data/regions.ts +0 -63
- package/src/utils/antibody-numbering (WIP)/index.ts +0 -31
- package/src/utils/antibody-numbering (WIP)/testdata.ts +0 -5356
- package/src/utils/antibody-numbering (WIP)/types.ts +0 -69
- /package/dist/{8473fcbfb6e85ca6c852.wasm → wasmCluster.wasm} +0 -0
- /package/dist/{9a8fbf37666e32487835.wasm → wasmDbscan.wasm} +0 -0
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Martin (enhanced Chothia) consensus profiles.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export const MARTIN_H: [number, string[]][] = [
|
|
6
|
-
[1, ['Q', 'E', 'D']], [2, ['V', 'Q']], [3, ['Q', 'K', 'H', 'S', 'T']], [4, ['L', 'V']],
|
|
7
|
-
[5, ['V', 'Q', 'L', 'E', 'K', 'T']], [6, ['E', 'Q', 'A']], [7, ['S', 'P', 'W']],
|
|
8
|
-
[8, ['G', 'E']], [9, ['G', 'A', 'P', 'S']], [10, ['G', 'E', 'D', 'V']],
|
|
9
|
-
[11, ['L', 'V']], [12, ['V', 'K', 'L']], [13, ['K', 'Q', 'R']], [14, ['P', 'A']],
|
|
10
|
-
[15, ['G', 'S', 'T']], [16, ['G', 'A', 'E', 'Q', 'R', 'S', 'D']], [17, ['S', 'T']],
|
|
11
|
-
[18, ['L', 'V']], [19, ['R', 'K', 'S', 'T']], [20, ['L', 'I', 'V', 'M']],
|
|
12
|
-
[21, ['S', 'T']], [22, ['C']], [23, ['A', 'K', 'T', 'V', 'S']],
|
|
13
|
-
[24, ['A', 'V', 'T', 'G', 'I']], [25, ['S', 'T', 'Y']],
|
|
14
|
-
[26, []], [27, []], [28, []], [29, []], [30, []], [31, []], [32, []],
|
|
15
|
-
[33, ['A', 'G', 'W', 'Y', 'D', 'L', 'S', 'T', 'V', 'F']],
|
|
16
|
-
[34, ['M', 'I', 'W', 'V', 'L']], [35, ['A', 'G', 'H', 'N', 'S', 'T', 'Y']],
|
|
17
|
-
[36, ['W']], [37, ['V', 'I', 'F']], [38, ['R', 'K']], [39, ['Q']],
|
|
18
|
-
[40, ['A', 'P', 'R', 'S', 'T', 'M', 'V']], [41, ['P', 'A', 'H']],
|
|
19
|
-
[42, ['G', 'E', 'S']], [43, ['K', 'Q', 'R', 'N']],
|
|
20
|
-
[44, ['G', 'A', 'R', 'S']], [45, ['L']], [46, ['E', 'Q']],
|
|
21
|
-
[47, ['W', 'Y', 'F', 'L']], [48, ['I', 'V', 'K', 'M']], [49, ['A', 'G', 'S']],
|
|
22
|
-
[50, ['A', 'G', 'S', 'D', 'E', 'N', 'T', 'V', 'I', 'L', 'K', 'R', 'Q', 'P', 'F', 'W', 'Y', 'M', 'H', 'C']], [51, ['A', 'G', 'S', 'D', 'E', 'N', 'T', 'V', 'I', 'L', 'K', 'R', 'Q', 'P', 'F', 'W', 'Y', 'M', 'H', 'C']], [52, []], [53, []],
|
|
23
|
-
[54, ['S', 'I', 'T', 'D', 'G', 'R', 'N', 'L', 'A', 'Y', 'F', 'E']],
|
|
24
|
-
[55, ['G', 'S', 'R', 'D', 'W', 'A', 'Y', 'F', 'V', 'N', 'T', 'E', 'L', 'H']],
|
|
25
|
-
[56, ['S', 'E', 'D', 'I', 'R', 'G', 'Y', 'T', 'V', 'N', 'A', 'H', 'K']],
|
|
26
|
-
[57, ['T', 'A', 'I', 'K', 'N', 'P', 'S']],
|
|
27
|
-
[58, ['Y', 'N', 'K', 'D', 'E', 'F', 'G', 'H', 'R', 'S', 'T']], [59, ['Y', 'F']],
|
|
28
|
-
[60, ['A', 'N', 'S', 'P', 'T', 'V', 'G']], [61, ['D', 'E', 'Q', 'A', 'S', 'P']],
|
|
29
|
-
[62, ['S', 'K', 'A', 'W']], [63, ['F', 'V', 'L', 'A']], [64, ['K', 'Q', 'R', 'E']],
|
|
30
|
-
[65, ['G', 'S', 'D', 'N']], [66, ['R', 'K', 'Q']],
|
|
31
|
-
[67, ['F', 'V', 'A', 'L', 'I']], [68, ['T', 'S', 'I']],
|
|
32
|
-
[69, ['I', 'L', 'M', 'V', 'F']], [70, ['S', 'T', 'N']],
|
|
33
|
-
[71, ['R', 'V', 'A', 'K', 'L', 'P', 'T']], [72, ['D', 'N', 'E']],
|
|
34
|
-
[73, ['N', 'S', 'D', 'K', 'T']], [74, ['T', 'Q', 'S', 'I', 'M']],
|
|
35
|
-
[75, ['L', 'A', 'V', 'F']], [76, ['Y', 'S', 'F', 'H', 'T', 'V']],
|
|
36
|
-
[77, ['L', 'M']], [78, ['Q', 'E', 'K', 'D', 'T']],
|
|
37
|
-
[79, ['L', 'M', 'I', 'V', 'W']],
|
|
38
|
-
[80, ['S', 'N', 'D', 'T', 'R', 'A', 'H', 'K']], [81, ['S', 'N', 'R', 'T', 'A', 'K', 'G']],
|
|
39
|
-
[82, ['L', 'M', 'V', 'P']], [83, ['R', 'T', 'K']],
|
|
40
|
-
[84, ['A', 'S', 'T', 'V', 'P']], [85, ['E', 'A', 'D', 'G', 'S', 'V']],
|
|
41
|
-
[86, ['D']], [87, ['T', 'S']], [88, ['A', 'G']],
|
|
42
|
-
[89, ['V', 'T', 'I', 'L', 'M']], [90, ['Y']], [91, ['Y', 'F']], [92, ['C']],
|
|
43
|
-
[93, ['A', 'T', 'V']], [94, ['R', 'K', 'S', 'T', 'A', 'G']],
|
|
44
|
-
[95, []], [96, []], [97, []], [98, []], [99, []], [100, []], [101, []],
|
|
45
|
-
[102, ['Y', 'V', 'I', 'L', 'F', 'P', 'H', 'S']],
|
|
46
|
-
[103, ['W']], [104, ['G']], [105, ['Q', 'P', 'R', 'K', 'A', 'T']],
|
|
47
|
-
[106, ['G']], [107, ['T', 'V', 'A', 'I']], [108, ['L', 'T', 'M', 'S', 'Q', 'P']],
|
|
48
|
-
[109, ['V', 'L', 'I']], [110, ['T', 'I', 'V']], [111, ['V']],
|
|
49
|
-
[112, ['S', 'T']], [113, ['S', 'A']],
|
|
50
|
-
];
|
|
51
|
-
|
|
52
|
-
export const MARTIN_K: [number, string[]][] = [
|
|
53
|
-
[1, ['D', 'E', 'Q', 'N', 'A']], [2, ['I', 'V', 'L']], [3, ['V', 'Q', 'L', 'E', 'K']],
|
|
54
|
-
[4, ['M', 'L', 'V', 'I']], [5, ['T', 'S']], [6, ['Q']],
|
|
55
|
-
[7, ['S', 'T', 'A', 'I']], [8, ['P', 'Q', 'T', 'A', 'H']],
|
|
56
|
-
[9, ['S', 'G', 'L', 'A', 'D', 'K', 'F', 'P', 'V']], [10, ['S', 'T', 'F', 'I']],
|
|
57
|
-
[11, ['L', 'M', 'N', 'Q', 'V']], [12, ['T', 'S', 'A', 'P', 'Y']],
|
|
58
|
-
[13, ['V', 'L', 'A', 'T', 'M']], [14, ['T', 'S', 'A']],
|
|
59
|
-
[15, ['A', 'P', 'I', 'V', 'L']], [16, ['G']],
|
|
60
|
-
[17, ['E', 'Q', 'D', 'G', 'T']], [18, ['K', 'R', 'P', 'T', 'Q', 'S']],
|
|
61
|
-
[19, ['V', 'A', 'I']], [20, ['T', 'S']], [21, ['M', 'L', 'I', 'F']],
|
|
62
|
-
[22, ['S', 'T', 'N']], [23, ['C']],
|
|
63
|
-
[24, ['K', 'R', 'Q', 'S']], [25, ['S', 'A', 'T', 'C']], [26, ['S', 'T', 'G']],
|
|
64
|
-
[27, ['Q', 'G', 'E', 'S', 'K', 'H']], [28, ['S', 'N', 'D', 'E', 'R', 'T', 'G']],
|
|
65
|
-
[29, []], [30, []], [31, []], [32, []],
|
|
66
|
-
[33, ['L', 'M', 'I', 'V', 'F']],
|
|
67
|
-
[34, ['T', 'A', 'N', 'H', 'E', 'G', 'Q', 'Y', 'S', 'D']],
|
|
68
|
-
[35, ['W']], [36, ['Y', 'L', 'F']], [37, ['Q', 'L', 'R']],
|
|
69
|
-
[38, ['Q', 'H', 'E']], [39, ['K', 'R']],
|
|
70
|
-
[40, ['P', 'Q', 'S', 'T']], [41, ['G', 'E', 'D', 'H', 'N']],
|
|
71
|
-
[42, ['Q', 'K', 'S', 'T', 'G', 'E', 'R']], [43, ['P', 'A', 'S', 'T', 'V']],
|
|
72
|
-
[44, ['P', 'I', 'V']], [45, ['K', 'R', 'Q', 'E', 'I', 'T']],
|
|
73
|
-
[46, ['L', 'R', 'T', 'P', 'V', 'A']], [47, ['L', 'W']],
|
|
74
|
-
[48, ['I', 'V', 'M']], [49, ['Y', 'K', 'H', 'S', 'F']],
|
|
75
|
-
[50, ['W', 'G', 'L', 'K', 'N', 'A', 'D', 'Y', 'S', 'E', 'T', 'R', 'Q', 'F', 'V']],
|
|
76
|
-
[51, ['A', 'V', 'T', 'S', 'M', 'G', 'I']], [52, ['S', 'K', 'T', 'N']],
|
|
77
|
-
[53, ['T', 'S', 'K', 'N', 'I', 'D', 'R', 'Y', 'Q', 'F']], [54, ['R', 'L', 'S']],
|
|
78
|
-
[55, ['E', 'A', 'D', 'Q', 'F', 'R', 'Y', 'H', 'I', 'K', 'P', 'G', 'V']],
|
|
79
|
-
[56, ['S', 'T', 'D', 'P', 'A', 'E']], [57, ['G']], [58, ['V', 'I']],
|
|
80
|
-
[59, ['P', 'S', 'A']],
|
|
81
|
-
[60, ['D', 'S', 'A', 'V', 'K', 'G']], [61, ['R']], [62, ['F']],
|
|
82
|
-
[63, ['T', 'S', 'I', 'K', 'R']], [64, ['G', 'S', 'A']],
|
|
83
|
-
[65, ['S', 'G', 'R']], [66, ['G', 'R']], [67, ['S', 'Y']],
|
|
84
|
-
[68, ['G', 'R', 'A']], [69, ['T', 'R', 'S', 'Q']],
|
|
85
|
-
[70, ['D', 'E', 'Q', 'S', 'H', 'Y', 'A']], [71, ['F', 'Y']],
|
|
86
|
-
[72, ['T', 'S']], [73, ['L', 'F']], [74, ['T', 'K', 'N', 'S', 'R']],
|
|
87
|
-
[75, ['I', 'V']], [76, ['N', 'S', 'H', 'T', 'D']],
|
|
88
|
-
[77, ['S', 'R', 'P', 'N', 'G', 'D', 'T']], [78, ['V', 'L', 'M']],
|
|
89
|
-
[79, ['Q', 'E', 'K']], [80, ['A', 'P', 'E', 'S', 'T', 'Q', 'C', 'Y']],
|
|
90
|
-
[81, ['E', 'D']], [82, ['D']],
|
|
91
|
-
[83, ['L', 'F', 'V', 'T', 'A', 'I', 'S', 'M']], [84, ['A', 'G']],
|
|
92
|
-
[85, ['V', 'T', 'S', 'E', 'D', 'L', 'I', 'M']], [86, ['Y', 'F']],
|
|
93
|
-
[87, ['Y', 'F', 'H']], [88, ['C']],
|
|
94
|
-
[89, ['Q', 'W', 'F', 'L', 'H', 'M', 'G', 'A', 'K', 'S', 'V']],
|
|
95
|
-
[90, ['N', 'Q', 'H', 'G']],
|
|
96
|
-
[91, ['D', 'Y', 'G', 'F', 'I', 'S', 'W', 'R', 'T', 'A', 'N', 'H']],
|
|
97
|
-
[92, []], [93, []], [94, []], [95, []],
|
|
98
|
-
[96, ['L', 'Y', 'W', 'F', 'P', 'R', 'A', 'S', 'I', 'V', 'E', 'H', 'T']],
|
|
99
|
-
[97, ['T', 'V', 'I', 'A', 'S', 'F', 'L']], [98, ['F']],
|
|
100
|
-
[99, ['G']], [100, ['A', 'Q', 'S', 'G', 'P']], [101, ['G']],
|
|
101
|
-
[102, ['T']], [103, ['K', 'R', 'E']], [104, ['L', 'V']],
|
|
102
|
-
[105, ['E', 'V', 'D']], [106, ['L', 'I', 'V']], [107, ['K', 'R']],
|
|
103
|
-
];
|
|
104
|
-
|
|
105
|
-
export const MARTIN_L: [number, string[]][] = [
|
|
106
|
-
[1, ['Q', 'S']], [2, ['S', 'Y', 'P', 'A', 'L', 'F']], [3, ['A', 'V', 'E']],
|
|
107
|
-
[4, ['L', 'V']], [5, ['T']], [6, ['Q']], [7, ['P', 'E', 'S']],
|
|
108
|
-
[8, ['A', 'P', 'S', 'R']], [9, ['S', 'A']], [10, []],
|
|
109
|
-
[11, ['V', 'L', 'A']], [12, ['S', 'T']],
|
|
110
|
-
[13, ['G', 'V', 'A', 'T', 'K', 'E', 'F']], [14, ['S', 'A', 'T']],
|
|
111
|
-
[15, ['P', 'L']], [16, ['G']], [17, ['Q', 'E', 'K', 'A']],
|
|
112
|
-
[18, ['S', 'T', 'K', 'R']], [19, ['I', 'A', 'V']],
|
|
113
|
-
[20, ['T', 'R', 'S', 'K']], [21, ['I', 'L']], [22, ['S', 'T']], [23, ['C']],
|
|
114
|
-
[24, ['T', 'G', 'Q', 'S', 'A', 'N', 'R']], [25, ['G', 'S', 'L', 'R']],
|
|
115
|
-
[26, ['T', 'N', 'D', 'S']],
|
|
116
|
-
[27, ['Q', 'T', 'N', 'S', 'K', 'A', 'R']], [28, ['S', 'I', 'L', 'N', 'G', 'Q']],
|
|
117
|
-
[29, ['S', 'D', 'G', 'N', 'A', 'R', 'H']],
|
|
118
|
-
[30, []], [31, ['N', 'K', 'D', 'R', 'Y']],
|
|
119
|
-
[32, ['F', 'S', 'L', 'A', 'Y', 'T', 'D', 'G', 'N']],
|
|
120
|
-
[33, ['V', 'A', 'I']], [34, ['S', 'H', 'Q', 'C', 'N', 'Y', 'E']],
|
|
121
|
-
[35, ['W']], [36, ['Y', 'F', 'V']], [37, ['Q']],
|
|
122
|
-
[38, ['Q', 'H', 'E']], [39, ['H', 'K', 'R', 'L', 'F', 'V', 'Q']],
|
|
123
|
-
[40, ['P', 'A', 'S']], [41, ['G', 'D', 'L']],
|
|
124
|
-
[42, ['K', 'Q', 'T', 'R', 'H', 'S', 'A', 'M']], [43, ['A', 'S', 'L', 'P', 'G']],
|
|
125
|
-
[44, ['P', 'F']], [45, ['K', 'V', 'S', 'R', 'T', 'I']],
|
|
126
|
-
[46, ['L', 'V', 'G', 'Y', 'T']], [47, ['I', 'V', 'M', 'L']],
|
|
127
|
-
[48, ['I', 'V', 'L', 'M']], [49, ['F', 'Y', 'G', 'S', 'E']],
|
|
128
|
-
[50, ['D', 'A', 'N', 'E', 'Q', 'Y', 'G', 'V', 'R', 'L', 'K']],
|
|
129
|
-
[51, ['V', 'D', 'N', 'T', 'K']], [52, ['T', 'S', 'Q', 'N', 'D', 'K']],
|
|
130
|
-
[53, ['N', 'D', 'K', 'Q', 'E', 'S', 'H']], [54, ['R', 'T']],
|
|
131
|
-
[55, ['P', 'A', 'G']], [56, ['S', 'P', 'D']], [57, ['G']],
|
|
132
|
-
[58, ['I', 'V']], [59, ['S', 'P']],
|
|
133
|
-
[60, ['N', 'E', 'A', 'D']], [61, ['R']], [62, ['F']], [63, ['S']],
|
|
134
|
-
[64, ['G']], [65, ['S']], [66, ['K', 'N', 'P', 'L', 'I', 'S']],
|
|
135
|
-
[67, ['S', 'D', 'I']], [68, ['G', 'A']],
|
|
136
|
-
[69, ['N', 'T', 'D', 'S', 'A']], [70, ['T', 'K', 'S', 'R']],
|
|
137
|
-
[71, ['A', 'R']], [72, ['S', 'T', 'A', 'Y']], [73, ['L']],
|
|
138
|
-
[74, ['T', 'G', 'A', 'S']], [75, ['I', 'V']], [76, ['S', 'T']],
|
|
139
|
-
[77, ['G', 'R', 'S', 'N']], [78, ['L', 'V', 'T', 'A', 'I']],
|
|
140
|
-
[79, ['Q', 'E', 'R']], [80, ['A', 'S', 'P', 'T']],
|
|
141
|
-
[81, ['E', 'G', 'M', 'D']], [82, ['D']], [83, ['E']],
|
|
142
|
-
[84, ['A', 'G']], [85, ['D', 'I', 'E']], [86, ['Y']],
|
|
143
|
-
[87, ['Y', 'F', 'I']], [88, ['C']],
|
|
144
|
-
[89, ['A', 'Q', 'C', 'H', 'G', 'S']], [90, ['A', 'V', 'L', 'S', 'T', 'M']],
|
|
145
|
-
[91, ['Y', 'W', 'L', 'R', 'G']],
|
|
146
|
-
[92, []], [93, []], [94, []], [95, []],
|
|
147
|
-
[96, ['L', 'V', 'W', 'R', 'P', 'Y', 'S', 'F', 'A']],
|
|
148
|
-
[97, ['L', 'T', 'V', 'I', 'A', 'F', 'S']], [98, ['F']],
|
|
149
|
-
[99, ['G']], [100, ['G', 'T', 'S']], [101, ['G']],
|
|
150
|
-
[102, ['T']], [103, ['K', 'T', 'R', 'Q']], [104, ['V', 'L']],
|
|
151
|
-
[105, ['T']], [106, ['V']], [107, ['L', 'K']],
|
|
152
|
-
];
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Central consensus profile registry.
|
|
3
|
-
* Maps (scheme, chainType) -> profile data.
|
|
4
|
-
*/
|
|
5
|
-
import type { Scheme, ChainType } from '../types';
|
|
6
|
-
import { IMGT_H, IMGT_K, IMGT_L, CTERM_H, CTERM_K, CTERM_L } from './consensus-imgt';
|
|
7
|
-
import { KABAT_H, KABAT_K, KABAT_L } from './consensus-kabat';
|
|
8
|
-
import { MARTIN_H, MARTIN_K, MARTIN_L } from './consensus-martin';
|
|
9
|
-
import { AHO_H, AHO_K, AHO_L } from './consensus-aho';
|
|
10
|
-
|
|
11
|
-
export type ProfileData = [number, string[]][];
|
|
12
|
-
|
|
13
|
-
/** Get the consensus profile for a given scheme and chain type */
|
|
14
|
-
export function getConsensusProfile(scheme: Scheme, chain: ChainType): ProfileData {
|
|
15
|
-
const key = `${scheme}_${chain}`;
|
|
16
|
-
const profiles: Record<string, ProfileData> = {
|
|
17
|
-
imgt_H: IMGT_H, imgt_K: IMGT_K, imgt_L: IMGT_L,
|
|
18
|
-
kabat_H: KABAT_H, kabat_K: KABAT_K, kabat_L: KABAT_L,
|
|
19
|
-
chothia_H: MARTIN_H, chothia_K: MARTIN_K, chothia_L: MARTIN_L,
|
|
20
|
-
aho_H: AHO_H, aho_K: AHO_K, aho_L: AHO_L,
|
|
21
|
-
};
|
|
22
|
-
return profiles[key] ?? IMGT_H;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/** Get the C-terminal finder profile for a chain type */
|
|
26
|
-
export function getCtermProfile(chain: ChainType): ProfileData {
|
|
27
|
-
const profiles: Record<ChainType, ProfileData> = {
|
|
28
|
-
H: CTERM_H, K: CTERM_K, L: CTERM_L,
|
|
29
|
-
};
|
|
30
|
-
return profiles[chain];
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { IMGT_H, IMGT_K, IMGT_L, CTERM_H, CTERM_K, CTERM_L };
|
|
34
|
-
export { KABAT_H, KABAT_K, KABAT_L };
|
|
35
|
-
export { MARTIN_H, MARTIN_K, MARTIN_L };
|
|
36
|
-
export { AHO_H, AHO_K, AHO_L };
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Region definitions per scheme, keyed by chain group.
|
|
3
|
-
* Each region: [name, startPosition, endPosition].
|
|
4
|
-
* Mirrors the Python number_antibody.py definitions.
|
|
5
|
-
*/
|
|
6
|
-
import type { Scheme, ChainGroup } from '../types';
|
|
7
|
-
|
|
8
|
-
export type RegionDef = [name: string, start: number, end: number];
|
|
9
|
-
|
|
10
|
-
const IMGT_REGIONS: Record<ChainGroup, RegionDef[]> = {
|
|
11
|
-
Heavy: [
|
|
12
|
-
['FR1', 1, 26], ['CDR1', 27, 38], ['FR2', 39, 55],
|
|
13
|
-
['CDR2', 56, 65], ['FR3', 66, 104], ['CDR3', 105, 117], ['FR4', 118, 128],
|
|
14
|
-
],
|
|
15
|
-
Light: [
|
|
16
|
-
['FR1', 1, 26], ['CDR1', 27, 38], ['FR2', 39, 55],
|
|
17
|
-
['CDR2', 56, 65], ['FR3', 66, 104], ['CDR3', 105, 117], ['FR4', 118, 127],
|
|
18
|
-
],
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const KABAT_REGIONS: Record<ChainGroup, RegionDef[]> = {
|
|
22
|
-
Heavy: [
|
|
23
|
-
['FR1', 1, 30], ['CDR1', 31, 35], ['FR2', 36, 49],
|
|
24
|
-
['CDR2', 50, 65], ['FR3', 66, 94], ['CDR3', 95, 102], ['FR4', 103, 113],
|
|
25
|
-
],
|
|
26
|
-
Light: [
|
|
27
|
-
['FR1', 1, 23], ['CDR1', 24, 34], ['FR2', 35, 49],
|
|
28
|
-
['CDR2', 50, 56], ['FR3', 57, 88], ['CDR3', 89, 97], ['FR4', 98, 107],
|
|
29
|
-
],
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const CHOTHIA_REGIONS: Record<ChainGroup, RegionDef[]> = {
|
|
33
|
-
Heavy: [
|
|
34
|
-
['FR1', 1, 25], ['CDR1', 26, 32], ['FR2', 33, 51],
|
|
35
|
-
['CDR2', 52, 56], ['FR3', 57, 94], ['CDR3', 95, 102], ['FR4', 103, 113],
|
|
36
|
-
],
|
|
37
|
-
Light: [
|
|
38
|
-
['FR1', 1, 25], ['CDR1', 26, 32], ['FR2', 33, 49],
|
|
39
|
-
['CDR2', 50, 52], ['FR3', 53, 90], ['CDR3', 91, 96], ['FR4', 97, 107],
|
|
40
|
-
],
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const AHO_REGIONS: Record<ChainGroup, RegionDef[]> = {
|
|
44
|
-
Heavy: [
|
|
45
|
-
['FR1', 1, 24], ['CDR1', 25, 40], ['FR2', 41, 55],
|
|
46
|
-
['CDR2', 56, 78], ['FR3', 79, 108], ['CDR3', 109, 138], ['FR4', 139, 149],
|
|
47
|
-
],
|
|
48
|
-
Light: [
|
|
49
|
-
['FR1', 1, 24], ['CDR1', 25, 40], ['FR2', 41, 55],
|
|
50
|
-
['CDR2', 56, 78], ['FR3', 79, 108], ['CDR3', 109, 138], ['FR4', 139, 149],
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
const SCHEME_REGIONS: Record<Scheme, Record<ChainGroup, RegionDef[]>> = {
|
|
55
|
-
imgt: IMGT_REGIONS,
|
|
56
|
-
kabat: KABAT_REGIONS,
|
|
57
|
-
chothia: CHOTHIA_REGIONS,
|
|
58
|
-
aho: AHO_REGIONS,
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
export function getRegions(scheme: Scheme, chainGroup: ChainGroup): RegionDef[] {
|
|
62
|
-
return SCHEME_REGIONS[scheme]?.[chainGroup] ?? IMGT_REGIONS.Heavy;
|
|
63
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* antibody-numbering - Browser-compatible antibody sequence numbering library.
|
|
3
|
-
*
|
|
4
|
-
* Assigns antibody numbering (IMGT/Kabat/Chothia/AHo) to amino acid sequences
|
|
5
|
-
* using profile-based alignment against consensus sequences.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { numberSequence } from 'antibody-numbering';
|
|
10
|
-
*
|
|
11
|
-
* const result = numberSequence(
|
|
12
|
-
* 'QVQLVQSGAEVKKPGASVKVSCKASGYTFTGYYMHWVRQAPGQGLEWMGWINPNSGGTNYAQKFQGRVTMTRDTSISTAYMELSRLRSDDTAVYYCAR',
|
|
13
|
-
* 'imgt'
|
|
14
|
-
* );
|
|
15
|
-
*
|
|
16
|
-
* console.log(result.chainType); // 'Heavy'
|
|
17
|
-
* console.log(result.numberingDetail); // [{ position: '1', aa: 'Q' }, ...]
|
|
18
|
-
* console.log(result.annotations); // [{ name: 'FR1', ... }, ...]
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
export { numberSequence, numberSequences, extractSequence } from './annotator';
|
|
23
|
-
export type {
|
|
24
|
-
Scheme,
|
|
25
|
-
ChainType,
|
|
26
|
-
ChainGroup,
|
|
27
|
-
NumberingResult,
|
|
28
|
-
NumberingEntry,
|
|
29
|
-
RegionAnnotation,
|
|
30
|
-
AlignmentResult,
|
|
31
|
-
} from './types';
|