protvista-uniprot 2.9.5 → 2.10.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.
@@ -266,6 +266,19 @@
266
266
  ],
267
267
  "tooltip": "Modified residues such as phosphorylation, acetylation, acylation, methylation"
268
268
  },
269
+ {
270
+ "name": "mod_res_ls",
271
+ "label": "Modified residue (large scale)",
272
+ "filter": "MOD_RES_LS",
273
+ "trackType": "protvista-track",
274
+ "data": [
275
+ {
276
+ "adapter": "protvista-proteomics-ptm-adapter",
277
+ "url": "https://www.ebi.ac.uk/proteins/api/proteomics-ptm/{accession}"
278
+ }
279
+ ],
280
+ "tooltip": "Modified residues from Large scale studies"
281
+ },
269
282
  {
270
283
  "name": "carbohyd",
271
284
  "label": "Glycosylation",
@@ -0,0 +1,53 @@
1
+ declare type ProteomicsPtm = {
2
+ accession: string;
3
+ entryName: string;
4
+ sequence: string;
5
+ sequenceChecksum: string;
6
+ taxid: number;
7
+ features: ProteomicsPtmFeature[];
8
+ };
9
+ declare type ProteomicsPtmFeature = {
10
+ type: string;
11
+ begin: string;
12
+ end: string;
13
+ xrefs: Xref[];
14
+ evidences: Evidence[];
15
+ peptide: string;
16
+ unique: boolean;
17
+ ptms: PTM[];
18
+ };
19
+ declare type Evidence = {
20
+ code: string;
21
+ source: Source;
22
+ };
23
+ declare type Source = {
24
+ id: string;
25
+ url: string;
26
+ };
27
+ declare type Xref = {
28
+ name: string;
29
+ id: string;
30
+ url: string;
31
+ };
32
+ declare type PTM = {
33
+ name: string;
34
+ position: number;
35
+ sources: string[];
36
+ dbReferences: DBReference[];
37
+ };
38
+ declare type DBReference = {
39
+ id: string;
40
+ properties: {
41
+ [key: string]: string;
42
+ };
43
+ };
44
+ export declare const transformData: (data: ProteomicsPtm) => {
45
+ source: string;
46
+ type: string;
47
+ start: number;
48
+ end: number;
49
+ shape: string;
50
+ tooltipContent: string;
51
+ color: any;
52
+ }[];
53
+ export {};
@@ -0,0 +1,84 @@
1
+ var ConfidenceScoreColors;
2
+ (function (ConfidenceScoreColors) {
3
+ ConfidenceScoreColors["Gold"] = "#c39b00";
4
+ ConfidenceScoreColors["Silver"] = "#8194a1";
5
+ ConfidenceScoreColors["Bronze"] = "#a65708";
6
+ })(ConfidenceScoreColors || (ConfidenceScoreColors = {}));
7
+ const aaToPhosphorylated = {
8
+ R: 'Phosphoarginine',
9
+ C: 'Phosphocysteine',
10
+ H: 'Phosphohistidine',
11
+ S: 'Phosphoserine',
12
+ T: 'Phosphothreonine',
13
+ Y: 'Phosphotyrosine',
14
+ };
15
+ const phosphorylate = (aa) => {
16
+ const AA = aa.toUpperCase();
17
+ if (AA in aaToPhosphorylated) {
18
+ return aaToPhosphorylated[AA];
19
+ }
20
+ console.error(`${AA} not a valid amino acid for phosphorylation`);
21
+ return '';
22
+ };
23
+ const convertPtmExchangePtms = (ptms, aa, absolutePosition) => {
24
+ const evidences = [
25
+ ...ptms.flatMap(({ dbReferences }) => dbReferences === null || dbReferences === void 0 ? void 0 : dbReferences.flatMap(({ id }) => [id])),
26
+ ];
27
+ const confidenceScores = new Set(ptms.flatMap(({ dbReferences }) => dbReferences.map(({ properties }) => properties['Confidence score'])));
28
+ let confidenceScore;
29
+ if (!confidenceScores.size) {
30
+ console.error('PTMeXchange PTM has no confidence score');
31
+ }
32
+ else if (confidenceScores.size > 1) {
33
+ console.error(`PTMeXchange PTM has a mixture of confidence scores: ${Array.from(confidenceScores)}`);
34
+ }
35
+ else {
36
+ [confidenceScore] = confidenceScores;
37
+ }
38
+ const tooltip = `
39
+ <h5>Description</h5><p>${phosphorylate(aa)}</p>
40
+ ${confidenceScore ? `<h5>Confidence Score</h5><p>${confidenceScore}</p>` : ''}
41
+ ${evidences
42
+ ? `<h5>Evidence</h5><ul>${evidences
43
+ .map((id) => `<li title='${id}' style="padding: .25rem 0">${id}&nbsp;(<a href="https://www.ebi.ac.uk/pride/archive/projects/${id}" style="color:#FFF" target="_blank">PRIDE</a>)</li>`)
44
+ .join('')}</ul>`
45
+ : ''}
46
+ `;
47
+ return {
48
+ source: 'PTMeXchange',
49
+ type: 'MOD_RES_LS',
50
+ start: absolutePosition,
51
+ end: absolutePosition,
52
+ shape: 'triangle',
53
+ tooltipContent: tooltip,
54
+ color: ConfidenceScoreColors[confidenceScore] || 'black',
55
+ };
56
+ };
57
+ export const transformData = (data) => {
58
+ const { features } = data;
59
+ const absolutePositionToPtms = {};
60
+ for (const feature of features) {
61
+ for (const ptm of feature.ptms) {
62
+ const absolutePosition = +feature.begin + ptm.position - 1;
63
+ if (!Number.isFinite(absolutePosition)) {
64
+ console.error(`Encountered infinite number: +feature.begin + ptm.position - 1 = ${+feature.begin} + ${ptm.position} - 1`);
65
+ // eslint-disable-next-line no-continue
66
+ continue;
67
+ }
68
+ const aa = feature.peptide[ptm.position - 1];
69
+ if (absolutePosition in absolutePositionToPtms) {
70
+ if (absolutePositionToPtms[absolutePosition].aa !== aa) {
71
+ console.error(`One PTM has different amino acid values: [${absolutePositionToPtms[absolutePosition].aa}, ${aa}]`);
72
+ }
73
+ else {
74
+ absolutePositionToPtms[absolutePosition].ptms.push(ptm);
75
+ }
76
+ }
77
+ else {
78
+ absolutePositionToPtms[absolutePosition] = { ptms: [ptm], aa };
79
+ }
80
+ }
81
+ }
82
+ return Object.entries(absolutePositionToPtms).map(([absolutePosition, { ptms, aa }]) => convertPtmExchangePtms(ptms, aa, +absolutePosition));
83
+ };
84
+ //# sourceMappingURL=protvista-ptm-exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protvista-ptm-exchange.js","sourceRoot":"","sources":["../../src/protvista-ptm-exchange.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,51 @@ export declare const transformDataVariationAdapter: (data: import("protvista-var
11
11
  variants: any[];
12
12
  };
