protvista-uniprot 4.0.0 → 4.2.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.
@@ -29,7 +29,7 @@ type Xref = {
29
29
  id: string;
30
30
  url: string;
31
31
  };
32
- type PTM = {
32
+ export type PTM = {
33
33
  name: string;
34
34
  position: number;
35
35
  sources: string[];
@@ -0,0 +1,6 @@
1
+ import { RnaEditing, TransformedRnaEditing } from './types/rna-editing';
2
+ declare const transformData: ({ sequence, features, }: RnaEditing) => {
3
+ sequence: string;
4
+ variants: TransformedRnaEditing[];
5
+ };
6
+ export default transformData;
@@ -0,0 +1,11 @@
1
+ import { RnaEditing } from './types/rna-editing';
2
+ declare const transformData: (data: RnaEditing) => {
3
+ name: string;
4
+ range: number[];
5
+ color: string;
6
+ values: {
7
+ position: number;
8
+ value: number;
9
+ }[];
10
+ }[];
11
+ export default transformData;
@@ -0,0 +1,69 @@
1
+ export type RnaEditing = {
2
+ accession: string;
3
+ entryName: string;
4
+ sequence: string;
5
+ sequenceChecksum: string;
6
+ taxid: number;
7
+ features: RnaEditingFeature[];
8
+ };
9
+ export type RnaEditingFeature = {
10
+ type: Type;
11
+ xrefs: Xref[];
12
+ dbReferenceType: DBReferenceType[];
13
+ variantType: VariantType;
14
+ rnaEditingInfo: RnaEditingInfo;
15
+ locationType: LocationType;
16
+ variantlocation: string[];
17
+ };
18
+ export type TransformedRnaEditing = RnaEditingFeature & {
19
+ accession: string;
20
+ variant: string;
21
+ start: number;
22
+ end: number;
23
+ tooltipContent: string;
24
+ consequenceType: string;
25
+ };
26
+ type DBReferenceType = {
27
+ id: string;
28
+ type: Type;
29
+ };
30
+ type Type = 'rna_editing';
31
+ type LocationType = {
32
+ position: Position;
33
+ };
34
+ type Position = {
35
+ position: number;
36
+ status: Status;
37
+ };
38
+ type Status = 'certain';
39
+ type RnaEditingInfo = {
40
+ nedBS: number;
41
+ nsamples: number;
42
+ nbodySites: number;
43
+ ntissues: number;
44
+ nedInd: number;
45
+ };
46
+ type VariantType = {
47
+ genomicLocation: string[];
48
+ variantLocation: VariantLocation[];
49
+ codon: Codon;
50
+ consequenceType: ConsequenceType;
51
+ wildType: DType;
52
+ mutatedType: DType;
53
+ somaticStatus: boolean;
54
+ sourceType: SourceType;
55
+ };
56
+ type Codon = 'aCa' | 'aCg' | 'aCc' | 'aCu' | 'aGa' | 'aGc' | 'aGg' | 'aGu' | 'auG' | 'cCa' | 'cCg' | 'cCc' | 'cCu' | 'Cga' | 'cGa' | 'cGc' | 'cGg' | 'cGu' | 'Cac' | 'Cag' | 'Cau' | 'Cca' | 'Ccc' | 'Ccg' | 'Ccu' | 'Cgc' | 'Cgg' | 'Cgu' | 'Cuc' | 'Cuu' | 'gCa' | 'Gcc' | 'gCg' | 'gCc' | 'gCu' | 'gGa' | 'gGc' | 'gGg' | 'gGu' | 'Gaa' | 'Gac' | 'Gag' | 'Gau' | 'Gca' | 'Gcg' | 'Gcu' | 'Gga' | 'Ggc' | 'Ggg' | 'Ggu' | 'Gua' | 'Guc' | 'Gug' | 'Guu' | 'uCa' | 'uCg' | 'uCc' | 'uCu' | 'uGc' | 'uGu' | 'ugG';
57
+ type ConsequenceType = 'missense';
58
+ type DType = 'A' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'K' | 'L' | 'M' | 'N' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'Y';
59
+ type SourceType = 'Rna Editing';
60
+ type VariantLocation = {
61
+ loc: string;
62
+ seqId: string;
63
+ source: Source;
64
+ };
65
+ type Source = 'Ensembl';
66
+ type Xref = {
67
+ id: string;
68
+ };
69
+ export {};
@@ -7,7 +7,7 @@ export type ProtvistaTrackConfig = {
7
7
  trackType: TrackType;
8
8
  data: {
9
9
  url: string | string[];
10
- adapter?: 'feature-adapter' | 'structure-adapter' | 'proteomics-adapter' | 'variation-adapter' | 'variation-graph-adapter' | 'interpro-adapter' | 'alphafold-confidence-adapter' | 'alphamissense-pathogenicity-adapter' | 'alphamissense-heatmap-adapter' | 'proteomics-ptm-adapter';
10
+ adapter?: 'feature-adapter' | 'structure-adapter' | 'proteomics-adapter' | 'variation-adapter' | 'variation-graph-adapter' | 'interpro-adapter' | 'alphafold-confidence-adapter' | 'alphamissense-pathogenicity-adapter' | 'alphamissense-heatmap-adapter' | 'proteomics-ptm-adapter' | 'rna-editing-adapter' | 'rna-editing-graph-adapter';
11
11
  }[];
12
12
  tooltip: string;
13
13
  color?: string;
@@ -0,0 +1,5 @@
1
+ import { PTM } from '../adapters/ptm-exchange-adapter';
2
+ export declare const phosphorylate: (aa: string) => string;
3
+ export declare const sumoylate: (aa: string) => string;
4
+ declare const formatTooltip: (ptms: PTM[], aa: string, confidenceScore: string) => string;
5
+ export default formatTooltip;
@@ -0,0 +1,3 @@
1
+ import { TransformedRnaEditing } from '../adapters/types/rna-editing';
2
+ declare const formatTooltip: (feature: TransformedRnaEditing) => string;
3
+ export default formatTooltip;
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": "4.0.0",
4
+ "version": "4.2.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -29,17 +29,17 @@
29
29
  "author": "Xavier Watkins <xwatkins@ebi.ac.uk>",
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@nightingale-elements/nightingale-colored-sequence": "5.3.0",
33
- "@nightingale-elements/nightingale-filter": "5.3.0",
34
- "@nightingale-elements/nightingale-interpro-track": "5.3.0",
35
- "@nightingale-elements/nightingale-linegraph-track": "5.3.0",
36
- "@nightingale-elements/nightingale-manager": "5.3.0",
37
- "@nightingale-elements/nightingale-navigation": "5.3.0",
38
- "@nightingale-elements/nightingale-sequence": "5.3.0",
32
+ "@nightingale-elements/nightingale-colored-sequence": "5.4.0",
33
+ "@nightingale-elements/nightingale-filter": "5.4.0",
34
+ "@nightingale-elements/nightingale-interpro-track": "5.4.0",
35
+ "@nightingale-elements/nightingale-linegraph-track": "5.4.0",
36
+ "@nightingale-elements/nightingale-manager": "5.4.0",
37
+ "@nightingale-elements/nightingale-navigation": "5.4.0",
38
+ "@nightingale-elements/nightingale-sequence": "5.4.0",
39
39
  "@nightingale-elements/nightingale-sequence-heatmap": "5.4.0",
40
- "@nightingale-elements/nightingale-structure": "5.3.1",
41
- "@nightingale-elements/nightingale-track": "5.3.0",
42
- "@nightingale-elements/nightingale-variation": "5.3.0",
40
+ "@nightingale-elements/nightingale-structure": "5.4.0",
41
+ "@nightingale-elements/nightingale-track": "5.4.0",
42
+ "@nightingale-elements/nightingale-variation": "5.4.0",
43
43
  "color-hash": "2.0.2",
44
44
  "core-js": "3.13.0",
45
45
  "lit": "3.1.3",
@@ -0,0 +1,3 @@
1
+ {
2
+ "window.title": "${rootPath}${separator}[new-ptm-builds]"
3
+ }
@@ -1,3 +1,5 @@
1
+ import formatTooltip from "../tooltips/ptmTooltip";
2
+
1
3
  type ProteomicsPtm = {
2
4
  accession: string;
3
5
  entryName: string;
@@ -34,7 +36,7 @@ type Xref = {
34
36
  url: string;
35
37
  };
36
38
 
37
- type PTM = {
39
+ export type PTM = {
38
40
  name: string;
39
41
  position: number;
40
42
  sources: string[];
@@ -52,34 +54,11 @@ enum ConfidenceScoreColors {
52
54
  Bronze = '#a65708',
53
55
  }
54
56
 
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
57
  const convertPtmExchangePtms = (
74
58
  ptms: PTM[],
75
59
  aa: string,
76
60
  absolutePosition: number
77
61
  ) => {
78
- const evidences = [
79
- ...ptms.flatMap(({ dbReferences }) =>
80
- dbReferences?.flatMap(({ id }) => [id])
81
- ),
82
- ];
83
62
  const confidenceScores = new Set(
84
63
  ptms.flatMap(({ dbReferences }) =>
85
64
  dbReferences?.map(({ properties }) => properties['Confidence score'])
@@ -97,40 +76,13 @@ const convertPtmExchangePtms = (
97
76
  [confidenceScore] = confidenceScores;
98
77
  }
99
78
 
100
- const tooltip = `
101
- <h5>Description</h5><p>${phosphorylate(aa)}</p>
102
- ${
103
- confidenceScore
104
- ? `<h5 data-article-id="mod_res_large_scale#confidence-score">Confidence Score</h5><p>${confidenceScore}</p>`
105
- : ''
106
- }
107
- ${
108
- evidences
109
- ? `<h5>Evidence</h5><ul class="no-bullet">${evidences
110
- .map((id) => {
111
- const datasetID = id === 'Glue project' ? 'PXD012174' : id;
112
- return `<li title='${datasetID}' style="padding: .25rem 0">${datasetID}&nbsp;
113
- (<a href="https://proteomecentral.proteomexchange.org/dataset/${datasetID}" style="color:#FFF" target="_blank">ProteomeXchange</a>)
114
- </li>
115
- ${
116
- id === 'Glue project'
117
- ? `<li title="publication" style="padding: .25rem 0">Publication:&nbsp;31819260&nbsp;(<a href="https://pubmed.ncbi.nlm.nih.gov/31819260" style="color:#FFF" target="_blank">PubMed</a>)</li>`
118
- : ''
119
- }
120
- `;
121
- })
122
- .join('')}</ul>`
123
- : ''
124
- }
125
- `;
126
-
127
79
  return {
128
80
  source: 'PTMeXchange',
129
81
  type: 'MOD_RES_LS',
130
82
  start: absolutePosition,
131
83
  end: absolutePosition,
132
84
  shape: 'triangle',
133
- tooltipContent: tooltip,
85
+ tooltipContent: formatTooltip(ptms, aa, confidenceScore),
134
86
  color:
135
87
  (confidenceScore && ConfidenceScoreColors[confidenceScore]) || 'black',
136
88
  };
@@ -0,0 +1,29 @@
1
+ import { AminoAcid } from '@nightingale-elements/nightingale-variation';
2
+
3
+ import { RnaEditing, TransformedRnaEditing } from './types/rna-editing';
4
+ import formatTooltip from '../tooltips/rnaEditingTooltip';
5
+
6
+ const transformData = ({
7
+ sequence,
8
+ features = [],
9
+ }: RnaEditing): {
10
+ sequence: string;
11
+ variants: TransformedRnaEditing[];
12
+ } => ({
13
+ sequence,
14
+ variants: features.map((feature) => {
15
+ const transformed: TransformedRnaEditing = {
16
+ ...feature,
17
+ accession: feature.variantType.genomicLocation?.join(', '),
18
+ variant: feature.variantType.mutatedType || AminoAcid.Empty,
19
+ start: +feature.locationType.position.position,
20
+ end: +feature.locationType.position.position,
21
+ consequenceType: feature.variantType.consequenceType,
22
+ tooltipContent: '', // Set with transformed feature below,
23
+ };
24
+ transformed.tooltipContent = formatTooltip(transformed);
25
+ return transformed;
26
+ }),
27
+ });
28
+
29
+ export default transformData;
@@ -0,0 +1,48 @@
1
+ import { RnaEditing } from './types/rna-editing';
2
+
3
+ const transformData = (data: RnaEditing) => {
4
+ if (data.sequence && data.features.length) {
5
+ const total = new Uint8ClampedArray(data.sequence.length);
6
+ const missense = new Uint8ClampedArray(data.sequence.length);
7
+ const synonymous = new Uint8ClampedArray(data.sequence.length);
8
+ for (const feature of data.features) {
9
+ const index = +feature.locationType.position.position;
10
+ const consequence = feature.variantType.consequenceType;
11
+ if (index >= 0 && index <= data.sequence.length) {
12
+ total[index] += 1;
13
+ if (consequence === 'missense') {
14
+ missense[index] += 1;
15
+ } else if (consequence === 'synonymous') {
16
+ // TODO: at present the data contains only missense
17
+ synonymous[index] += 1;
18
+ }
19
+ }
20
+ }
21
+
22
+ const range = [0, Math.max(...total)];
23
+ const graphData = [
24
+ {
25
+ name: 'missense',
26
+ range,
27
+ color: 'darkgrey',
28
+ values: [...missense].map((value, index) => ({
29
+ position: index,
30
+ value: value,
31
+ })),
32
+ },
33
+ // TODO: at present the data contains only missense
34
+ // {
35
+ // name: 'synonymous',
36
+ // range,
37
+ // color: 'red',
38
+ // values: [...synonymous].map((value, index) => ({
39
+ // position: index,
40
+ // value: value,
41
+ // })),
42
+ // },
43
+ ];
44
+ return graphData;
45
+ }
46
+ };
47
+
48
+ export default transformData;
@@ -0,0 +1,175 @@
1
+ // Yvonne Lussi: This first dataset is for human proteins, and we decided to only show
2
+ // the RNA editing events that have missense consequence. It may be possible to import
3
+ // the synonymous events at a later timepoint.
4
+ // Fetch all of the available human rna-editing entries
5
+ // Source: https://www.ebi.ac.uk/proteins/api/rna-editing?offset=0&size=-1&taxid=9606
6
+ // Save above request to rna-editing.json then using quicktype tool (https://github.com/glideapps/quicktype):
7
+ // quicktype rna-editing.json -o rna-editing.ts --just-types
8
+ // Changed interfaces for types and replaced enums string literal types
9
+
10
+ export type RnaEditing = {
11
+ accession: string;
12
+ entryName: string;
13
+ sequence: string;
14
+ sequenceChecksum: string;
15
+ taxid: number;
16
+ features: RnaEditingFeature[];
17
+ };
18
+
19
+ export type RnaEditingFeature = {
20
+ type: Type;
21
+ xrefs: Xref[];
22
+ dbReferenceType: DBReferenceType[];
23
+ variantType: VariantType;
24
+ rnaEditingInfo: RnaEditingInfo;
25
+ locationType: LocationType;
26
+ variantlocation: string[];
27
+ };
28
+
29
+ export type TransformedRnaEditing = RnaEditingFeature & {
30
+ accession: string;
31
+ variant: string;
32
+ start: number;
33
+ end: number;
34
+ tooltipContent: string;
35
+ consequenceType: string;
36
+ };
37
+
38
+ type DBReferenceType = {
39
+ id: string;
40
+ type: Type;
41
+ };
42
+
43
+ type Type = 'rna_editing';
44
+
45
+ type LocationType = {
46
+ position: Position;
47
+ };
48
+
49
+ type Position = {
50
+ position: number;
51
+ status: Status;
52
+ };
53
+
54
+ type Status = 'certain';
55
+
56
+ type RnaEditingInfo = {
57
+ nedBS: number;
58
+ nsamples: number;
59
+ nbodySites: number;
60
+ ntissues: number;
61
+ nedInd: number;
62
+ };
63
+
64
+ type VariantType = {
65
+ genomicLocation: string[];
66
+ variantLocation: VariantLocation[];
67
+ codon: Codon;
68
+ consequenceType: ConsequenceType;
69
+ wildType: DType;
70
+ mutatedType: DType;
71
+ somaticStatus: boolean;
72
+ sourceType: SourceType;
73
+ };
74
+
75
+ type Codon =
76
+ | 'aCa'
77
+ | 'aCg'
78
+ | 'aCc'
79
+ | 'aCu'
80
+ | 'aGa'
81
+ | 'aGc'
82
+ | 'aGg'
83
+ | 'aGu'
84
+ | 'auG'
85
+ | 'cCa'
86
+ | 'cCg'
87
+ | 'cCc'
88
+ | 'cCu'
89
+ | 'Cga'
90
+ | 'cGa'
91
+ | 'cGc'
92
+ | 'cGg'
93
+ | 'cGu'
94
+ | 'Cac'
95
+ | 'Cag'
96
+ | 'Cau'
97
+ | 'Cca'
98
+ | 'Ccc'
99
+ | 'Ccg'
100
+ | 'Ccu'
101
+ | 'Cgc'
102
+ | 'Cgg'
103
+ | 'Cgu'
104
+ | 'Cuc'
105
+ | 'Cuu'
106
+ | 'gCa'
107
+ | 'Gcc'
108
+ | 'gCg'
109
+ | 'gCc'
110
+ | 'gCu'
111
+ | 'gGa'
112
+ | 'gGc'
113
+ | 'gGg'
114
+ | 'gGu'
115
+ | 'Gaa'
116
+ | 'Gac'
117
+ | 'Gag'
118
+ | 'Gau'
119
+ | 'Gca'
120
+ | 'Gcg'
121
+ | 'Gcu'
122
+ | 'Gga'
123
+ | 'Ggc'
124
+ | 'Ggg'
125
+ | 'Ggu'
126
+ | 'Gua'
127
+ | 'Guc'
128
+ | 'Gug'
129
+ | 'Guu'
130
+ | 'uCa'
131
+ | 'uCg'
132
+ | 'uCc'
133
+ | 'uCu'
134
+ | 'uGc'
135
+ | 'uGu'
136
+ | 'ugG';
137
+
138
+ type ConsequenceType = 'missense';
139
+
140
+ type DType =
141
+ | 'A'
142
+ | 'C'
143
+ | 'D'
144
+ | 'E'
145
+ | 'F'
146
+ | 'G'
147
+ | 'H'
148
+ | 'I'
149
+ | 'K'
150
+ | 'L'
151
+ | 'M'
152
+ | 'N'
153
+ | 'P'
154
+ | 'Q'
155
+ | 'R'
156
+ | 'S'
157
+ | 'T'
158
+ | 'U'
159
+ | 'V'
160
+ | 'W'
161
+ | 'Y';
162
+
163
+ type SourceType = 'Rna Editing';
164
+
165
+ type VariantLocation = {
166
+ loc: string;
167
+ seqId: string;
168
+ source: Source;
169
+ };
170
+
171
+ type Source = 'Ensembl';
172
+
173
+ type Xref = {
174
+ id: string;
175
+ };
@@ -29,9 +29,7 @@ const transformData = (
29
29
  const variants = features.map((variant) => ({
30
30
  ...variant,
31
31
  accession: variant.genomicLocation?.join(', '),
32
- variant: variant.alternativeSequence
33
- ? variant.alternativeSequence
34
- : AminoAcid.Empty,
32
+ variant: variant.alternativeSequence || AminoAcid.Empty,
35
33
  start: +variant.begin,
36
34
  xrefNames: getSourceType(variant.xrefs, variant.sourceType),
37
35
  hasPredictions: variant.predictions && variant.predictions.length > 0,
@@ -15,22 +15,21 @@ const transformData = (data) => {
15
15
  // eslint-disable-next-line no-continue
16
16
  if (index < 1 || index > data.sequence.length) continue;
17
17
 
18
- // eslint-disable-next-line no-plusplus
19
- total[index]++;
18
+ total[index] += 1;
20
19
 
21
20
  // eslint-disable-next-line no-continue
22
21
  if (!association) continue;
23
22
  const hasDisease = association.find(
24
23
  (association) => association.disease === true
25
24
  );
26
- // eslint-disable-next-line no-plusplus
27
- if (hasDisease) diseaseTotal[index]++;
25
+ if (hasDisease) diseaseTotal[index] += 1;
28
26
  }
29
27
 
28
+ const range = [0, Math.max(Math.max(...total), Math.max(...diseaseTotal))];
30
29
  const graphData = [
31
30
  {
32
31
  name: 'variant',
33
- range: [0, Math.max(Math.max(...total), Math.max(...diseaseTotal))],
32
+ range,
34
33
  color: 'darkgrey',
35
34
  values: [...total].map((value, index) => ({
36
35
  position: index,
@@ -39,7 +38,7 @@ const transformData = (data) => {
39
38
  },
40
39
  {
41
40
  name: 'disease causing variant',
42
- range: [0, Math.max(Math.max(...total), Math.max(...diseaseTotal))],
41
+ range,
43
42
  color: 'red',
44
43
  values: [...diseaseTotal].map((value, index) => ({
45
44
  position: index,
package/src/config.ts CHANGED
@@ -41,7 +41,9 @@ export type ProtvistaTrackConfig = {
41
41
  | 'alphafold-confidence-adapter'
42
42
  | 'alphamissense-pathogenicity-adapter'
43
43
  | 'alphamissense-heatmap-adapter'
44
- | 'proteomics-ptm-adapter';
44
+ | 'proteomics-ptm-adapter'
45
+ | 'rna-editing-adapter'
46
+ | 'rna-editing-graph-adapter';
45
47
  }[];
46
48
  tooltip: string;
47
49
  color?: string;
@@ -676,6 +678,38 @@ const config: ProtvistaConfig = {
676
678
  },
677
679
  ],
678
680
  },
681
+ {
682
+ name: 'RNA_EDITING',
683
+ label: 'RNA Editing',
684
+ trackType: 'nightingale-linegraph-track',
685
+ tracks: [
686
+ {
687
+ name: 'rna_editing_graph',
688
+ label: 'Counts',
689
+ trackType: 'nightingale-linegraph-track',
690
+ data: [
691
+ {
692
+ adapter: 'rna-editing-graph-adapter',
693
+ url: `${proteinsApi}rna-editing/{accession}`,
694
+ },
695
+ ],
696
+ tooltip:
697
+ 'RNA editing events leading to one or more amino acid changes compared to the translation of the non-edited RNA version.',
698
+ },
699
+ {
700
+ name: 'RNA Editing',
701
+ trackType: 'nightingale-variation',
702
+ data: [
703
+ {
704
+ adapter: 'rna-editing-adapter',
705
+ url: `${proteinsApi}rna-editing/{accession}`,
706
+ },
707
+ ],
708
+ tooltip:
709
+ 'RNA editing events leading to one or more amino acid changes compared to the translation of the non-edited RNA version.',
710
+ },
711
+ ],
712
+ },
679
713
  {
680
714
  name: 'PROTEOMICS',
681
715
  label: 'Proteomics',
@@ -27,6 +27,8 @@ import variationAdapter, {
27
27
  } from './adapters/variation-adapter';
28
28
  import interproAdapter from './adapters/interpro-adapter';
29
29
  import variationGraphAdapter from './adapters/variation-graph-adapter';
30
+ import rnaEditingGraphAdapter from './adapters/rna-editing-graph-adapter';
31
+ import rnaEditingAdapter from './adapters/rna-editing-adapter';
30
32
  import proteomicsPTMApdapter from './adapters/ptm-exchange-adapter';
31
33
  import alphaFoldConfidenceAdapter from './adapters/alphafold-confidence-adapter';
32
34
  import alphaMissensePathogenicityAdapter from './adapters/alphamissense-pathogenicity-adapter';
@@ -56,6 +58,8 @@ const adapters = {
56
58
  'structure-adapter': structureAdapter,
57
59
  'variation-adapter': variationAdapter,
58
60
  'variation-graph-adapter': variationGraphAdapter,
61
+ 'rna-editing-adapter': rnaEditingAdapter,
62
+ 'rna-editing-graph-adapter': rnaEditingGraphAdapter,
59
63
  'proteomics-ptm-adapter': proteomicsPTMApdapter,
60
64
  'alphafold-confidence-adapter': alphaFoldConfidenceAdapter,
61
65
  'alphamissense-pathogenicity-adapter': alphaMissensePathogenicityAdapter,
@@ -99,8 +103,8 @@ class ProtvistaUniprot extends LitElement {
99
103
  this.data = {};
100
104
  this.rawData = {};
101
105
  this.displayCoordinates = {};
102
- (this.transformedVariants = { sequence: '', variants: [] }),
103
- this.addStyles();
106
+ this.transformedVariants = { sequence: '', variants: [] };
107
+ this.addStyles();
104
108
  }
105
109
 
106
110
  static get properties() {
@@ -117,9 +121,7 @@ class ProtvistaUniprot extends LitElement {
117
121
  }
118
122
 
119
123
  addStyles() {
120
- // We are not using static get styles()
121
- // as we are not using the shadowDOM
122
- // because of Mol*
124
+ // We are not using static get styles() as we are not using the shadowDOM because of Mol*
123
125
  const styleTag = document.createElement('style');
124
126
  styleTag.innerHTML = `${protvistaStyles.toString()} ${loaderStyles.toString()}`;
125
127
  document.querySelector('head')?.append(styleTag);