protvista-uniprot 2.13.2 → 3.0.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/dist/es/__spec__/filter-config.spec.d.ts +1 -0
- package/dist/es/__spec__/filter-config.spec.js +123 -0
- package/dist/es/__spec__/filter-config.spec.js.map +1 -0
- package/dist/es/adapters/__tests__/__mocks__/uniprotkb-entry-data.d.ts +47 -0
- package/dist/es/adapters/__tests__/__mocks__/uniprotkb-entry-data.js +75 -0
- package/dist/es/adapters/__tests__/__mocks__/uniprotkb-entry-data.js.map +1 -0
- package/dist/es/adapters/__tests__/structure-adapter.spec.d.ts +1 -0
- package/dist/es/adapters/__tests__/structure-adapter.spec.js +14 -0
- package/dist/es/adapters/__tests__/structure-adapter.spec.js.map +1 -0
- package/dist/es/adapters/alphafold-confidence-adapter.d.ts +8 -0
- package/dist/es/{protvista-alphafold-confidence.js → adapters/alphafold-confidence-adapter.js} +4 -3
- package/dist/es/adapters/alphafold-confidence-adapter.js.map +1 -0
- package/dist/es/adapters/alphamissense-heatmap-adapter.d.ts +8 -0
- package/dist/es/{protvista-alphamissense-heatmap.js → adapters/alphamissense-heatmap-adapter.js} +4 -3
- package/dist/es/adapters/alphamissense-heatmap-adapter.js.map +1 -0
- package/dist/es/adapters/alphamissense-pathogenicity-adapter.d.ts +10 -0
- package/dist/es/{protvista-alphamissense-pathogenicity.js → adapters/alphamissense-pathogenicity-adapter.js} +3 -2
- package/dist/es/adapters/alphamissense-pathogenicity-adapter.js.map +1 -0
- package/dist/es/adapters/config/evidence.d.ts +14 -0
- package/dist/es/adapters/config/evidence.js +101 -0
- package/dist/es/adapters/config/evidence.js.map +1 -0
- package/dist/es/adapters/feature-adapter.d.ts +2 -0
- package/dist/es/adapters/feature-adapter.js +18 -0
- package/dist/es/adapters/feature-adapter.js.map +1 -0
- package/dist/es/adapters/interpro-adapter.d.ts +2 -0
- package/dist/es/adapters/interpro-adapter.js +60 -0
- package/dist/es/adapters/interpro-adapter.js.map +1 -0
- package/dist/es/adapters/proteomics-adapter.d.ts +2 -0
- package/dist/es/adapters/proteomics-adapter.js +66 -0
- package/dist/es/adapters/proteomics-adapter.js.map +1 -0
- package/dist/es/{protvista-ptm-exchange.d.ts → adapters/ptm-exchange-adapter.d.ts} +2 -2
- package/dist/es/{protvista-ptm-exchange.js → adapters/ptm-exchange-adapter.js} +3 -2
- package/dist/es/adapters/ptm-exchange-adapter.js.map +1 -0
- package/dist/es/adapters/structure-adapter.d.ts +4 -0
- package/dist/es/adapters/structure-adapter.js +89 -0
- package/dist/es/adapters/structure-adapter.js.map +1 -0
- package/dist/es/adapters/types/alphafold.js +2 -0
- package/dist/es/adapters/types/alphafold.js.map +1 -0
- package/dist/es/adapters/variation-adapter.d.ts +7 -0
- package/dist/es/adapters/variation-adapter.js +31 -0
- package/dist/es/adapters/variation-adapter.js.map +1 -0
- package/dist/es/{protvista-variation-graph-adapter.d.ts → adapters/variation-graph-adapter.d.ts} +2 -1
- package/dist/es/{protvista-variation-graph-adapter.js → adapters/variation-graph-adapter.js} +12 -5
- package/dist/es/adapters/variation-graph-adapter.js.map +1 -0
- package/dist/es/config.json +54 -54
- package/dist/es/filter-config.d.ts +24 -0
- package/dist/es/{filterConfig.js → filter-config.js} +1 -1
- package/dist/es/filter-config.js.map +1 -0
- package/dist/es/index.d.ts +6 -11
- package/dist/es/index.js +6 -16
- package/dist/es/index.js.map +1 -1
- package/dist/es/protvista-uniprot-structure.js +15 -9
- package/dist/es/protvista-uniprot-structure.js.map +1 -1
- package/dist/es/protvista-uniprot.d.ts +1 -100
- package/dist/es/protvista-uniprot.js +46 -60
- package/dist/es/protvista-uniprot.js.map +1 -1
- package/dist/es/styles/protvista-styles.js +2 -1
- package/dist/es/styles/protvista-styles.js.map +1 -1
- package/dist/es/tooltips/featureTooltip.d.ts +4 -0
- package/dist/es/tooltips/featureTooltip.js +160 -0
- package/dist/es/tooltips/featureTooltip.js.map +1 -0
- package/dist/es/tooltips/structureTooltip.d.ts +2 -0
- package/dist/es/tooltips/structureTooltip.js +15 -0
- package/dist/es/tooltips/structureTooltip.js.map +1 -0
- package/dist/es/tooltips/variationTooltip.d.ts +3 -0
- package/dist/es/tooltips/variationTooltip.js +82 -0
- package/dist/es/tooltips/variationTooltip.js.map +1 -0
- package/dist/es/utils.d.ts +3 -0
- package/dist/es/utils.js +28 -0
- package/dist/es/utils.js.map +1 -0
- package/dist/protvista-uniprot.js +24 -13
- package/dist/protvista-uniprot.js.map +1 -1
- package/package.json +25 -30
- package/src/__spec__/filter-config.spec.ts +143 -0
- package/src/adapters/__tests__/__mocks__/uniprotkb-entry-data.ts +76 -0
- package/src/adapters/__tests__/__snapshots__/structure-adapter.spec.ts.snap +157 -0
- package/src/adapters/__tests__/structure-adapter.spec.ts +19 -0
- package/src/{protvista-alphafold-confidence.ts → adapters/alphafold-confidence-adapter.ts} +5 -3
- package/src/{protvista-alphamissense-heatmap.ts → adapters/alphamissense-heatmap-adapter.ts} +8 -4
- package/src/{protvista-alphamissense-pathogenicity.ts → adapters/alphamissense-pathogenicity-adapter.ts} +4 -2
- package/src/adapters/config/evidence.ts +105 -0
- package/src/adapters/feature-adapter.ts +19 -0
- package/src/adapters/interpro-adapter.ts +71 -0
- package/src/adapters/proteomics-adapter.ts +76 -0
- package/src/{protvista-ptm-exchange.ts → adapters/ptm-exchange-adapter.ts} +3 -1
- package/src/adapters/structure-adapter.ts +105 -0
- package/src/adapters/variation-adapter.ts +44 -0
- package/src/{protvista-variation-graph-adapter.ts → adapters/variation-graph-adapter.ts} +25 -18
- package/src/config.json +54 -54
- package/src/{filterConfig.ts → filter-config.ts} +17 -12
- package/src/index.ts +14 -18
- package/src/protvista-uniprot-structure.ts +6 -14
- package/src/protvista-uniprot.ts +66 -96
- package/src/styles/protvista-styles.ts +2 -1
- package/src/tooltips/featureTooltip.ts +223 -0
- package/src/tooltips/structureTooltip.ts +20 -0
- package/src/tooltips/variationTooltip.ts +139 -0
- package/src/utils.ts +37 -0
- package/dist/es/commonTypes.js +0 -2
- package/dist/es/commonTypes.js.map +0 -1
- package/dist/es/filterConfig.d.ts +0 -20
- package/dist/es/filterConfig.js.map +0 -1
- package/dist/es/loadComponents.d.ts +0 -2
- package/dist/es/loadComponents.js +0 -7
- package/dist/es/loadComponents.js.map +0 -1
- package/dist/es/protvista-alphafold-confidence.d.ts +0 -9
- package/dist/es/protvista-alphafold-confidence.js.map +0 -1
- package/dist/es/protvista-alphamissense-heatmap.d.ts +0 -8
- package/dist/es/protvista-alphamissense-heatmap.js.map +0 -1
- package/dist/es/protvista-alphamissense-pathogenicity.d.ts +0 -10
- package/dist/es/protvista-alphamissense-pathogenicity.js.map +0 -1
- package/dist/es/protvista-ptm-exchange.js.map +0 -1
- package/dist/es/protvista-variation-graph-adapter.js.map +0 -1
- package/src/loadComponents.ts +0 -10
- package/src/types/nightingale-components.d.ts +0 -13
- package/src/types/nightingale-sequence-heatmap.d.ts +0 -1
- package/src/types/protvista-feature-adapter.d.ts +0 -1
- package/src/types/protvista-interpro-adapter.d.ts +0 -1
- package/src/types/protvista-proteomics-adapter.d.ts +0 -1
- package/src/types/protvista-structure-adapter.d.ts +0 -1
- package/src/types/protvista-structure.d.ts +0 -1
- package/src/types/protvista-variation.d.ts +0 -15
- /package/dist/es/{commonTypes.d.ts → adapters/types/alphafold.d.ts} +0 -0
- /package/src/{commonTypes.ts → adapters/types/alphafold.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { colorConfig, getFilteredVariants, } from '../filter-config';
|
|
2
|
+
const transformedVariantPositions = [
|
|
3
|
+
{
|
|
4
|
+
variants: [
|
|
5
|
+
{
|
|
6
|
+
accession: 'A',
|
|
7
|
+
begin: 1,
|
|
8
|
+
end: 1,
|
|
9
|
+
start: 1,
|
|
10
|
+
tooltipContent: '',
|
|
11
|
+
sourceType: 'source',
|
|
12
|
+
variant: 'V',
|
|
13
|
+
protvistaFeatureId: 'id1',
|
|
14
|
+
xrefNames: [],
|
|
15
|
+
type: 'VARIANT',
|
|
16
|
+
wildType: 'A',
|
|
17
|
+
alternativeSequence: 'V',
|
|
18
|
+
consequenceType: 'disease',
|
|
19
|
+
clinicalSignificances: [
|
|
20
|
+
{
|
|
21
|
+
type: 'Variant of uncertain significance',
|
|
22
|
+
sources: ['Ensembl'],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
xrefs: [],
|
|
26
|
+
hasPredictions: false,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
accession: 'B',
|
|
30
|
+
begin: 1,
|
|
31
|
+
end: 1,
|
|
32
|
+
start: 1,
|
|
33
|
+
tooltipContent: '',
|
|
34
|
+
sourceType: 'source',
|
|
35
|
+
variant: 'D',
|
|
36
|
+
protvistaFeatureId: 'id2',
|
|
37
|
+
xrefNames: [],
|
|
38
|
+
type: 'VARIANT',
|
|
39
|
+
wildType: 'A',
|
|
40
|
+
alternativeSequence: 'D',
|
|
41
|
+
consequenceType: 'disease',
|
|
42
|
+
xrefs: [],
|
|
43
|
+
hasPredictions: false,
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
variants: [
|
|
49
|
+
{
|
|
50
|
+
accession: 'C',
|
|
51
|
+
begin: 2,
|
|
52
|
+
end: 2,
|
|
53
|
+
start: 2,
|
|
54
|
+
tooltipContent: '',
|
|
55
|
+
sourceType: 'source',
|
|
56
|
+
variant: 'V',
|
|
57
|
+
protvistaFeatureId: 'id1',
|
|
58
|
+
xrefNames: [],
|
|
59
|
+
type: 'VARIANT',
|
|
60
|
+
wildType: 'A',
|
|
61
|
+
alternativeSequence: 'V',
|
|
62
|
+
consequenceType: 'disease',
|
|
63
|
+
xrefs: [],
|
|
64
|
+
hasPredictions: false,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
variants: [
|
|
70
|
+
{
|
|
71
|
+
accession: 'D',
|
|
72
|
+
begin: 3,
|
|
73
|
+
end: 3,
|
|
74
|
+
start: 3,
|
|
75
|
+
tooltipContent: '',
|
|
76
|
+
sourceType: 'source',
|
|
77
|
+
variant: 'V',
|
|
78
|
+
protvistaFeatureId: 'id1',
|
|
79
|
+
xrefNames: [],
|
|
80
|
+
type: 'VARIANT',
|
|
81
|
+
wildType: 'A',
|
|
82
|
+
alternativeSequence: 'V',
|
|
83
|
+
consequenceType: 'disease',
|
|
84
|
+
siftScore: 0.5,
|
|
85
|
+
xrefs: [],
|
|
86
|
+
hasPredictions: false,
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
describe('Variation filter config', () => {
|
|
92
|
+
test('it should filter according to the callback function', () => {
|
|
93
|
+
const filteredVariants = getFilteredVariants(transformedVariantPositions, (variant) => variant.accession === 'A');
|
|
94
|
+
expect(filteredVariants).toEqual([
|
|
95
|
+
{
|
|
96
|
+
variants: [transformedVariantPositions[0].variants[0]],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
variants: [],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
variants: [],
|
|
103
|
+
},
|
|
104
|
+
]);
|
|
105
|
+
});
|
|
106
|
+
test('it should get the right colour for disease', () => {
|
|
107
|
+
const firstVariant = colorConfig(transformedVariantPositions[0].variants[0]);
|
|
108
|
+
expect(firstVariant).toEqual('#009e73');
|
|
109
|
+
});
|
|
110
|
+
test('it should get the right colour for non disease', () => {
|
|
111
|
+
const secondVariant = colorConfig(transformedVariantPositions[0].variants[1]);
|
|
112
|
+
expect(secondVariant).toEqual('#009e73');
|
|
113
|
+
});
|
|
114
|
+
test('it should get the right colour for other', () => {
|
|
115
|
+
const thirdVariant = colorConfig(transformedVariantPositions === null || transformedVariantPositions === void 0 ? void 0 : transformedVariantPositions[1].variants[0]);
|
|
116
|
+
expect(thirdVariant).toEqual('#009e73');
|
|
117
|
+
});
|
|
118
|
+
test('it should get the right colour for predicted', () => {
|
|
119
|
+
const thirdVariant = colorConfig(transformedVariantPositions[2].variants[0]);
|
|
120
|
+
expect(thirdVariant).toEqual('#009e73');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=filter-config.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-config.spec.js","sourceRoot":"","sources":["../../../src/__spec__/filter-config.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare const data: {
|
|
2
|
+
accession: string;
|
|
3
|
+
id: string;
|
|
4
|
+
dbReferences: ({
|
|
5
|
+
type: string;
|
|
6
|
+
id: string;
|
|
7
|
+
properties?: undefined;
|
|
8
|
+
} | {
|
|
9
|
+
type: string;
|
|
10
|
+
id: string;
|
|
11
|
+
properties: {
|
|
12
|
+
method: string;
|
|
13
|
+
resolution: string;
|
|
14
|
+
chains?: undefined;
|
|
15
|
+
'match status'?: undefined;
|
|
16
|
+
'entry name'?: undefined;
|
|
17
|
+
};
|
|
18
|
+
} | {
|
|
19
|
+
type: string;
|
|
20
|
+
id: string;
|
|
21
|
+
properties: {
|
|
22
|
+
method: string;
|
|
23
|
+
chains: string;
|
|
24
|
+
resolution?: undefined;
|
|
25
|
+
'match status'?: undefined;
|
|
26
|
+
'entry name'?: undefined;
|
|
27
|
+
};
|
|
28
|
+
} | {
|
|
29
|
+
type: string;
|
|
30
|
+
id: string;
|
|
31
|
+
properties: {
|
|
32
|
+
'match status': string;
|
|
33
|
+
'entry name': string;
|
|
34
|
+
method?: undefined;
|
|
35
|
+
resolution?: undefined;
|
|
36
|
+
chains?: undefined;
|
|
37
|
+
};
|
|
38
|
+
})[];
|
|
39
|
+
sequence: {
|
|
40
|
+
version: number;
|
|
41
|
+
length: number;
|
|
42
|
+
mass: number;
|
|
43
|
+
modified: string;
|
|
44
|
+
sequence: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export default data;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const data = {
|
|
2
|
+
accession: 'P01234',
|
|
3
|
+
id: 'A4_HUMAN_mocked',
|
|
4
|
+
dbReferences: [
|
|
5
|
+
{
|
|
6
|
+
type: 'UniGene',
|
|
7
|
+
id: 'Hs.434980',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: 'PDB',
|
|
11
|
+
id: '1AAP',
|
|
12
|
+
properties: {
|
|
13
|
+
method: 'X-ray',
|
|
14
|
+
resolution: '1.50 A',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'PDB',
|
|
19
|
+
id: '1AMB',
|
|
20
|
+
properties: {
|
|
21
|
+
method: 'NMR',
|
|
22
|
+
chains: 'A=672-699',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
type: 'PDB',
|
|
27
|
+
id: '1AMC',
|
|
28
|
+
properties: {
|
|
29
|
+
method: 'NMR',
|
|
30
|
+
chains: 'A=672-699',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: 'PDB',
|
|
35
|
+
id: '1AML',
|
|
36
|
+
properties: {
|
|
37
|
+
method: 'NMR',
|
|
38
|
+
chains: 'A=672-711',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'PDB',
|
|
43
|
+
id: '1BA4',
|
|
44
|
+
properties: {
|
|
45
|
+
method: 'NMR',
|
|
46
|
+
chains: 'A=672-711',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: 'PROSITE',
|
|
51
|
+
id: 'PS00280',
|
|
52
|
+
properties: {
|
|
53
|
+
'match status': '1',
|
|
54
|
+
'entry name': 'BPTI_KUNITZ_1',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'PROSITE',
|
|
59
|
+
id: 'PS50279',
|
|
60
|
+
properties: {
|
|
61
|
+
'match status': '1',
|
|
62
|
+
'entry name': 'BPTI_KUNITZ_2',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
sequence: {
|
|
67
|
+
version: 3,
|
|
68
|
+
length: 770,
|
|
69
|
+
mass: 86943,
|
|
70
|
+
modified: '1991-11-01',
|
|
71
|
+
sequence: 'MLPGLALLLLAAWTARALEVPTDGNAGLLAEPQIAMFCGRLNMHMNVQNGKWDSDPSGTKTCIDTKEGILQYCQEVYPELQITNVVEANQPVTIQNWCKRGRKQCKTHPHFVIPYRCLVGEFVSDALLVPDKCKFLHQERMDVCETHLHWHTVAKETCSEKSTNLHDYGMLLPCGIDKFRGVEFVCCPLAEESDNVDSADAEEDDSDVWWGGADTDYADGSEDKVVEVAEEEEVAEVEEEEADDDEDDEDGDEVEEEAEEPYEEATERTTSIATTTTTTTESVEEVVREVCSEQAETGPCRAMISRWYFDVTEGKCAPFFYGGCGGNRNNFDTEEYCMAVCGSAMSQSLLKTTQEPLARDPVKLPTTAASTPDAVDKYLETPGDENEHAHFQKAKERLEAKHRERMSQVMREWEEAERQAKNLPKADKKAVIQHFQEKVESLEQEAANERQQLVETHMARVEAMLNDRRRLALENYITALQAVPPRPRHVFNMLKKYVRAEQKDRQHTLKHFEHVRMVDPKKAAQIRSQVMTHLRVIYERMNQSLSLLYNVPAVAEEIQDEVDELLQKEQNYSDDVLANMISEPRISYGNDALMPSLTETKTTVELLPVNGEFSLDDLQPWHSFGADSVPANTENEVEPVDARPAADRGLTTRPGSGLTNIKTEEISEVKMDAEFRHDSGYEVHHQKLVFFAEDVGSNKGAIIGLMVGGVVIATVIVITLVMLKKKQYTSIHHGVVEVDAAVTPEERHLSKMQQNGYENPTYKFFEQMQN',
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
export default data;
|
|
75
|
+
//# sourceMappingURL=uniprotkb-entry-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniprotkb-entry-data.js","sourceRoot":"","sources":["../../../../../src/adapters/__tests__/__mocks__/uniprotkb-entry-data.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,QAAQ;IACnB,EAAE,EAAE,iBAAiB;IACrB,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,WAAW;SAChB;QACD;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,UAAU,EAAE;gBACV,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,QAAQ;aACrB;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,UAAU,EAAE;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;aACpB;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,UAAU,EAAE;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;aACpB;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,UAAU,EAAE;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;aACpB;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,UAAU,EAAE;gBACV,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;aACpB;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,SAAS;YACb,UAAU,EAAE;gBACV,cAAc,EAAE,GAAG;gBACnB,YAAY,EAAE,eAAe;aAC9B;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,SAAS;YACb,UAAU,EAAE;gBACV,cAAc,EAAE,GAAG;gBACnB,YAAY,EAAE,eAAe;aAC9B;SACF;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,YAAY;QACtB,QAAQ,EACN,owBAAowB;KACvwB;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getAllFeatureStructures, mergeOverlappingIntervals, } from '../structure-adapter';
|
|
2
|
+
import entryData from './__mocks__/uniprotkb-entry-data';
|
|
3
|
+
describe('structure data', () => {
|
|
4
|
+
it('should turn structures into features', () => {
|
|
5
|
+
const features = getAllFeatureStructures(entryData);
|
|
6
|
+
expect(features).toMatchSnapshot();
|
|
7
|
+
});
|
|
8
|
+
it('should merge Overlapping Intervals', () => {
|
|
9
|
+
const features = getAllFeatureStructures(entryData);
|
|
10
|
+
const overlapping = mergeOverlappingIntervals(features);
|
|
11
|
+
expect(overlapping).toMatchSnapshot();
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=structure-adapter.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure-adapter.spec.js","sourceRoot":"","sources":["../../../../src/adapters/__tests__/structure-adapter.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAEzD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/es/{protvista-alphafold-confidence.js → adapters/alphafold-confidence-adapter.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const getConfidenceURLFromPayload = (data) => {
|
|
2
2
|
var _a;
|
|
3
3
|
const cifURL = (_a = data === null || data === void 0 ? void 0 : data[0]) === null || _a === void 0 ? void 0 : _a.cifUrl;
|
|
4
4
|
return (cifURL === null || cifURL === void 0 ? void 0 : cifURL.length)
|
|
@@ -14,7 +14,7 @@ const loadConfidence = async (url) => {
|
|
|
14
14
|
console.error('Could not load AlphaFold confidence', e);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
const transformData = async (data, protein) => {
|
|
18
18
|
const confidenceUrl = getConfidenceURLFromPayload(data);
|
|
19
19
|
const { uniprotSequence } = (data === null || data === void 0 ? void 0 : data[0]) || {};
|
|
20
20
|
if (confidenceUrl && uniprotSequence === protein.sequence.sequence) {
|
|
@@ -22,4 +22,5 @@ export const transformData = async (data, protein) => {
|
|
|
22
22
|
return confidenceData === null || confidenceData === void 0 ? void 0 : confidenceData.confidenceCategory.join('');
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
export default transformData;
|
|
26
|
+
//# sourceMappingURL=alphafold-confidence-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alphafold-confidence-adapter.js","sourceRoot":"","sources":["../../../src/adapters/alphafold-confidence-adapter.ts"],"names":[],"mappings":"AAQA,MAAM,2BAA2B,GAAG,CAAC,IAAsB,EAAE,EAAE;;IAC7D,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,0CAAE,MAAM,CAAC;IACjC,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM;QACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAC1B,GAAW,EAC0B,EAAE;IACvC,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;KACzD;AACH,CAAC,CAAC;AAQF,MAAM,aAAa,GAAG,KAAK,EACzB,IAAsB,EACtB,OAAuB,EACvB,EAAE;IACF,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,eAAe,EAAE,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC;IAC5C,IAAI,aAAa,IAAI,eAAe,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAClE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpD;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AlphafoldPayload } from './types/alphafold';
|
|
2
|
+
type PartialProtein = {
|
|
3
|
+
sequence: {
|
|
4
|
+
sequence: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
declare const transformData: (data: AlphafoldPayload, protein: PartialProtein) => Promise<Record<string, string>[]>;
|
|
8
|
+
export default transformData;
|
package/dist/es/{protvista-alphamissense-heatmap.js → adapters/alphamissense-heatmap-adapter.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cellSplitter, rowSplitter, } from './
|
|
1
|
+
import { cellSplitter, rowSplitter, } from './alphamissense-pathogenicity-adapter';
|
|
2
2
|
const parseCSV = (rawText) => {
|
|
3
3
|
const data = [];
|
|
4
4
|
for (const [i, row] of rawText.split(rowSplitter).entries()) {
|
|
@@ -25,11 +25,12 @@ const loadAndParseAnnotations = async (url) => {
|
|
|
25
25
|
console.error('Could not load AlphaMissense pathogenicity', e);
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
const transformData = async (data, protein) => {
|
|
29
29
|
const { amAnnotationsUrl, uniprotSequence } = (data === null || data === void 0 ? void 0 : data[0]) || {};
|
|
30
30
|
if (amAnnotationsUrl && uniprotSequence === protein.sequence.sequence) {
|
|
31
31
|
const heatmapData = await loadAndParseAnnotations(amAnnotationsUrl);
|
|
32
32
|
return heatmapData;
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
export default transformData;
|
|
36
|
+
//# sourceMappingURL=alphamissense-heatmap-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alphamissense-heatmap-adapter.js","sourceRoot":"","sources":["../../../src/adapters/alphamissense-heatmap-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,GACZ,MAAM,uCAAuC,CAAC;AAG/C,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAiC,EAAE;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACnB,SAAS;SACV;QACD,MAAM,CAAC,EAAE,AAAD,EAAG,cAAc,EAAE,OAAO,EAAE,kBAAkB,CAAC,GACrD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,CAAC,cAAc;YACvB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,CAAC,kBAAkB;SAC3B,CAAC,CAAC;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,uBAAuB,GAAG,KAAK,EACnC,GAAW,EAC6B,EAAE;IAC1C,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AAQF,MAAM,aAAa,GAAG,KAAK,EACzB,IAAsB,EACtB,OAAuB,EACvB,EAAE;IACF,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC;IAC9D,IAAI,gBAAgB,IAAI,eAAe,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACrE,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AlphafoldPayload } from './types/alphafold';
|
|
2
|
+
export declare const rowSplitter: RegExp;
|
|
3
|
+
export declare const cellSplitter: RegExp;
|
|
4
|
+
type PartialProtein = {
|
|
5
|
+
sequence: {
|
|
6
|
+
sequence: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
declare const transformData: (data: AlphafoldPayload, protein: PartialProtein) => Promise<string>;
|
|
10
|
+
export default transformData;
|
|
@@ -56,7 +56,7 @@ const loadAndParseAnnotations = async (url) => {
|
|
|
56
56
|
console.error('Could not load AlphaMissense pathogenicity', e);
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
const transformData = async (data, protein) => {
|
|
60
60
|
const { amAnnotationsUrl, uniprotSequence } = (data === null || data === void 0 ? void 0 : data[0]) || {};
|
|
61
61
|
if (amAnnotationsUrl && uniprotSequence === protein.sequence.sequence) {
|
|
62
62
|
const variationData = await loadAndParseAnnotations(amAnnotationsUrl);
|
|
@@ -64,4 +64,5 @@ export const transformData = async (data, protein) => {
|
|
|
64
64
|
return variationData;
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
|
|
67
|
+
export default transformData;
|
|
68
|
+
//# sourceMappingURL=alphamissense-pathogenicity-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alphamissense-pathogenicity-adapter.js","sourceRoot":"","sources":["../../../src/adapters/alphamissense-pathogenicity-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const ecoMap: ({
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
shortDescription: string;
|
|
5
|
+
acronym: string;
|
|
6
|
+
isManual: boolean;
|
|
7
|
+
} | {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
shortDescription: string;
|
|
11
|
+
acronym: string;
|
|
12
|
+
isManual?: undefined;
|
|
13
|
+
})[];
|
|
14
|
+
export default ecoMap;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
const ecoMap = [
|
|
2
|
+
{
|
|
3
|
+
name: 'ECO:0000269',
|
|
4
|
+
description: 'Manual assertion based on experiment',
|
|
5
|
+
shortDescription: 'Publication',
|
|
6
|
+
acronym: 'EXP',
|
|
7
|
+
isManual: true,
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'ECO:0000303',
|
|
11
|
+
description: 'Manual assertion based on opinion',
|
|
12
|
+
shortDescription: 'Publication',
|
|
13
|
+
acronym: 'NAS',
|
|
14
|
+
isManual: true,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'ECO:0000305',
|
|
18
|
+
description: 'Manual assertion inferred by curator',
|
|
19
|
+
shortDescription: 'Curated',
|
|
20
|
+
acronym: 'IC',
|
|
21
|
+
isManual: true,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'ECO:0000250',
|
|
25
|
+
description: 'Manual assertion inferred from sequence similarity',
|
|
26
|
+
shortDescription: 'By similarity',
|
|
27
|
+
acronym: 'ISS',
|
|
28
|
+
isManual: true,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'ECO:0000255',
|
|
32
|
+
description: 'Manual assertion according to rules',
|
|
33
|
+
shortDescription: 'Sequence Analysis',
|
|
34
|
+
acronym: 'ISM',
|
|
35
|
+
isManual: true,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'ECO:0007744',
|
|
39
|
+
description: 'Manual assertion inferred from combination of experimental and computational evidence',
|
|
40
|
+
shortDescription: 'Combined sources',
|
|
41
|
+
acronym: 'MIXM',
|
|
42
|
+
isManual: true,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'ECO:0000312',
|
|
46
|
+
description: 'Manual assertion inferred from database entries',
|
|
47
|
+
shortDescription: 'Imported',
|
|
48
|
+
acronym: 'MI',
|
|
49
|
+
isManual: true,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'ECO:0000256',
|
|
53
|
+
description: 'Automatic assertion according to rules',
|
|
54
|
+
shortDescription: 'Automatic annotation',
|
|
55
|
+
acronym: 'AA',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'ECO:0000259',
|
|
59
|
+
description: 'Automatic assertion inferred from signature match',
|
|
60
|
+
shortDescription: 'Automatic annotation',
|
|
61
|
+
acronym: 'AA',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'ECO:0007829',
|
|
65
|
+
description: 'Automatic assertion inferred from combination of experimental and computational evidence',
|
|
66
|
+
shortDescription: 'Combined sources',
|
|
67
|
+
acronym: 'MIXA',
|
|
68
|
+
},
|
|
69
|
+
/* ECO:0007829 replaced ECO:0000213 from release 2022_02.
|
|
70
|
+
Some evidences still have the obsolete code. eg: https://www.ebi.ac.uk/proteins/api/antigen/P49841
|
|
71
|
+
It is better to show the evidence rather than being it empty */
|
|
72
|
+
{
|
|
73
|
+
name: 'ECO:0000213',
|
|
74
|
+
description: 'Automatic assertion inferred from combination of experimental and computational evidence',
|
|
75
|
+
shortDescription: 'Combined sources',
|
|
76
|
+
acronym: 'MIXA',
|
|
77
|
+
},
|
|
78
|
+
// ECO:0007744 replaced ECO:0000244 from release 2022_02. Same as above
|
|
79
|
+
{
|
|
80
|
+
name: 'ECO:0000244',
|
|
81
|
+
description: 'Manual assertion inferred from combination of experimental and computational evidence',
|
|
82
|
+
shortDescription: 'Combined sources',
|
|
83
|
+
acronym: 'MIXM',
|
|
84
|
+
isManual: true,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'ECO:0000313',
|
|
88
|
+
description: 'Automatic assertion inferred from database entries',
|
|
89
|
+
shortDescription: 'Imported',
|
|
90
|
+
acronym: 'AI',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'ECO:0000260',
|
|
94
|
+
description: 'Manual assertion inferred from signature match',
|
|
95
|
+
shortDescription: 'InterPro annotation',
|
|
96
|
+
acronym: 'SGNM',
|
|
97
|
+
isManual: true,
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
export default ecoMap;
|
|
101
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../../src/adapters/config/evidence.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IACb;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sCAAsC;QACnD,gBAAgB,EAAE,aAAa;QAC/B,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mCAAmC;QAChD,gBAAgB,EAAE,aAAa;QAC/B,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sCAAsC;QACnD,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oDAAoD;QACjE,gBAAgB,EAAE,eAAe;QACjC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qCAAqC;QAClD,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,uFAAuF;QACzF,gBAAgB,EAAE,kBAAkB;QACpC,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iDAAiD;QAC9D,gBAAgB,EAAE,UAAU;QAC5B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wCAAwC;QACrD,gBAAgB,EAAE,sBAAsB;QACxC,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mDAAmD;QAChE,gBAAgB,EAAE,sBAAsB;QACxC,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,0FAA0F;QAC5F,gBAAgB,EAAE,kBAAkB;QACpC,OAAO,EAAE,MAAM;KAChB;IACD;;qEAEiE;IACjE;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,0FAA0F;QAC5F,gBAAgB,EAAE,kBAAkB;QACpC,OAAO,EAAE,MAAM;KAChB;IACD,uEAAuE;IACvE;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,uFAAuF;QACzF,gBAAgB,EAAE,kBAAkB;QACpC,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oDAAoD;QACjE,gBAAgB,EAAE,UAAU;QAC5B,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,gDAAgD;QAC7D,gBAAgB,EAAE,qBAAqB;QACvC,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { renameProperties } from '../utils';
|
|
2
|
+
import formatTooltip from '../tooltips/featureTooltip';
|
|
3
|
+
const transformData = (data) => {
|
|
4
|
+
let transformedData = [];
|
|
5
|
+
const { features } = data;
|
|
6
|
+
if (features && features.length > 0) {
|
|
7
|
+
transformedData = features.map((feature) => {
|
|
8
|
+
return {
|
|
9
|
+
...feature,
|
|
10
|
+
tooltipContent: formatTooltip(feature),
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
transformedData = renameProperties(transformedData);
|
|
14
|
+
}
|
|
15
|
+
return transformedData;
|
|
16
|
+
};
|
|
17
|
+
export default transformData;
|
|
18
|
+
//# sourceMappingURL=feature-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-adapter.js","sourceRoot":"","sources":["../../../src/adapters/feature-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IAC7B,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,OAAO;gBACL,GAAG,OAAO;gBACV,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;KACrD;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import ColorHash from 'color-hash';
|
|
2
|
+
// Copied from InterPro to replicate the same colours for the representative domains
|
|
3
|
+
/* eslint-disable no-magic-numbers */
|
|
4
|
+
const colorHash = new ColorHash({
|
|
5
|
+
hash: 'bkdr',
|
|
6
|
+
saturation: [0.65, 0.35, 0.5],
|
|
7
|
+
lightness: [0.65, 0.35, 0.5],
|
|
8
|
+
});
|
|
9
|
+
/* eslint-enable no-magic-numbers */
|
|
10
|
+
const transformData = (data) => {
|
|
11
|
+
var _a;
|
|
12
|
+
try {
|
|
13
|
+
return (_a = data === null || data === void 0 ? void 0 : data.results) === null || _a === void 0 ? void 0 : _a.map(({ metadata, proteins }) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return ({
|
|
16
|
+
...metadata,
|
|
17
|
+
locations: proteins[0].entry_protein_locations,
|
|
18
|
+
start: proteins[0].entry_protein_locations
|
|
19
|
+
? Math.min(...proteins[0].entry_protein_locations.map((location) => Math.min(...location.fragments.map((fragment) => fragment.start))))
|
|
20
|
+
: '',
|
|
21
|
+
end: proteins[0].entry_protein_locations
|
|
22
|
+
? Math.max(...(_a = proteins[0].entry_protein_locations) === null || _a === void 0 ? void 0 : _a.map((location) => Math.max(...location.fragments.map((fragment) => fragment.end))))
|
|
23
|
+
: '',
|
|
24
|
+
color: colorHash.hex(metadata.accession.toLowerCase().split('').reverse().join('')),
|
|
25
|
+
tooltipContent: `
|
|
26
|
+
<h5>Accession</h5>
|
|
27
|
+
<p>
|
|
28
|
+
<a
|
|
29
|
+
target="_blank"
|
|
30
|
+
rel="noopener"
|
|
31
|
+
href="https://www.ebi.ac.uk/interpro/entry/${metadata.source_database}/${metadata.accession}/"
|
|
32
|
+
>
|
|
33
|
+
${metadata.accession}
|
|
34
|
+
</a>
|
|
35
|
+
</p>
|
|
36
|
+
<h5>Name</h5>
|
|
37
|
+
<p>${metadata.name}</p>
|
|
38
|
+
${metadata.integrated
|
|
39
|
+
? `<h5>Integrated into </h5>
|
|
40
|
+
<p>
|
|
41
|
+
<a
|
|
42
|
+
target="_blank"
|
|
43
|
+
rel="noopener"
|
|
44
|
+
href="https://www.ebi.ac.uk/interpro/entry/InterPro/${metadata.integrated}/"
|
|
45
|
+
>
|
|
46
|
+
${metadata.integrated}
|
|
47
|
+
</a>
|
|
48
|
+
</p>`
|
|
49
|
+
: ''}
|
|
50
|
+
`,
|
|
51
|
+
length: proteins[0].protein_length,
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw new Error('Failed transforming the data');
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export default transformData;
|
|
60
|
+
//# sourceMappingURL=interpro-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpro-adapter.js","sourceRoot":"","sources":["../../../src/adapters/interpro-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,oFAAoF;AACpF,qCAAqC;AACrC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;IAC9B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;CAC7B,CAAC,CAAC;AACH,oCAAoC;AAEpC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;;IAC7B,IAAI;QACF,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;;YAAC,OAAA,CAAC;gBACrD,GAAG,QAAQ;gBACX,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAC9C,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAClE,CACF;oBACH,CAAC,CAAC,EAAE;gBACN,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBACtC,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,GAAG,MAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB,0CAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAChE,CACF;oBACH,CAAC,CAAC,EAAE;gBACN,KAAK,EAAE,SAAS,CAAC,GAAG,CAClB,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9D;gBACD,cAAc,EAAE;;;;;;uDAOV,QAAQ,CAAC,eACX,IAAI,QAAQ,CAAC,SAAS;;UAEtB,QAAQ,CAAC,SAAS;;;;aAIf,QAAQ,CAAC,IAAI;UAEhB,QAAQ,CAAC,UAAU;oBACjB,CAAC,CAAC;;;;;gEAKkD,QAAQ,CAAC,UAAU;;YAEvE,QAAQ,CAAC,UAAU;;aAElB;oBACD,CAAC,CAAC,EACN;OACD;gBACD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc;aACnC,CAAC,CAAA;SAAA,CAAC,CAAC;KACL;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|