13
13
  export declare const transformDataInterproAdapter: any;
14
+ export declare const transformDataProteomicsPTMApdapter: (data: {
15
+ accession: string;
16
+ entryName: string;
17
+ sequence: string;
18
+ sequenceChecksum: string;
19
+ taxid: number;
20
+ features: {
21
+ type: string;
22
+ begin: string;
23
+ end: string;
24
+ xrefs: {
25
+ name: string;
26
+ id: string;
27
+ url: string;
28
+ }[];
29
+ evidences: {
30
+ code: string;
31
+ source: {
32
+ id: string;
33
+ url: string;
34
+ };
35
+ }[];
36
+ peptide: string;
37
+ unique: boolean;
38
+ ptms: {
39
+ name: string;
40
+ position: number;
41
+ sources: string[];
42
+ dbReferences: {
43
+ id: string;
44
+ properties: {
45
+ [key: string]: string;
46
+ };
47
+ }[];
48
+ }[];
49
+ }[];
50
+ }) => {
51
+ source: string;
52
+ type: string;
53
+ start: number;
54
+ end: number;
55
+ shape: string;
56
+ tooltipContent: string;
57
+ color: any;
58
+ }[];
14
59
  export declare const filterConfig: {
15
60
  name: string;
16
61
  type: {
@@ -18,6 +18,7 @@ import { transformData as _transformDataProteomicsAdapter } from 'protvista-prot
18
18
  import { transformData as _transformDataStructureAdapter } from 'protvista-structure-adapter';
19
19
  import { transformData as _transformDataVariationAdapter } from 'protvista-variation-adapter';
20
20
  import { transformData as _transformDataInterproAdapter } from 'protvista-interpro-adapter';
21
+ import { transformData as _transformDataProteomicsPTMApdapter } from './protvista-ptm-exchange';
21
22
  import defaultConfig from './config.json';
22
23
  import _ProtvistaUniprotStructure from './protvista-uniprot-structure';
23
24
  import _DownloadPanel from './download-panel';
@@ -31,6 +32,7 @@ export const transformDataProteomicsAdapter = _transformDataProteomicsAdapter;
31
32
  export const transformDataStructureAdapter = _transformDataStructureAdapter;
32
33
  export const transformDataVariationAdapter = _transformDataVariationAdapter;
33
34
  export const transformDataInterproAdapter = _transformDataInterproAdapter;
35
+ export const transformDataProteomicsPTMApdapter = _transformDataProteomicsPTMApdapter;
34
36
  export const filterConfig = _filterConfig;
35
37
  export const colorConfig = _colorConfig;
36
38
  export const ProtvistaUniprotStructure = _ProtvistaUniprotStructure;
@@ -41,6 +43,7 @@ const adapters = {
41
43
  'protvista-proteomics-adapter': transformDataProteomicsAdapter,
42
44
  'protvista-structure-adapter': transformDataStructureAdapter,
43
45
  'protvista-variation-adapter': transformDataVariationAdapter,
46
+ 'protvista-proteomics-ptm-adapter': transformDataProteomicsPTMApdapter
44
47
  };
45
48
  class ProtvistaUniprot extends LitElement {
46
49
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"protvista-uniprot.js","sourceRoot":"","sources":["../../src/protvista-uniprot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protvista-uniprot.js","sourceRoot":"","sources":["../../src/protvista-uniprot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "protvista-uniprot",
3
3
  "description": "ProtVista tool for the UniProt website",
4
- "version": "2.9.5",
4
+ "version": "2.10.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
package/src/config.json CHANGED
@@ -267,6 +267,19 @@
267
267
  ],
268
268
  "tooltip": "Modified residues such as phosphorylation, acetylation, acylation, methylation"
269
269
  },
270
+ {
271
+ "name": "mod_res_ls",
272
+ "label": "Modified residue (large scale)",
273
+ "filter": "MOD_RES_LS",
274
+ "trackType": "protvista-track",
275
+ "data": [
276
+ {
277
+ "adapter": "protvista-proteomics-ptm-adapter",
278
+ "url": "https://www.ebi.ac.uk/proteins/api/proteomics-ptm/{accession}"
279
+ }
280
+ ],
281
+ "tooltip": "Modified residues from Large scale studies"
282
+ },
270
283
  {
271
284
  "name": "carbohyd",
272
285
  "label": "Glycosylation",
@@ -0,0 +1,165 @@
1
+ type ProteomicsPtm = {
2
+ accession: string;
3
+ entryName: string;
4
+ sequence: string;
5
+ sequenceChecksum: string;
6
+ taxid: number;
7
+ features: ProteomicsPtmFeature[];
8
+ };
9
+
10
+ type ProteomicsPtmFeature = {
11
+ type: string;
12
+ begin: string;
13
+ end: string;
14
+ xrefs: Xref[];
15
+ evidences: Evidence[];
16
+ peptide: string;
17
+ unique: boolean;
18
+ ptms: PTM[];
19
+ };
20
+
21
+ type Evidence = {
22
+ code: string;
23
+ source: Source;
24
+ };
25
+
26
+ type Source = {
27
+ id: string;
28
+ url: string;
29
+ };
30
+
31
+ type Xref = {
32
+ name: string;
33
+ id: string;
34
+ url: string;
35
+ };
36
+
37
+ type PTM = {
38
+ name: string;
39
+ position: number;
40
+ sources: string[];
41
+ dbReferences: DBReference[];
42
+ };
43
+
44
+ type DBReference = {
45
+ id: string;
46
+ properties: { [key: string]: string };
47
+ };
48
+
49
+ enum ConfidenceScoreColors {
50
+ Gold = '#c39b00',
51
+ Silver = '#8194a1',
52
+ Bronze = '#a65708',
53
+ }
54
+
55
+ const aaToPhosphorylated = {
56
+ R: 'Phosphoarginine',
57
+ C: 'Phosphocysteine',
58
+ H: 'Phosphohistidine',
59
+ S: 'Phosphoserine',
60
+ T: 'Phosphothreonine',
61
+ Y: 'Phosphotyrosine',
62
+ };
63
+
64
+ const phosphorylate = (aa: string) => {
65
+ const AA = aa.toUpperCase();
66
+ if (AA in aaToPhosphorylated) {
67
+ return aaToPhosphorylated[AA as keyof typeof aaToPhosphorylated];
68
+ }
69
+ console.error(`${AA} not a valid amino acid for phosphorylation`);
70
+ return '';
71
+ };
72
+
73
+ const convertPtmExchangePtms = (
74
+ ptms: PTM[],
75
+ aa: string,
76
+ absolutePosition: number
77
+ ) => {
78
+ const evidences = [
79
+ ...ptms.flatMap(({ dbReferences }) =>
80
+ dbReferences?.flatMap(({ id }) => [id])
81
+ ),
82
+ ];
83
+ const confidenceScores = new Set(
84
+ ptms.flatMap(({ dbReferences }) =>
85
+ dbReferences.map(({ properties }) => properties['Confidence score'])
86
+ )
87
+ );
88
+ let confidenceScore: string;
89
+
90
+ if (!confidenceScores.size) {
91
+ console.error('PTMeXchange PTM has no confidence score');
92
+ } else if (confidenceScores.size > 1) {
93
+ console.error(
94
+ `PTMeXchange PTM has a mixture of confidence scores: ${Array.from(
95
+ confidenceScores
96
+ )}`
97
+ );
98
+ } else {
99
+ [confidenceScore] = confidenceScores;
100
+ }
101
+
102
+ const tooltip = `
103
+ <h5>Description</h5><p>${phosphorylate(aa)}</p>
104
+ ${confidenceScore ? `<h5>Confidence Score</h5><p>${confidenceScore}</p>` : ''}
105
+ ${
106
+ evidences
107
+ ? `<h5>Evidence</h5><ul>${evidences
108
+ .map(
109
+ (id) =>
110
+ `<li title='${id}' style="padding: .25rem 0">${id}&nbsp;(<a href="https://www.ebi.ac.uk/pride/archive/projects/${id}" style="color:#FFF" target="_blank">PRIDE</a>)</li>`
111
+ )
112
+ .join('')}</ul>`
113
+ : ''
114
+ }
115
+ `;
116
+
117
+ return {
118
+ source: 'PTMeXchange',
119
+ type: 'MOD_RES_LS',
120
+ start: absolutePosition,
121
+ end: absolutePosition,
122
+ shape: 'triangle',
123
+ tooltipContent: tooltip,
124
+ color: ConfidenceScoreColors[confidenceScore] || 'black',
125
+ };
126
+ };
127
+
128
+ export const transformData = (data: ProteomicsPtm) => {
129
+ const { features } = data;
130
+
131
+ const absolutePositionToPtms: Record<number, { ptms: PTM[]; aa: string }> =
132
+ {};
133
+
134
+ for (const feature of features) {
135
+ for (const ptm of feature.ptms) {
136
+ const absolutePosition = +feature.begin + ptm.position - 1;
137
+ if (!Number.isFinite(absolutePosition)) {
138
+ console.error(
139
+ `Encountered infinite number: +feature.begin + ptm.position - 1 = ${+feature.begin} + ${
140
+ ptm.position
141
+ } - 1`
142
+ );
143
+ // eslint-disable-next-line no-continue
144
+ continue;
145
+ }
146
+ const aa = feature.peptide[ptm.position - 1];
147
+ if (absolutePosition in absolutePositionToPtms) {
148
+ if (absolutePositionToPtms[absolutePosition].aa !== aa) {
149
+ console.error(
150
+ `One PTM has different amino acid values: [${absolutePositionToPtms[absolutePosition].aa}, ${aa}]`
151
+ );
152
+ } else {
153
+ absolutePositionToPtms[absolutePosition].ptms.push(ptm);
154
+ }
155
+ } else {
156
+ absolutePositionToPtms[absolutePosition] = { ptms: [ptm], aa };
157
+ }
158
+ }
159
+ }
160
+
161
+ return Object.entries(absolutePositionToPtms).map(
162
+ ([absolutePosition, { ptms, aa }]) =>
163
+ convertPtmExchangePtms(ptms, aa, +absolutePosition)
164
+ );
165
+ };
@@ -19,6 +19,7 @@ import { transformData as _transformDataProteomicsAdapter } from 'protvista-prot
19
19
  import { transformData as _transformDataStructureAdapter } from 'protvista-structure-adapter';
20
20
  import { transformData as _transformDataVariationAdapter } from 'protvista-variation-adapter';
21
21
  import { transformData as _transformDataInterproAdapter } from 'protvista-interpro-adapter';
22
+ import { transformData as _transformDataProteomicsPTMApdapter } from './protvista-ptm-exchange';
22
23
 
23
24
  import defaultConfig from './config.json';
24
25
  import _ProtvistaUniprotStructure from './protvista-uniprot-structure';
@@ -36,6 +37,7 @@ export const transformDataProteomicsAdapter = _transformDataProteomicsAdapter;
36
37
  export const transformDataStructureAdapter = _transformDataStructureAdapter;
37
38
  export const transformDataVariationAdapter = _transformDataVariationAdapter;
38
39
  export const transformDataInterproAdapter = _transformDataInterproAdapter;
40
+ export const transformDataProteomicsPTMApdapter = _transformDataProteomicsPTMApdapter;
39
41
  export const filterConfig = _filterConfig;
40
42
  export const colorConfig = _colorConfig;
41
43
  export const ProtvistaUniprotStructure = _ProtvistaUniprotStructure;
@@ -47,6 +49,7 @@ const adapters = {
47
49
  'protvista-proteomics-adapter': transformDataProteomicsAdapter,
48
50
  'protvista-structure-adapter': transformDataStructureAdapter,
49
51
  'protvista-variation-adapter': transformDataVariationAdapter,
52
+ 'protvista-proteomics-ptm-adapter': transformDataProteomicsPTMApdapter
50
53
  };
51
54
 
52
55
  type TrackType =