visualifyjs 2.5.3-2.dev → 2.5.3-9-dev
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of visualifyjs might be problematic. Click here for more details.
- package/.github/workflows/{static.yml.bak → build.yaml} +51 -51
- package/LICENSE +674 -674
- package/README.md +40 -58
- package/config-overrides.js +31 -31
- package/dist/visualify.js +3 -3
- package/docs/CLI.md +15 -0
- package/docs/{docs/README.md → README.md} +41 -65
- package/docs/{docs/Rechart → Rechart}/bar.md +190 -190
- package/docs/{docs/Rechart → Rechart}/funnel.md +193 -241
- package/docs/{docs/Rechart → Rechart}/line.md +355 -355
- package/docs/{docs/Rechart → Rechart}/pie.md +225 -225
- package/docs/{docs/Rechart → Rechart}/radar.md +253 -253
- package/docs/{docs/_404.md → _404.md} +51 -51
- package/docs/{docs/_coverpage.md → _coverpage.md} +11 -11
- package/docs/{docs/_sidebar.md → _sidebar.md} +42 -44
- package/docs/{docs/components → components}/dotBio.md +34 -34
- package/docs/{docs/components → components}/echart.md +82 -82
- package/docs/{docs/components → components}/html.md +34 -34
- package/docs/{docs/components → components}/macaron.md +145 -145
- package/docs/components/markdown.md +0 -0
- package/docs/{docs/components → components}/more.md +142 -142
- package/docs/{docs/components → components}/plotly.md +62 -62
- package/docs/{docs/components → components}/scatterL.md +70 -70
- package/docs/{docs/components → components}/visium.md +56 -56
- package/docs/{docs/configuration.md → configuration.md} +123 -121
- package/docs/{docs/deploy.md → deploy.md} +23 -31
- package/docs/index.html +70 -70
- package/docs/log.md +1 -0
- package/docs/manifest.json +23 -23
- package/docs/{docs/more-pages.md → more-pages.md} +23 -23
- package/docs/{docs/quickstart.md → quickstart.md} +115 -124
- package/docs/{docs/rechart-attributes.md → rechart-attributes.md} +74 -74
- package/docs/{docs/rechart-basic-usage.md → rechart-basic-usage.md} +162 -162
- package/docs/static/css/fluff-stuff.css +169 -169
- package/docs/static/css/font-awesome.min.css +4 -4
- package/docs/static/css/visualify.css +25 -25
- package/docs/static/js/configuration.js +448 -448
- package/docs/static/js/visualify.js +24 -23
- package/docs/theme.md +3 -0
- package/package.json +74 -83
- package/rollup.config.mjs +75 -75
- package/src/_css/404.css +115 -115
- package/src/_css/App.css +37 -37
- package/src/_css/autoSuggestion.css +26 -26
- package/src/_css/circular-progress.css +32 -32
- package/src/_css/index.css +36 -36
- package/src/_css/modern.css +24 -24
- package/src/_media/corner.svg +8 -8
- package/src/_media/download.svg +3 -3
- package/src/_media/logo.svg +14 -14
- package/src/_test/App.test.js +15 -15
- package/src/_utils/reportWebVitals.js +13 -13
- package/src/core/appContext.js +27 -27
- package/src/core/components/Scatter.js +188 -188
- package/src/core/components/ScatterBio.js +572 -572
- package/src/core/components/VisiumPlot.js +165 -165
- package/src/core/components/browser.js +42 -42
- package/src/core/components/dotplot.js +413 -413
- package/src/core/components/html.js +29 -29
- package/src/core/components/list.js +178 -178
- package/src/core/components/macaron.js +201 -201
- package/src/core/components/markdown.js +56 -56
- package/src/core/components/parser.scatterBio.js +579 -587
- package/src/core/components/ratio.js +80 -80
- package/src/core/components/scatterL.js +173 -173
- package/src/core/components/searchbar.js +131 -131
- package/src/core/components/selection.js +193 -193
- package/src/core/components/timeline.js +281 -281
- package/src/core/components/visium.js +97 -97
- package/src/core/fetch/condfetch.js +82 -82
- package/src/core/fetch/fetch.js +92 -92
- package/src/core/fetch/json.js +29 -29
- package/src/core/fetch/vfetch.js +42 -42
- package/src/core/liveEditor.js +44 -44
- package/src/core/modules/codeEditorWithPreview.js +104 -104
- package/src/core/modules/echarts/common.js +20 -20
- package/src/core/modules/echarts/presetHandler.js +41 -41
- package/src/core/modules/echarts/presets/esodev.chromium.js +172 -172
- package/src/core/modules/echarts/presets/esodev.codex.js +130 -130
- package/src/core/modules/echarts/presets/esodev.visium.js +123 -123
- package/src/core/modules/echarts/presets/mmtrbc.js +186 -186
- package/src/core/modules/echarts.js +71 -71
- package/src/core/modules/echartsUtils.js +43 -43
- package/src/core/modules/echartswitcher.js +152 -152
- package/src/core/modules/replotly/presetHandler.js +24 -24
- package/src/core/modules/replotly/presets/minimum.js +18 -18
- package/src/core/modules/replotly/presets/mmtrbc.dot.js +114 -114
- package/src/core/modules/replotly/presets/mmtrbc.violin.js +100 -100
- package/src/core/modules/replotly.js +71 -71
- package/src/core/pages/404.js +50 -50
- package/src/core/pages/error.js +27 -27
- package/src/core/pages/jsonPage.js +62 -62
- package/src/core/pages/loading.js +44 -44
- package/src/core/parser/echart.data.js +183 -183
- package/src/core/parser/echart.features.js +125 -125
- package/src/core/parser/echart.general.js +143 -147
- package/src/core/parser/echart.hilbert.js +57 -57
- package/src/core/parser/echart.parser.js +210 -210
- package/src/core/parser/echart.series.js +67 -67
- package/src/core/parser/echart.types.js +76 -76
- package/src/core/parser/plotly.config.js +10 -10
- package/src/core/parser/plotly.data.js +132 -132
- package/src/core/parser/plotly.layout.js +9 -9
- package/src/core/parser/plotly.violin.js +18 -18
- package/src/core/recharts.js +62 -62
- package/src/core/router/alias.js +49 -49
- package/src/core/router/jsonRouter.js +31 -31
- package/src/core/themes/modern.js +32 -32
- package/src/core/themes/themeSelector.js +33 -33
- package/src/core/visualify.js +47 -47
- package/src/core/widgets/circularProgress.js +23 -23
- package/src/core/widgets/controller.js +83 -83
- package/src/core/widgets/errorBoundary.js +36 -36
- package/src/core/widgets/footer.js +177 -177
- package/src/core/widgets/header.js +234 -234
- package/src/core/widgets/layout/Grid.js +31 -31
- package/src/core/widgets/layout.js +36 -36
- package/src/core/widgets/mapping.js +42 -42
- package/src/index.js +62 -62
- package/src/setupTests.js +5 -5
- package/docs/docs/CLI.md +0 -34
- package/docs/docs/Rechart/scatter.md +0 -298
- package/docs/docs/log.md +0 -9
- package/docs/docs/static/logo/favicon.ico +0 -0
- package/docs/docs/static/logo/logo_128x128.png +0 -0
- package/docs/docs/static/logo/logo_192x192.png +0 -0
- package/docs/docs/static/logo/logo_256x256.png +0 -0
- package/docs/docs/static/logo/logo_512x512.png +0 -0
- package/docs/docs/static/logo/logo_64x64.png +0 -0
- package/docs/docs/theme.md +0 -5
- /package/docs/{docs/Rechart → Rechart}/geo.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/liquidfill.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/polar.md +0 -0
- /package/docs/{docs/Rechart → Rechart}/sankey.md +0 -0
- /package/docs/{docs/Rechart/sunburst.md → Rechart/scatter.md} +0 -0
- /package/docs/{docs/Rechart/tree.md → Rechart/sunburst.md} +0 -0
- /package/docs/{docs/Rechart/wordcloud.md → Rechart/tree.md} +0 -0
- /package/docs/{docs/components/markdown.md → Rechart/wordcloud.md} +0 -0
- /package/docs/{docs/static → static}/_images/deploy-github-pages.png +0 -0
@@ -1,114 +1,114 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2024-01-14 15:25:40
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.dot.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
|
9
|
-
import Plotly from 'react-plotly.js';
|
10
|
-
|
11
|
-
const DownloadIcon = {
|
12
|
-
width: 32,
|
13
|
-
height: 40,
|
14
|
-
path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
|
15
|
-
};
|
16
|
-
|
17
|
-
const mmtrbc_dot = {
|
18
|
-
data: [],
|
19
|
-
config: {
|
20
|
-
displaylogo: false,
|
21
|
-
modeBarButtonsToRemove: [
|
22
|
-
'toImage',
|
23
|
-
'zoom2d',
|
24
|
-
'pan2d',
|
25
|
-
'zoomIn2d',
|
26
|
-
'zoomOut2d',
|
27
|
-
'boxSelect',
|
28
|
-
'select2d',
|
29
|
-
'lasso2d',
|
30
|
-
'resetScale2d',
|
31
|
-
'hoverClosestCartesian',
|
32
|
-
'hoverCompareCartesian',
|
33
|
-
'toggleSpikelines',
|
34
|
-
],
|
35
|
-
modeBarButtonsToAdd: [
|
36
|
-
{
|
37
|
-
name: 'Save As Image',
|
38
|
-
icon: DownloadIcon, // Your custom SVG or base64 encoded image
|
39
|
-
click: function (gd) {
|
40
|
-
Plotly.downloadImage(gd, { format: 'png' });
|
41
|
-
},
|
42
|
-
},
|
43
|
-
],
|
44
|
-
},
|
45
|
-
layout: {
|
46
|
-
title: {
|
47
|
-
text: 'Add genes to update Dot Plot',
|
48
|
-
font: {
|
49
|
-
family: 'Arial, sans-serif',
|
50
|
-
size: 24,
|
51
|
-
color: 'black',
|
52
|
-
},
|
53
|
-
},
|
54
|
-
margin: {
|
55
|
-
l: 110,
|
56
|
-
r: 40,
|
57
|
-
b: 30,
|
58
|
-
t: 80,
|
59
|
-
},
|
60
|
-
legend: {
|
61
|
-
//hide the legend
|
62
|
-
x: 0.5, // left align
|
63
|
-
y: -0.5, // top align
|
64
|
-
xanchor: 'center', // anchor the legend to the left
|
65
|
-
yanchor: 'bottom', // anchor the legend to the top
|
66
|
-
orientation: 'h', // horizontal legend
|
67
|
-
font: {
|
68
|
-
size: 16,
|
69
|
-
family: 'Arial, sans-serif',
|
70
|
-
color: '#6699CC',
|
71
|
-
},
|
72
|
-
},
|
73
|
-
xaxis: {
|
74
|
-
showgrid: false,
|
75
|
-
showline: false,
|
76
|
-
showticklabels: true,
|
77
|
-
linecolor: 'rgb(102, 102, 102)',
|
78
|
-
tickcolor: 'rgb(102, 102, 102)',
|
79
|
-
},
|
80
|
-
yaxis: {
|
81
|
-
showgrid: true,
|
82
|
-
showline: false,
|
83
|
-
showticklabels: true,
|
84
|
-
gridcolor: '#E5ECF6',
|
85
|
-
tickfont: {
|
86
|
-
size: 16,
|
87
|
-
family: 'Arial',
|
88
|
-
color: '#037e8c',
|
89
|
-
},
|
90
|
-
},
|
91
|
-
width: 500,
|
92
|
-
height: 300,
|
93
|
-
hovermode: 'closest',
|
94
|
-
},
|
95
|
-
visualify: {
|
96
|
-
mapping: {
|
97
|
-
extra: {
|
98
|
-
UMI: 'N_UMI',
|
99
|
-
N_gene: 'N_gene',
|
100
|
-
Frac_MT: 'Frac_MT',
|
101
|
-
Cell_ID: 'Cell_ID',
|
102
|
-
},
|
103
|
-
},
|
104
|
-
merger: {
|
105
|
-
gene: {
|
106
|
-
item: 'Cell_ID',
|
107
|
-
label: 'Expression',
|
108
|
-
visualMap: true,
|
109
|
-
},
|
110
|
-
},
|
111
|
-
},
|
112
|
-
};
|
113
|
-
|
114
|
-
export default mmtrbc_dot;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2024-01-14 15:25:40
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.dot.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
|
9
|
+
import Plotly from 'react-plotly.js';
|
10
|
+
|
11
|
+
const DownloadIcon = {
|
12
|
+
width: 32,
|
13
|
+
height: 40,
|
14
|
+
path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
|
15
|
+
};
|
16
|
+
|
17
|
+
const mmtrbc_dot = {
|
18
|
+
data: [],
|
19
|
+
config: {
|
20
|
+
displaylogo: false,
|
21
|
+
modeBarButtonsToRemove: [
|
22
|
+
'toImage',
|
23
|
+
'zoom2d',
|
24
|
+
'pan2d',
|
25
|
+
'zoomIn2d',
|
26
|
+
'zoomOut2d',
|
27
|
+
'boxSelect',
|
28
|
+
'select2d',
|
29
|
+
'lasso2d',
|
30
|
+
'resetScale2d',
|
31
|
+
'hoverClosestCartesian',
|
32
|
+
'hoverCompareCartesian',
|
33
|
+
'toggleSpikelines',
|
34
|
+
],
|
35
|
+
modeBarButtonsToAdd: [
|
36
|
+
{
|
37
|
+
name: 'Save As Image',
|
38
|
+
icon: DownloadIcon, // Your custom SVG or base64 encoded image
|
39
|
+
click: function (gd) {
|
40
|
+
Plotly.downloadImage(gd, { format: 'png' });
|
41
|
+
},
|
42
|
+
},
|
43
|
+
],
|
44
|
+
},
|
45
|
+
layout: {
|
46
|
+
title: {
|
47
|
+
text: 'Add genes to update Dot Plot',
|
48
|
+
font: {
|
49
|
+
family: 'Arial, sans-serif',
|
50
|
+
size: 24,
|
51
|
+
color: 'black',
|
52
|
+
},
|
53
|
+
},
|
54
|
+
margin: {
|
55
|
+
l: 110,
|
56
|
+
r: 40,
|
57
|
+
b: 30,
|
58
|
+
t: 80,
|
59
|
+
},
|
60
|
+
legend: {
|
61
|
+
//hide the legend
|
62
|
+
x: 0.5, // left align
|
63
|
+
y: -0.5, // top align
|
64
|
+
xanchor: 'center', // anchor the legend to the left
|
65
|
+
yanchor: 'bottom', // anchor the legend to the top
|
66
|
+
orientation: 'h', // horizontal legend
|
67
|
+
font: {
|
68
|
+
size: 16,
|
69
|
+
family: 'Arial, sans-serif',
|
70
|
+
color: '#6699CC',
|
71
|
+
},
|
72
|
+
},
|
73
|
+
xaxis: {
|
74
|
+
showgrid: false,
|
75
|
+
showline: false,
|
76
|
+
showticklabels: true,
|
77
|
+
linecolor: 'rgb(102, 102, 102)',
|
78
|
+
tickcolor: 'rgb(102, 102, 102)',
|
79
|
+
},
|
80
|
+
yaxis: {
|
81
|
+
showgrid: true,
|
82
|
+
showline: false,
|
83
|
+
showticklabels: true,
|
84
|
+
gridcolor: '#E5ECF6',
|
85
|
+
tickfont: {
|
86
|
+
size: 16,
|
87
|
+
family: 'Arial',
|
88
|
+
color: '#037e8c',
|
89
|
+
},
|
90
|
+
},
|
91
|
+
width: 500,
|
92
|
+
height: 300,
|
93
|
+
hovermode: 'closest',
|
94
|
+
},
|
95
|
+
visualify: {
|
96
|
+
mapping: {
|
97
|
+
extra: {
|
98
|
+
UMI: 'N_UMI',
|
99
|
+
N_gene: 'N_gene',
|
100
|
+
Frac_MT: 'Frac_MT',
|
101
|
+
Cell_ID: 'Cell_ID',
|
102
|
+
},
|
103
|
+
},
|
104
|
+
merger: {
|
105
|
+
gene: {
|
106
|
+
item: 'Cell_ID',
|
107
|
+
label: 'Expression',
|
108
|
+
visualMap: true,
|
109
|
+
},
|
110
|
+
},
|
111
|
+
},
|
112
|
+
};
|
113
|
+
|
114
|
+
export default mmtrbc_dot;
|
@@ -1,100 +1,100 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2024-01-14 15:25:40
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.violin.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
|
9
|
-
import Plotly from 'react-plotly.js';
|
10
|
-
|
11
|
-
const DownloadIcon = {
|
12
|
-
width: 32,
|
13
|
-
height: 40,
|
14
|
-
path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
|
15
|
-
};
|
16
|
-
|
17
|
-
const mmtrbc_violin = {
|
18
|
-
data: [],
|
19
|
-
config: {
|
20
|
-
displaylogo: false,
|
21
|
-
modeBarButtonsToRemove: [
|
22
|
-
'toImage',
|
23
|
-
'zoom2d',
|
24
|
-
'pan2d',
|
25
|
-
'zoomIn2d',
|
26
|
-
'zoomOut2d',
|
27
|
-
'autoScale2d',
|
28
|
-
//"resetScale2d",
|
29
|
-
'hoverClosestCartesian',
|
30
|
-
'hoverCompareCartesian',
|
31
|
-
'toggleSpikelines',
|
32
|
-
],
|
33
|
-
modeBarButtonsToAdd: [
|
34
|
-
{
|
35
|
-
name: 'Save As Image',
|
36
|
-
icon: DownloadIcon, // Your custom SVG or base64 encoded image
|
37
|
-
click: function (gd) {
|
38
|
-
Plotly.downloadImage(gd, { format: 'png' });
|
39
|
-
},
|
40
|
-
},
|
41
|
-
],
|
42
|
-
},
|
43
|
-
layout: {
|
44
|
-
title: {
|
45
|
-
text: 'Search a gene to update Violin Plot',
|
46
|
-
font: {
|
47
|
-
family: 'Arial, sans-serif',
|
48
|
-
size: 24,
|
49
|
-
color: 'black',
|
50
|
-
},
|
51
|
-
},
|
52
|
-
margin: {
|
53
|
-
l: 10,
|
54
|
-
r: 10,
|
55
|
-
b: 20,
|
56
|
-
t: 60,
|
57
|
-
},
|
58
|
-
legend: {
|
59
|
-
font: {
|
60
|
-
size: 13,
|
61
|
-
family: 'Arial, sans-serif',
|
62
|
-
color: '#6699CC',
|
63
|
-
},
|
64
|
-
x: 0.5, // left align
|
65
|
-
y: -0.3, // top align
|
66
|
-
xanchor: 'center', // anchor the legend to the left
|
67
|
-
yanchor: 'bottom', // anchor the legend to the top
|
68
|
-
orientation: 'h', // horizontal legend
|
69
|
-
},
|
70
|
-
xaxis: {
|
71
|
-
tickvals: [],
|
72
|
-
showgrid: false,
|
73
|
-
showline: true,
|
74
|
-
linecolor: 'rgb(102, 102, 102)',
|
75
|
-
tickcolor: 'rgb(102, 102, 102)',
|
76
|
-
type: 'category',
|
77
|
-
},
|
78
|
-
width: 500,
|
79
|
-
height: 300,
|
80
|
-
},
|
81
|
-
visualify: {
|
82
|
-
mapping: {
|
83
|
-
extra: {
|
84
|
-
UMI: 'N_UMI',
|
85
|
-
N_gene: 'N_gene',
|
86
|
-
Frac_MT: 'Frac_MT',
|
87
|
-
Cell_ID: 'Cell_ID',
|
88
|
-
},
|
89
|
-
},
|
90
|
-
merger: {
|
91
|
-
gene: {
|
92
|
-
item: 'Cell_ID',
|
93
|
-
label: 'Expression',
|
94
|
-
visualMap: true,
|
95
|
-
},
|
96
|
-
},
|
97
|
-
},
|
98
|
-
};
|
99
|
-
|
100
|
-
export default mmtrbc_violin;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2024-01-14 15:25:40
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/replotly/presets/mmtrbc.violin.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
|
9
|
+
import Plotly from 'react-plotly.js';
|
10
|
+
|
11
|
+
const DownloadIcon = {
|
12
|
+
width: 32,
|
13
|
+
height: 40,
|
14
|
+
path: `M30 20.75c-0.69 0.001-1.249 0.56-1.25 1.25v6.75h-25.5v-6.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 8c0 0.69 0.56 1.25 1.25 1.25h28c0.69-0.001 1.249-0.56 1.25-1.25v-8c-0.001-0.69-0.56-1.249-1.25-1.25h-0zM15.116 24.885c0.012 0.012 0.029 0.016 0.041 0.027 0.103 0.099 0.223 0.18 0.356 0.239l0.008 0.003 0.001 0c0.141 0.060 0.306 0.095 0.478 0.095 0.345 0 0.657-0.139 0.883-0.365l5.001-5c0.226-0.226 0.366-0.539 0.366-0.884 0-0.691-0.56-1.251-1.251-1.251-0.345 0-0.658 0.14-0.884 0.366l-2.865 2.867v-18.982c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 18.981l-2.866-2.866c-0.226-0.226-0.539-0.366-0.884-0.366-0.691 0-1.251 0.56-1.251 1.251 0 0.346 0.14 0.658 0.367 0.885v0z`,
|
15
|
+
};
|
16
|
+
|
17
|
+
const mmtrbc_violin = {
|
18
|
+
data: [],
|
19
|
+
config: {
|
20
|
+
displaylogo: false,
|
21
|
+
modeBarButtonsToRemove: [
|
22
|
+
'toImage',
|
23
|
+
'zoom2d',
|
24
|
+
'pan2d',
|
25
|
+
'zoomIn2d',
|
26
|
+
'zoomOut2d',
|
27
|
+
'autoScale2d',
|
28
|
+
//"resetScale2d",
|
29
|
+
'hoverClosestCartesian',
|
30
|
+
'hoverCompareCartesian',
|
31
|
+
'toggleSpikelines',
|
32
|
+
],
|
33
|
+
modeBarButtonsToAdd: [
|
34
|
+
{
|
35
|
+
name: 'Save As Image',
|
36
|
+
icon: DownloadIcon, // Your custom SVG or base64 encoded image
|
37
|
+
click: function (gd) {
|
38
|
+
Plotly.downloadImage(gd, { format: 'png' });
|
39
|
+
},
|
40
|
+
},
|
41
|
+
],
|
42
|
+
},
|
43
|
+
layout: {
|
44
|
+
title: {
|
45
|
+
text: 'Search a gene to update Violin Plot',
|
46
|
+
font: {
|
47
|
+
family: 'Arial, sans-serif',
|
48
|
+
size: 24,
|
49
|
+
color: 'black',
|
50
|
+
},
|
51
|
+
},
|
52
|
+
margin: {
|
53
|
+
l: 10,
|
54
|
+
r: 10,
|
55
|
+
b: 20,
|
56
|
+
t: 60,
|
57
|
+
},
|
58
|
+
legend: {
|
59
|
+
font: {
|
60
|
+
size: 13,
|
61
|
+
family: 'Arial, sans-serif',
|
62
|
+
color: '#6699CC',
|
63
|
+
},
|
64
|
+
x: 0.5, // left align
|
65
|
+
y: -0.3, // top align
|
66
|
+
xanchor: 'center', // anchor the legend to the left
|
67
|
+
yanchor: 'bottom', // anchor the legend to the top
|
68
|
+
orientation: 'h', // horizontal legend
|
69
|
+
},
|
70
|
+
xaxis: {
|
71
|
+
tickvals: [],
|
72
|
+
showgrid: false,
|
73
|
+
showline: true,
|
74
|
+
linecolor: 'rgb(102, 102, 102)',
|
75
|
+
tickcolor: 'rgb(102, 102, 102)',
|
76
|
+
type: 'category',
|
77
|
+
},
|
78
|
+
width: 500,
|
79
|
+
height: 300,
|
80
|
+
},
|
81
|
+
visualify: {
|
82
|
+
mapping: {
|
83
|
+
extra: {
|
84
|
+
UMI: 'N_UMI',
|
85
|
+
N_gene: 'N_gene',
|
86
|
+
Frac_MT: 'Frac_MT',
|
87
|
+
Cell_ID: 'Cell_ID',
|
88
|
+
},
|
89
|
+
},
|
90
|
+
merger: {
|
91
|
+
gene: {
|
92
|
+
item: 'Cell_ID',
|
93
|
+
label: 'Expression',
|
94
|
+
visualMap: true,
|
95
|
+
},
|
96
|
+
},
|
97
|
+
},
|
98
|
+
};
|
99
|
+
|
100
|
+
export default mmtrbc_violin;
|
@@ -1,71 +1,71 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2024-01-14 14:39:52
|
4
|
-
* @FilePath : /visualifyjs/src/core/modules/replotly.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
import React, { useEffect, useState } from 'react';
|
9
|
-
import Plot from 'react-plotly.js';
|
10
|
-
import { getPreset } from './replotly/presetHandler';
|
11
|
-
import { useAppContext } from '../appContext';
|
12
|
-
import handle_Data, { __process_fetched_data } from '../parser/plotly.data';
|
13
|
-
import { handle_violin_plot } from '../parser/plotly.violin';
|
14
|
-
|
15
|
-
const RePlotly = ({ props, style }) => {
|
16
|
-
const [data, setData] = useState(props.data ?? []);
|
17
|
-
const [layout, setLayout] = useState(props.layout ?? {});
|
18
|
-
const [config, setConfig] = useState(props.config ?? {});
|
19
|
-
const { sharedData } = useAppContext();
|
20
|
-
|
21
|
-
useEffect(() => {
|
22
|
-
const updatePlot = async () => {
|
23
|
-
const { settings, parser } = props;
|
24
|
-
let preset = getPreset(settings?.preset);
|
25
|
-
if (parser) {
|
26
|
-
try {
|
27
|
-
// fetch data from api
|
28
|
-
const fetched_data = await handle_Data(
|
29
|
-
parser,
|
30
|
-
preset.layout,
|
31
|
-
sharedData,
|
32
|
-
);
|
33
|
-
const processed_data = __process_fetched_data(
|
34
|
-
fetched_data,
|
35
|
-
parser,
|
36
|
-
preset.visualify,
|
37
|
-
);
|
38
|
-
|
39
|
-
if (parser.type === 'violin') {
|
40
|
-
preset.data = handle_violin_plot(processed_data);
|
41
|
-
setData(() => preset.data);
|
42
|
-
}
|
43
|
-
} catch (err) {
|
44
|
-
if (
|
45
|
-
err.message === 'No data fetched from api' &&
|
46
|
-
settings?.ignoreEmptyData
|
47
|
-
) {
|
48
|
-
} else console.log(err.message);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
setData((data) => [...preset.data]);
|
53
|
-
setLayout((layout) => ({ ...preset.layout }));
|
54
|
-
setConfig((config) => ({ ...preset.config }));
|
55
|
-
};
|
56
|
-
|
57
|
-
updatePlot();
|
58
|
-
}, [props, sharedData]);
|
59
|
-
|
60
|
-
return (
|
61
|
-
<div style={style}>
|
62
|
-
<Plot
|
63
|
-
data={data}
|
64
|
-
layout={layout}
|
65
|
-
config={config}
|
66
|
-
/>
|
67
|
-
</div>
|
68
|
-
);
|
69
|
-
};
|
70
|
-
|
71
|
-
export default RePlotly;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2024-01-14 14:39:52
|
4
|
+
* @FilePath : /visualifyjs/src/core/modules/replotly.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2024 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
import React, { useEffect, useState } from 'react';
|
9
|
+
import Plot from 'react-plotly.js';
|
10
|
+
import { getPreset } from './replotly/presetHandler';
|
11
|
+
import { useAppContext } from '../appContext';
|
12
|
+
import handle_Data, { __process_fetched_data } from '../parser/plotly.data';
|
13
|
+
import { handle_violin_plot } from '../parser/plotly.violin';
|
14
|
+
|
15
|
+
const RePlotly = ({ props, style }) => {
|
16
|
+
const [data, setData] = useState(props.data ?? []);
|
17
|
+
const [layout, setLayout] = useState(props.layout ?? {});
|
18
|
+
const [config, setConfig] = useState(props.config ?? {});
|
19
|
+
const { sharedData } = useAppContext();
|
20
|
+
|
21
|
+
useEffect(() => {
|
22
|
+
const updatePlot = async () => {
|
23
|
+
const { settings, parser } = props;
|
24
|
+
let preset = getPreset(settings?.preset);
|
25
|
+
if (parser) {
|
26
|
+
try {
|
27
|
+
// fetch data from api
|
28
|
+
const fetched_data = await handle_Data(
|
29
|
+
parser,
|
30
|
+
preset.layout,
|
31
|
+
sharedData,
|
32
|
+
);
|
33
|
+
const processed_data = __process_fetched_data(
|
34
|
+
fetched_data,
|
35
|
+
parser,
|
36
|
+
preset.visualify,
|
37
|
+
);
|
38
|
+
|
39
|
+
if (parser.type === 'violin') {
|
40
|
+
preset.data = handle_violin_plot(processed_data);
|
41
|
+
setData(() => preset.data);
|
42
|
+
}
|
43
|
+
} catch (err) {
|
44
|
+
if (
|
45
|
+
err.message === 'No data fetched from api' &&
|
46
|
+
settings?.ignoreEmptyData
|
47
|
+
) {
|
48
|
+
} else console.log(err.message);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
setData((data) => [...preset.data]);
|
53
|
+
setLayout((layout) => ({ ...preset.layout }));
|
54
|
+
setConfig((config) => ({ ...preset.config }));
|
55
|
+
};
|
56
|
+
|
57
|
+
updatePlot();
|
58
|
+
}, [props, sharedData]);
|
59
|
+
|
60
|
+
return (
|
61
|
+
<div style={style}>
|
62
|
+
<Plot
|
63
|
+
data={data}
|
64
|
+
layout={layout}
|
65
|
+
config={config}
|
66
|
+
/>
|
67
|
+
</div>
|
68
|
+
);
|
69
|
+
};
|
70
|
+
|
71
|
+
export default RePlotly;
|
package/src/core/pages/404.js
CHANGED
@@ -1,50 +1,50 @@
|
|
1
|
-
/*
|
2
|
-
* @Author : Lihao leolihao@arizona.edu
|
3
|
-
* @Date : 2023-11-30 21:58:47
|
4
|
-
* @FilePath : /visualifyjs/src/core/pages/404.js
|
5
|
-
* @Description :
|
6
|
-
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
-
*/
|
8
|
-
import React from 'react';
|
9
|
-
import '../../_css/404.css';
|
10
|
-
|
11
|
-
const NotFoundPage = ({ page, config = {} }) => {
|
12
|
-
const {
|
13
|
-
heading = (
|
14
|
-
<span>
|
15
|
-
Oops! This Page <span style={{ color: 'red' }}>{page}</span>{' '}
|
16
|
-
Could Not Be Found
|
17
|
-
</span>
|
18
|
-
),
|
19
|
-
content = 'SORRY BUT THE PAGE YOU ARE LOOKING FOR DOES NOT EXIST, HAVE BEEN REMOVED, NAME CHANGED, OR IS TEMPORARILY UNAVAILABLE',
|
20
|
-
button_text = 'BACK TO HOME',
|
21
|
-
} = config;
|
22
|
-
|
23
|
-
return (
|
24
|
-
<div id='colorlib-notfound'>
|
25
|
-
<div className='colorlib-notfound'>
|
26
|
-
<div className='colorlib-notfound-404'>
|
27
|
-
<h1>404</h1>
|
28
|
-
</div>
|
29
|
-
<h2 id='colorlib_404_customizer_page_heading'>{heading}</h2>
|
30
|
-
<div id='colorlib_404_customizer_content'>{content}</div>
|
31
|
-
<a
|
32
|
-
href={window.location.origin}
|
33
|
-
id='colorlib_404_customizer_button_text'>
|
34
|
-
{button_text}
|
35
|
-
</a>
|
36
|
-
</div>
|
37
|
-
<p className='colorlib-copyrigh'>
|
38
|
-
<span>404 Page Template designed by </span>
|
39
|
-
<a
|
40
|
-
href='https://colorlib.com/'
|
41
|
-
target='_blank'
|
42
|
-
rel='noopener noreferrer'>
|
43
|
-
Colorlib.
|
44
|
-
</a>
|
45
|
-
</p>
|
46
|
-
</div>
|
47
|
-
);
|
48
|
-
};
|
49
|
-
|
50
|
-
export default NotFoundPage;
|
1
|
+
/*
|
2
|
+
* @Author : Lihao leolihao@arizona.edu
|
3
|
+
* @Date : 2023-11-30 21:58:47
|
4
|
+
* @FilePath : /visualifyjs/src/core/pages/404.js
|
5
|
+
* @Description :
|
6
|
+
* Copyright (c) 2023 by Lihao (leolihao@arizona.edu), All Rights Reserved.
|
7
|
+
*/
|
8
|
+
import React from 'react';
|
9
|
+
import '../../_css/404.css';
|
10
|
+
|
11
|
+
const NotFoundPage = ({ page, config = {} }) => {
|
12
|
+
const {
|
13
|
+
heading = (
|
14
|
+
<span>
|
15
|
+
Oops! This Page <span style={{ color: 'red' }}>{page}</span>{' '}
|
16
|
+
Could Not Be Found
|
17
|
+
</span>
|
18
|
+
),
|
19
|
+
content = 'SORRY BUT THE PAGE YOU ARE LOOKING FOR DOES NOT EXIST, HAVE BEEN REMOVED, NAME CHANGED, OR IS TEMPORARILY UNAVAILABLE',
|
20
|
+
button_text = 'BACK TO HOME',
|
21
|
+
} = config;
|
22
|
+
|
23
|
+
return (
|
24
|
+
<div id='colorlib-notfound'>
|
25
|
+
<div className='colorlib-notfound'>
|
26
|
+
<div className='colorlib-notfound-404'>
|
27
|
+
<h1>404</h1>
|
28
|
+
</div>
|
29
|
+
<h2 id='colorlib_404_customizer_page_heading'>{heading}</h2>
|
30
|
+
<div id='colorlib_404_customizer_content'>{content}</div>
|
31
|
+
<a
|
32
|
+
href={window.location.origin}
|
33
|
+
id='colorlib_404_customizer_button_text'>
|
34
|
+
{button_text}
|
35
|
+
</a>
|
36
|
+
</div>
|
37
|
+
<p className='colorlib-copyrigh'>
|
38
|
+
<span>404 Page Template designed by </span>
|
39
|
+
<a
|
40
|
+
href='https://colorlib.com/'
|
41
|
+
target='_blank'
|
42
|
+
rel='noopener noreferrer'>
|
43
|
+
Colorlib.
|
44
|
+
</a>
|
45
|
+
</p>
|
46
|
+
</div>
|
47
|
+
);
|
48
|
+
};
|
49
|
+
|
50
|
+
export default NotFoundPage;
|