protvista-uniprot 3.0.0 → 3.0.7

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.
Files changed (83) hide show
  1. package/dist/protvista-uniprot.mjs +368 -0
  2. package/dist/{protvista-uniprot.js.map → protvista-uniprot.mjs.map} +1 -1
  3. package/dist/types/index.d.ts +7 -0
  4. package/package.json +19 -11
  5. package/src/index.ts +6 -17
  6. package/dist/es/__spec__/filter-config.spec.js +0 -123
  7. package/dist/es/__spec__/filter-config.spec.js.map +0 -1
  8. package/dist/es/adapters/__tests__/__mocks__/uniprotkb-entry-data.js +0 -75
  9. package/dist/es/adapters/__tests__/__mocks__/uniprotkb-entry-data.js.map +0 -1
  10. package/dist/es/adapters/__tests__/structure-adapter.spec.js +0 -14
  11. package/dist/es/adapters/__tests__/structure-adapter.spec.js.map +0 -1
  12. package/dist/es/adapters/alphafold-confidence-adapter.js +0 -26
  13. package/dist/es/adapters/alphafold-confidence-adapter.js.map +0 -1
  14. package/dist/es/adapters/alphamissense-heatmap-adapter.js +0 -36
  15. package/dist/es/adapters/alphamissense-heatmap-adapter.js.map +0 -1
  16. package/dist/es/adapters/alphamissense-pathogenicity-adapter.js +0 -68
  17. package/dist/es/adapters/alphamissense-pathogenicity-adapter.js.map +0 -1
  18. package/dist/es/adapters/config/evidence.js +0 -101
  19. package/dist/es/adapters/config/evidence.js.map +0 -1
  20. package/dist/es/adapters/feature-adapter.js +0 -18
  21. package/dist/es/adapters/feature-adapter.js.map +0 -1
  22. package/dist/es/adapters/interpro-adapter.js +0 -60
  23. package/dist/es/adapters/interpro-adapter.js.map +0 -1
  24. package/dist/es/adapters/proteomics-adapter.js +0 -66
  25. package/dist/es/adapters/proteomics-adapter.js.map +0 -1
  26. package/dist/es/adapters/ptm-exchange-adapter.js +0 -101
  27. package/dist/es/adapters/ptm-exchange-adapter.js.map +0 -1
  28. package/dist/es/adapters/structure-adapter.js +0 -89
  29. package/dist/es/adapters/structure-adapter.js.map +0 -1
  30. package/dist/es/adapters/types/alphafold.js +0 -2
  31. package/dist/es/adapters/types/alphafold.js.map +0 -1
  32. package/dist/es/adapters/variation-adapter.js +0 -31
  33. package/dist/es/adapters/variation-adapter.js.map +0 -1
  34. package/dist/es/adapters/variation-graph-adapter.js +0 -53
  35. package/dist/es/adapters/variation-graph-adapter.js.map +0 -1
  36. package/dist/es/config.json +0 -811
  37. package/dist/es/filter-config.js +0 -157
  38. package/dist/es/filter-config.js.map +0 -1
  39. package/dist/es/index.d.ts +0 -7
  40. package/dist/es/index.js +0 -8
  41. package/dist/es/index.js.map +0 -1
  42. package/dist/es/protvista-uniprot-structure.js +0 -379
  43. package/dist/es/protvista-uniprot-structure.js.map +0 -1
  44. package/dist/es/protvista-uniprot.js +0 -594
  45. package/dist/es/protvista-uniprot.js.map +0 -1
  46. package/dist/es/styles/loader-styles.js +0 -20
  47. package/dist/es/styles/loader-styles.js.map +0 -1
  48. package/dist/es/styles/protvista-styles.js +0 -89
  49. package/dist/es/styles/protvista-styles.js.map +0 -1
  50. package/dist/es/tooltips/featureTooltip.js +0 -160
  51. package/dist/es/tooltips/featureTooltip.js.map +0 -1
  52. package/dist/es/tooltips/structureTooltip.js +0 -15
  53. package/dist/es/tooltips/structureTooltip.js.map +0 -1
  54. package/dist/es/tooltips/variationTooltip.js +0 -82
  55. package/dist/es/tooltips/variationTooltip.js.map +0 -1
  56. package/dist/es/utils.js +0 -28
  57. package/dist/es/utils.js.map +0 -1
  58. package/dist/protvista-uniprot.js +0 -368
  59. /package/dist/{protvista-uniprot.js.LICENSE.txt → protvista-uniprot.mjs.LICENSE.txt} +0 -0
  60. /package/dist/{es → types}/__spec__/filter-config.spec.d.ts +0 -0
  61. /package/dist/{es → types}/adapters/__tests__/__mocks__/uniprotkb-entry-data.d.ts +0 -0
  62. /package/dist/{es → types}/adapters/__tests__/structure-adapter.spec.d.ts +0 -0
  63. /package/dist/{es → types}/adapters/alphafold-confidence-adapter.d.ts +0 -0
  64. /package/dist/{es → types}/adapters/alphamissense-heatmap-adapter.d.ts +0 -0
  65. /package/dist/{es → types}/adapters/alphamissense-pathogenicity-adapter.d.ts +0 -0
  66. /package/dist/{es → types}/adapters/config/evidence.d.ts +0 -0
  67. /package/dist/{es → types}/adapters/feature-adapter.d.ts +0 -0
  68. /package/dist/{es → types}/adapters/interpro-adapter.d.ts +0 -0
  69. /package/dist/{es → types}/adapters/proteomics-adapter.d.ts +0 -0
  70. /package/dist/{es → types}/adapters/ptm-exchange-adapter.d.ts +0 -0
  71. /package/dist/{es → types}/adapters/structure-adapter.d.ts +0 -0
  72. /package/dist/{es → types}/adapters/types/alphafold.d.ts +0 -0
  73. /package/dist/{es → types}/adapters/variation-adapter.d.ts +0 -0
  74. /package/dist/{es → types}/adapters/variation-graph-adapter.d.ts +0 -0
  75. /package/dist/{es → types}/filter-config.d.ts +0 -0
  76. /package/dist/{es → types}/protvista-uniprot-structure.d.ts +0 -0
  77. /package/dist/{es → types}/protvista-uniprot.d.ts +0 -0
  78. /package/dist/{es → types}/styles/loader-styles.d.ts +0 -0
  79. /package/dist/{es → types}/styles/protvista-styles.d.ts +0 -0
  80. /package/dist/{es → types}/tooltips/featureTooltip.d.ts +0 -0
  81. /package/dist/{es → types}/tooltips/structureTooltip.d.ts +0 -0
  82. /package/dist/{es → types}/tooltips/variationTooltip.d.ts +0 -0
  83. /package/dist/{es → types}/utils.d.ts +0 -0
@@ -1,60 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,66 +0,0 @@
1
- import { renameProperties } from '../utils';
2
- import formatTooltip from '../tooltips/featureTooltip';
3
- const proteomicsTrackProperties = (feature) => {
4
- return {
5
- category: 'PROTEOMICS',
6
- type: feature.unique ? 'unique' : 'non_unique',
7
- tooltipContent: formatTooltip(feature),
8
- };
9
- };
10
- const transformData = (data) => {
11
- let adaptedData = [];
12
- if (data && data.length !== 0) {
13
- /* Important: The PTM map is a temporary patch until multiple modifications are shown in the peptide. At this point, only 'phospho' sites are of interest.
14
- Once they are available in the data, there is no need for the below merging */
15
- // To merge PTM data present in same residue in a same length peptide, have a map [key: start-end-phospho site 1-... phosphosite n, value: corresponding feature elements]
16
- const ptmMap = {};
17
- data.features.forEach((feature) => {
18
- let ft = `${feature.begin}-${feature.end}`;
19
- if (feature.ptms) {
20
- feature.ptms.forEach((ptm) => {
21
- ft += `-${ptm.position}`;
22
- });
23
- ptmMap[ft] = ft in ptmMap ? [...ptmMap[ft], feature] : [feature];
24
- }
25
- });
26
- // The else part alone is enough if the PTM information need not be merged.
27
- if (Object.keys(ptmMap).length) {
28
- adaptedData = Object.values(ptmMap).map((features) => {
29
- // Only the dbReferences have to be merged as the rest is all the same
30
- const mergedDbReferences = [];
31
- features.forEach((feature) => {
32
- feature.ptms.forEach((ptm) => {
33
- ptm.dbReferences.forEach((dbReference) => {
34
- mergedDbReferences.push(dbReference);
35
- });
36
- });
37
- });
38
- const mergedFeatures = {
39
- type: features[0].type,
40
- begin: features[0].begin,
41
- end: features[0].end,
42
- xrefs: features[0].xrefs,
43
- evidences: features[0].evidences,
44
- peptide: features[0].peptide,
45
- unique: features[0].unique,
46
- ptms: features[0].ptms.map((ptm) => ({
47
- name: ptm.name,
48
- position: ptm.position,
49
- sources: ptm.sources,
50
- dbReferences: mergedDbReferences,
51
- })),
52
- };
53
- return Object.assign(mergedFeatures, proteomicsTrackProperties(mergedFeatures));
54
- }, []);
55
- }
56
- else {
57
- adaptedData = data.features.map((feature) => {
58
- return Object.assign(feature, proteomicsTrackProperties(feature));
59
- });
60
- }
61
- adaptedData = renameProperties(adaptedData);
62
- }
63
- return adaptedData;
64
- };
65
- export default transformData;
66
- //# sourceMappingURL=proteomics-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proteomics-adapter.js","sourceRoot":"","sources":["../../../src/adapters/proteomics-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
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 === null || dbReferences === void 0 ? void 0 : dbReferences.map(({ properties }) => properties['Confidence score'])));
28
- let confidenceScore;
29
- if (!confidenceScores.size) {
30
- console.log('PTM has no confidence score');
31
- }
32
- else if (confidenceScores.size > 1) {
33
- console.error(`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
41
- ? `<h5 data-article-id="mod_res_large_scale#confidence-score">Confidence Score</h5><p>${confidenceScore}</p>`
42
- : ''}
43
- ${evidences
44
- ? `<h5>Evidence</h5><ul>${evidences
45
- .map((id) => {
46
- const datasetID = id === 'Glue project' ? 'PXD012174' : id;
47
- return `<li title='${datasetID}' style="padding: .25rem 0">${datasetID}&nbsp;
48
- (<a href="https://proteomecentral.proteomexchange.org/dataset/${datasetID}" style="color:#FFF" target="_blank">ProteomeXchange</a>)
49
- </li>
50
- ${id === 'Glue project'
51
- ? `<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>`
52
- : ''}
53
- `;
54
- })
55
- .join('')}</ul>`
56
- : ''}
57
- `;
58
- return {
59
- source: 'PTMeXchange',
60
- type: 'MOD_RES_LS',
61
- start: absolutePosition,
62
- end: absolutePosition,
63
- shape: 'triangle',
64
- tooltipContent: tooltip,
65
- color: ConfidenceScoreColors[confidenceScore] || 'black',
66
- };
67
- };
68
- const transformData = (data) => {
69
- if (data) {
70
- const { features } = data;
71
- const absolutePositionToPtms = {};
72
- if (features) {
73
- for (const feature of features) {
74
- for (const ptm of feature.ptms) {
75
- const absolutePosition = +feature.begin + ptm.position - 1;
76
- if (!Number.isFinite(absolutePosition)) {
77
- console.error(`Encountered infinite number: +feature.begin + ptm.position - 1 = ${+feature.begin} + ${ptm.position} - 1`);
78
- // eslint-disable-next-line no-continue
79
- continue;
80
- }
81
- const aa = feature.peptide[ptm.position - 1];
82
- if (absolutePosition in absolutePositionToPtms) {
83
- if (absolutePositionToPtms[absolutePosition].aa !== aa) {
84
- console.error(`One PTM has different amino acid values: [${absolutePositionToPtms[absolutePosition].aa}, ${aa}]`);
85
- }
86
- else {
87
- absolutePositionToPtms[absolutePosition].ptms.push(ptm);
88
- }
89
- }
90
- else {
91
- absolutePositionToPtms[absolutePosition] = { ptms: [ptm], aa };
92
- }
93
- }
94
- }
95
- return Object.entries(absolutePositionToPtms).map(([absolutePosition, { ptms, aa }]) => convertPtmExchangePtms(ptms, aa, +absolutePosition));
96
- }
97
- }
98
- return [];
99
- };
100
- export default transformData;
101
- //# sourceMappingURL=ptm-exchange-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptm-exchange-adapter.js","sourceRoot":"","sources":["../../../src/adapters/ptm-exchange-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import formatTooltip from '../tooltips/structureTooltip';
2
- const featureType = 'PDBE_COVER';
3
- const featureCategory = 'STRUCTURE_COVERAGE';
4
- const capitalizeFirstLetter = (word) => {
5
- return word.charAt(0).toUpperCase() + word.slice(1);
6
- };
7
- const getDescription = (properties) => {
8
- return Object.keys(properties).reduce((accumulator, propertyKey) => `${accumulator}${capitalizeFirstLetter(propertyKey)}: ${properties[propertyKey]}. `, '');
9
- };
10
- const parseChainString = (value) => {
11
- const posEqual = value.indexOf('=');
12
- const posDash = value.indexOf('-');
13
- if (posEqual === -1 || posDash === -1) {
14
- return { start: 0, end: 0 };
15
- }
16
- return {
17
- start: +value.slice(posEqual + 1, posDash),
18
- end: +value.slice(posDash + 1),
19
- };
20
- };
21
- // Iterate over references and extract chain start and end
22
- export const getAllFeatureStructures = (data) => {
23
- return data.dbReferences
24
- .filter((reference) => {
25
- return reference.type === 'PDB';
26
- })
27
- .map((structureReference) => {
28
- const parsedChain = structureReference.properties.chains
29
- ? parseChainString(structureReference.properties.chains)
30
- : { start: 0, end: 0 };
31
- return {
32
- type: featureType,
33
- category: featureCategory,
34
- structures: [
35
- {
36
- description: getDescription(structureReference.properties),
37
- start: parsedChain.start,
38
- end: parsedChain.end,
39
- source: {
40
- id: structureReference.id,
41
- url: `http://www.ebi.ac.uk/pdbe-srv/view/entry/${structureReference.id}`,
42
- },
43
- },
44
- ],
45
- start: parsedChain.start,
46
- end: parsedChain.end,
47
- };
48
- });
49
- };
50
- export const mergeOverlappingIntervals = (structures) => {
51
- if (!structures || structures.length <= 0) {
52
- return [];
53
- }
54
- // Sort by start position
55
- const sortedStructures = structures.sort((a, b) => a.start - b.start);
56
- const mergedIntervals = [];
57
- sortedStructures.forEach((structure) => {
58
- const lastItem = mergedIntervals[mergedIntervals.length - 1];
59
- if (!lastItem ||
60
- // If item doesn't overlap, push it
61
- lastItem.end < structure.start) {
62
- mergedIntervals.push(structure);
63
- }
64
- // If the end is bigger update the last one
65
- else if (lastItem.end < structure.end) {
66
- lastItem.end = structure.end;
67
- lastItem.structures.push(structure.structures[0]);
68
- }
69
- // Otherwise just add to last item
70
- else {
71
- lastItem.structures.push(structure.structures[0]);
72
- }
73
- });
74
- return mergedIntervals;
75
- };
76
- const transformData = (data) => {
77
- let transformedData = [];
78
- if (data && data.length !== 0) {
79
- const allFeatureStructures = getAllFeatureStructures(data);
80
- transformedData = mergeOverlappingIntervals(allFeatureStructures);
81
- transformedData.forEach((feature) => {
82
- /* eslint-disable no-param-reassign */
83
- feature.tooltipContent = formatTooltip(feature);
84
- });
85
- }
86
- return transformedData;
87
- };
88
- export default transformData;
89
- //# sourceMappingURL=structure-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"structure-adapter.js","sourceRoot":"","sources":["../../../src/adapters/structure-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=alphafold.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alphafold.js","sourceRoot":"","sources":["../../../../src/adapters/types/alphafold.ts"],"names":[],"mappings":""}
@@ -1,31 +0,0 @@
1
- import { AminoAcid, } from '@nightingale-elements/nightingale-variation';
2
- import formatTooltip from '../tooltips/variationTooltip';
3
- const getSourceType = (xrefs, sourceType) => {
4
- const xrefNames = xrefs ? xrefs.map((ref) => ref.name) : [];
5
- if (sourceType === 'uniprot' || sourceType === 'mixed') {
6
- xrefNames.push('uniprot');
7
- }
8
- return xrefNames;
9
- };
10
- const transformData = (data) => {
11
- const { sequence, features } = data;
12
- const variants = features.map((variant) => {
13
- var _a;
14
- return ({
15
- ...variant,
16
- accession: (_a = variant.genomicLocation) === null || _a === void 0 ? void 0 : _a.join(', '),
17
- variant: variant.alternativeSequence
18
- ? variant.alternativeSequence
19
- : AminoAcid.Empty,
20
- start: +variant.begin,
21
- xrefNames: getSourceType(variant.xrefs, variant.sourceType),
22
- hasPredictions: variant.predictions && variant.predictions.length > 0,
23
- tooltipContent: formatTooltip(variant),
24
- });
25
- });
26
- if (!variants)
27
- return null;
28
- return { sequence, variants };
29
- };
30
- export default transformData;
31
- //# sourceMappingURL=variation-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variation-adapter.js","sourceRoot":"","sources":["../../../src/adapters/variation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,GAKV,MAAM,6CAA6C,CAAC;AAErD,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAIzD,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,UAAsB,EAAE,EAAE;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,EAAE;QACtD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,IAA0B,EAI1B,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;QAAC,OAAA,CAAC;YAC1C,GAAG,OAAO;YACV,SAAS,EAAE,MAAA,OAAO,CAAC,eAAe,0CAAE,IAAI,CAAC,IAAI,CAAC;YAC9C,OAAO,EAAE,OAAO,CAAC,mBAAmB;gBAClC,CAAC,CAAC,OAAO,CAAC,mBAAmB;gBAC7B,CAAC,CAAC,SAAS,CAAC,KAAK;YACnB,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK;YACrB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;YAC3D,cAAc,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACrE,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC;SACvC,CAAC,CAAA;KAAA,CAAC,CAAC;IACJ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,53 +0,0 @@
1
- const transformData = (data) => {
2
- if (data.sequence && data.features.length) {
3
- const variants = data.features.map((variant) => {
4
- var _a;
5
- return ({
6
- ...variant,
7
- accession: (_a = variant.genomicLocation) === null || _a === void 0 ? void 0 : _a.join(', '),
8
- start: variant.begin,
9
- });
10
- });
11
- const total = new Uint8ClampedArray(data.sequence.length);
12
- const diseaseTotal = new Uint8ClampedArray(data.sequence.length);
13
- for (const { start, association } of variants) {
14
- const index = +start;
15
- // skip if the variant is outside of bounds
16
- // eslint-disable-next-line no-continue
17
- if (index < 1 || index > data.sequence.length)
18
- continue;
19
- // eslint-disable-next-line no-plusplus
20
- total[index]++;
21
- // eslint-disable-next-line no-continue
22
- if (!association)
23
- continue;
24
- const hasDisease = association.find((association) => association.disease === true);
25
- // eslint-disable-next-line no-plusplus
26
- if (hasDisease)
27
- diseaseTotal[index]++;
28
- }
29
- const graphData = [
30
- {
31
- name: 'variant',
32
- range: [0, Math.max(Math.max(...total), Math.max(...diseaseTotal))],
33
- color: 'darkgrey',
34
- values: [...total].map((value, index) => ({
35
- position: index,
36
- value: value,
37
- })),
38
- },
39
- {
40
- name: 'disease causing variant',
41
- range: [0, Math.max(Math.max(...total), Math.max(...diseaseTotal))],
42
- color: 'red',
43
- values: [...diseaseTotal].map((value, index) => ({
44
- position: index,
45
- value: value,
46
- })),
47
- },
48
- ];
49
- return graphData;
50
- }
51
- };
52
- export default transformData;
53
- //# sourceMappingURL=variation-graph-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variation-graph-adapter.js","sourceRoot":"","sources":["../../../src/adapters/variation-graph-adapter.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAC/C,GAAG,OAAO;gBACV,SAAS,EAAE,MAAA,OAAO,CAAC,eAAe,0CAAE,IAAI,CAAC,IAAI,CAAC;gBAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;SAAA,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEjE,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,QAAQ,EAAE;YAC7C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;YACrB,2CAA2C;YAC3C,uCAAuC;YACvC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,SAAS;YAExD,uCAAuC;YACvC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAEf,uCAAuC;YACvC,IAAI,CAAC,WAAW;gBAAE,SAAS;YAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CACjC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,IAAI,CAC9C,CAAC;YACF,uCAAuC;YACvC,IAAI,UAAU;gBAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;SACvC;QAED,MAAM,SAAS,GAAG;YAChB;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;gBACnE,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBACxC,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;aACJ;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;gBACnE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC/C,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;aACJ;SACF,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}