Arts-of-coding commited on
Commit
ebbf9cb
·
verified ·
1 Parent(s): 8cf393a

Update pages/d101110xflex.py

Browse files
Files changed (1) hide show
  1. pages/d101110xflex.py +82 -82
pages/d101110xflex.py CHANGED
@@ -113,51 +113,51 @@ tab1_content = html.Div([
113
  options=df.columns),
114
  html.Label("N Genes by Counts"),
115
  dcc.RangeSlider(
116
- id='range-slider-1',
117
  step=250,
118
  value=[min_value, max_value],
119
  marks={i: str(i) for i in range(min_value, max_value + 1, 250)},
120
  ),
121
- dcc.Input(id='min-slider-1', type='number', value=min_value, debounce=True),
122
- dcc.Input(id='max-slider-1', type='number', value=max_value, debounce=True),
123
  html.Label("Total Counts"),
124
  dcc.RangeSlider(
125
- id='range-slider-2',
126
  step=7500,
127
  value=[min_value_2, max_value_2],
128
  marks={i: str(i) for i in range(min_value_2, max_value_2 + 1, 7500)},
129
  ),
130
- dcc.Input(id='min-slider-2', type='number', value=min_value_2, debounce=True),
131
- dcc.Input(id='max-slider-2', type='number', value=max_value_2, debounce=True),
132
  html.Label("Percent Mitochondrial Genes"),
133
  dcc.RangeSlider(
134
- id='range-slider-3',
135
  step=5,
136
  min=0,
137
  max=100,
138
  value=[min_value_3, max_value_3],
139
  ),
140
- dcc.Input(id='min-slider-3', type='number', value=min_value_3, debounce=True),
141
- dcc.Input(id='max-slider-3', type='number', value=max_value_3, debounce=True),
142
  html.Div([
143
- dcc.Graph(id='pie-graph', figure={}, className='four columns',config=config_fig),
144
- dcc.Graph(id='my-graph', figure={}, clickData=None, hoverData=None,
145
  className='four columns',config=config_fig
146
  ),
147
- dcc.Graph(id='scatter-plot', figure={}, className='four columns',config=config_fig)
148
  ]),
149
  html.Div([
150
- dcc.Graph(id='scatter-plot-2', figure={}, className='four columns',config=config_fig)
151
  ]),
152
  html.Div([
153
- dcc.Graph(id='scatter-plot-3', figure={}, className='four columns',config=config_fig)
154
  ]),
155
  html.Div([
156
- dcc.Graph(id='scatter-plot-4', figure={}, className='four columns',config=config_fig)
157
  ]),
158
  ])
159
 
160
- # Create the second tab content with scatter-plot-5 and scatter-plot-6
161
  tab2_content = html.Div([
162
  html.Div([
163
  html.Label("S-cycle genes"),
@@ -215,20 +215,20 @@ tab2_content = html.Div([
215
  ]),
216
  ]),
217
  html.Div([
218
- dcc.Graph(id='scatter-plot-5', figure={}, className='three columns',config=config_fig)
219
  ]),
220
  html.Div([
221
- dcc.Graph(id='scatter-plot-6', figure={}, className='three columns',config=config_fig)
222
  ]),
223
  html.Div([
224
- dcc.Graph(id='scatter-plot-7', figure={}, className='three columns',config=config_fig)
225
  ]),
226
  html.Div([
227
- dcc.Graph(id='scatter-plot-8', figure={}, className='three columns',config=config_fig)
228
  ]),
229
  ])
230
 
231
- # Create the second tab content with scatter-plot-5 and scatter-plot-6
232
  tab3_content = html.Div([
233
  html.Div([
234
  html.Label("UMAP condition 1"),
@@ -238,23 +238,23 @@ tab3_content = html.Div([
238
  dcc.Dropdown(id='dpdn6', value="n_genes_by_counts", multi=False,
239
  options=df.columns),
240
  html.Div([
241
- dcc.Graph(id='scatter-plot-9', figure={}, className='four columns',config=config_fig)
242
  ]),
243
  html.Div([
244
- dcc.Graph(id='scatter-plot-10', figure={}, className='four columns',config=config_fig)
245
  ]),
246
  html.Div([
247
- dcc.Graph(id='scatter-plot-11', figure={}, className='four columns',config=config_fig)
248
  ]),
249
  html.Div([
250
- dcc.Graph(id='my-graph2', figure={}, clickData=None, hoverData=None,
251
  className='four columns',config=config_fig
252
  )
253
  ]),
254
  ]),
255
  ])
256
  # html.Div([
257
- # dcc.Graph(id='scatter-plot-12', figure={}, className='four columns',config=config_fig)
258
  # ]),
259
 
260
 
@@ -265,7 +265,7 @@ tab4_content = html.Div([
265
  options=df.columns),
266
  ]),
267
  html.Div([
268
- dcc.Graph(id='scatter-plot-12', figure={}, className='four columns',config=config_fig)
269
  ]),
270
  ])
271
 
@@ -284,63 +284,63 @@ layout = html.Div([
284
 
285
  # Define the circular callback
286
  @callback(
287
- Output("min-slider-1", "value", allow_duplicate=True),
288
- Output("max-slider-1", "value", allow_duplicate=True),
289
- Output("min-slider-2", "value", allow_duplicate=True),
290
- Output("max-slider-2", "value", allow_duplicate=True),
291
- Output("min-slider-3", "value", allow_duplicate=True),
292
- Output("max-slider-3", "value", allow_duplicate=True),
293
- Input("min-slider-1", "value"),
294
- Input("max-slider-1", "value"),
295
- Input("min-slider-2", "value"),
296
- Input("max-slider-2", "value"),
297
- Input("min-slider-3", "value"),
298
- Input("max-slider-3", "value"),
299
  prevent_initial_call=True
300
  )
301
  def circular_callback(min_1, max_1, min_2, max_2, min_3, max_3):
302
  return min_1, max_1, min_2, max_2, min_3, max_3
303
 
304
  @callback(
305
- Output('range-slider-1', 'value', allow_duplicate=True),
306
- Output('range-slider-2', 'value', allow_duplicate=True),
307
- Output('range-slider-3', 'value', allow_duplicate=True),
308
- Input('min-slider-1', 'value'),
309
- Input('max-slider-1', 'value'),
310
- Input('min-slider-2', 'value'),
311
- Input('max-slider-2', 'value'),
312
- Input('min-slider-3', 'value'),
313
- Input('max-slider-3', 'value'),
314
  prevent_initial_call=True
315
  )
316
  def update_slider_values(min_1, max_1, min_2, max_2, min_3, max_3):
317
  return [min_1, max_1], [min_2, max_2], [min_3, max_3]
318
 
319
  @callback(
320
- Output(component_id='my-graph', component_property='figure', allow_duplicate=True),
321
- Output(component_id='pie-graph', component_property='figure', allow_duplicate=True),
322
- Output(component_id='scatter-plot', component_property='figure', allow_duplicate=True),
323
- Output(component_id='scatter-plot-2', component_property='figure', allow_duplicate=True),
324
- Output(component_id='scatter-plot-3', component_property='figure', allow_duplicate=True),
325
- Output(component_id='scatter-plot-4', component_property='figure', allow_duplicate=True), # Add this new scatter plot
326
- Output(component_id='scatter-plot-5', component_property='figure', allow_duplicate=True),
327
- Output(component_id='scatter-plot-6', component_property='figure', allow_duplicate=True),
328
- Output(component_id='scatter-plot-7', component_property='figure', allow_duplicate=True),
329
- Output(component_id='scatter-plot-8', component_property='figure', allow_duplicate=True),
330
- Output(component_id='scatter-plot-9', component_property='figure', allow_duplicate=True),
331
- Output(component_id='scatter-plot-10', component_property='figure', allow_duplicate=True),
332
- Output(component_id='scatter-plot-11', component_property='figure', allow_duplicate=True),
333
- Output(component_id='scatter-plot-12', component_property='figure', allow_duplicate=True),
334
- Output(component_id='my-graph2', component_property='figure', allow_duplicate=True),
335
  Input(component_id='dpdn2', component_property='value'),
336
  Input(component_id='dpdn3', component_property='value'),
337
  Input(component_id='dpdn4', component_property='value'),
338
  Input(component_id='dpdn5', component_property='value'),
339
  Input(component_id='dpdn6', component_property='value'),
340
  Input(component_id='dpdn7', component_property='value'),
341
- Input(component_id='range-slider-1', component_property='value'),
342
- Input(component_id='range-slider-2', component_property='value'),
343
- Input(component_id='range-slider-3', component_property='value'),
344
  prevent_initial_call=True
345
  )
346
 
@@ -362,7 +362,7 @@ def update_graph_and_pie_chart(col_chosen, s_chosen, g2m_chosen, condition1_chos
362
  dff = dff.sort(col_chosen)
363
 
364
  # Plot figures
365
- fig_violin = px.violin(data_frame=dff, x=col_chosen, y=col_features, box=True, points="all",
366
  color=col_chosen, hover_name=col_chosen,template="seaborn")
367
 
368
  # Cache commonly used subexpressions
@@ -417,70 +417,70 @@ def update_graph_and_pie_chart(col_chosen, s_chosen, g2m_chosen, condition1_chos
417
  #expression_means = expression_means.select(["batch", "Gene", "Expression"] + condition3_chosen)
418
  category_counts = category_counts.sort(col_chosen)
419
 
420
- fig_pie = px.pie(category_counts, values="normalized_count", names=col_chosen, labels=col_chosen, hole=.3, title=pie_title, template="seaborn")
421
 
422
  #labels = category_counts[col_chosen].to_list()
423
  #values = category_counts["normalized_count"].to_list()
424
 
425
  # Create the scatter plots
426
- fig_scatter = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_chosen,
427
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
428
  hover_name='batch',template="seaborn")
429
 
430
- fig_scatter_2 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_mt,
431
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
432
  hover_name='batch',template="seaborn")
433
 
434
- fig_scatter_3 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_features,
435
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
436
  hover_name='batch',template="seaborn")
437
 
438
 
439
- fig_scatter_4 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_counts,
440
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
441
  hover_name='batch',template="seaborn")
442
 
443
- fig_scatter_5 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=s_chosen,
444
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
445
  hover_name='batch', title="S-cycle gene:",template="seaborn")
446
 
447
- fig_scatter_6 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=g2m_chosen,
448
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
449
  hover_name='batch', title="G2M-cycle gene:",template="seaborn")
450
 
451
- fig_scatter_7 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color="S_score",
452
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
453
  hover_name='batch', title="S score:",template="seaborn")
454
 
455
- fig_scatter_8 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color="G2M_score",
456
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
457
  hover_name='batch', title="G2M score:",template="seaborn")
458
 
459
  # Sort values of custom in-between
460
  dff = dff.sort(condition1_chosen)
461
 
462
- fig_scatter_9 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=condition1_chosen,
463
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
464
  hover_name='batch',template="seaborn")
465
 
466
- fig_scatter_10 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=condition2_chosen,
467
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
468
  hover_name='batch',template="seaborn")
469
 
470
- fig_scatter_11 = px.scatter(data_frame=dff, x=condition1_chosen, y=condition2_chosen, color=condition1_chosen,
471
  #labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
472
  hover_name='batch',template="seaborn")
473
 
474
- fig_scatter_12 = px.scatter(data_frame=expression_means, x="Gene", y=col_chosen, color="Mean expression",
475
  size="percentage", size_max = 20,
476
  #labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
477
  hover_name=col_chosen,template="seaborn")
478
 
479
- fig_violin2 = px.violin(data_frame=dff, x=condition1_chosen, y=condition2_chosen, box=True, points="all",
480
  color=condition1_chosen, hover_name=condition1_chosen,template="seaborn")
481
 
482
 
483
- return fig_violin, fig_pie, fig_scatter, fig_scatter_2, fig_scatter_3, fig_scatter_4, fig_scatter_5, fig_scatter_6, fig_scatter_7, fig_scatter_8, fig_scatter_9, fig_scatter_10, fig_scatter_11, fig_scatter_12, fig_violin2
484
 
485
  # Set http://localhost:5000/ in web browser
486
  # Now create your regular FASTAPI application
 
113
  options=df.columns),
114
  html.Label("N Genes by Counts"),
115
  dcc.RangeSlider(
116
+ id='range-slider_db2-1',
117
  step=250,
118
  value=[min_value, max_value],
119
  marks={i: str(i) for i in range(min_value, max_value + 1, 250)},
120
  ),
121
+ dcc.Input(id='min-slider_db2-1', type='number', value=min_value, debounce=True),
122
+ dcc.Input(id='max-slider_db2-1', type='number', value=max_value, debounce=True),
123
  html.Label("Total Counts"),
124
  dcc.RangeSlider(
125
+ id='range-slider_db2-2',
126
  step=7500,
127
  value=[min_value_2, max_value_2],
128
  marks={i: str(i) for i in range(min_value_2, max_value_2 + 1, 7500)},
129
  ),
130
+ dcc.Input(id='min-slider_db2-2', type='number', value=min_value_2, debounce=True),
131
+ dcc.Input(id='max-slider_db2-2', type='number', value=max_value_2, debounce=True),
132
  html.Label("Percent Mitochondrial Genes"),
133
  dcc.RangeSlider(
134
+ id='range-slider_db2-3',
135
  step=5,
136
  min=0,
137
  max=100,
138
  value=[min_value_3, max_value_3],
139
  ),
140
+ dcc.Input(id='min-slider_db2-3', type='number', value=min_value_3, debounce=True),
141
+ dcc.Input(id='max-slider_db2-3', type='number', value=max_value_3, debounce=True),
142
  html.Div([
143
+ dcc.Graph(id='pie-graph_db2', figure={}, className='four columns',config=config_fig),
144
+ dcc.Graph(id='my-graph_db2', figure={}, clickData=None, hoverData=None,
145
  className='four columns',config=config_fig
146
  ),
147
+ dcc.Graph(id='scatter-plot_db2', figure={}, className='four columns',config=config_fig)
148
  ]),
149
  html.Div([
150
+ dcc.Graph(id='scatter-plot_db2-2', figure={}, className='four columns',config=config_fig)
151
  ]),
152
  html.Div([
153
+ dcc.Graph(id='scatter-plot_db2-3', figure={}, className='four columns',config=config_fig)
154
  ]),
155
  html.Div([
156
+ dcc.Graph(id='scatter-plot_db2-4', figure={}, className='four columns',config=config_fig)
157
  ]),
158
  ])
159
 
160
+ # Create the second tab content with scatter-plot_db2-5 and scatter-plot_db2-6
161
  tab2_content = html.Div([
162
  html.Div([
163
  html.Label("S-cycle genes"),
 
215
  ]),
216
  ]),
217
  html.Div([
218
+ dcc.Graph(id='scatter-plot_db2-5', figure={}, className='three columns',config=config_fig)
219
  ]),
220
  html.Div([
221
+ dcc.Graph(id='scatter-plot_db2-6', figure={}, className='three columns',config=config_fig)
222
  ]),
223
  html.Div([
224
+ dcc.Graph(id='scatter-plot_db2-7', figure={}, className='three columns',config=config_fig)
225
  ]),
226
  html.Div([
227
+ dcc.Graph(id='scatter-plot_db2-8', figure={}, className='three columns',config=config_fig)
228
  ]),
229
  ])
230
 
231
+ # Create the second tab content with scatter-plot_db2-5 and scatter-plot_db2-6
232
  tab3_content = html.Div([
233
  html.Div([
234
  html.Label("UMAP condition 1"),
 
238
  dcc.Dropdown(id='dpdn6', value="n_genes_by_counts", multi=False,
239
  options=df.columns),
240
  html.Div([
241
+ dcc.Graph(id='scatter-plot_db2-9', figure={}, className='four columns',config=config_fig)
242
  ]),
243
  html.Div([
244
+ dcc.Graph(id='scatter-plot_db2-10', figure={}, className='four columns',config=config_fig)
245
  ]),
246
  html.Div([
247
+ dcc.Graph(id='scatter-plot_db2-11', figure={}, className='four columns',config=config_fig)
248
  ]),
249
  html.Div([
250
+ dcc.Graph(id='my-graph_db22', figure={}, clickData=None, hoverData=None,
251
  className='four columns',config=config_fig
252
  )
253
  ]),
254
  ]),
255
  ])
256
  # html.Div([
257
+ # dcc.Graph(id='scatter-plot_db2-12', figure={}, className='four columns',config=config_fig)
258
  # ]),
259
 
260
 
 
265
  options=df.columns),
266
  ]),
267
  html.Div([
268
+ dcc.Graph(id='scatter-plot_db2-12', figure={}, className='four columns',config=config_fig)
269
  ]),
270
  ])
271
 
 
284
 
285
  # Define the circular callback
286
  @callback(
287
+ Output("min-slider_db2-1", "value", allow_duplicate=True),
288
+ Output("max-slider_db2-1", "value", allow_duplicate=True),
289
+ Output("min-slider_db2-2", "value", allow_duplicate=True),
290
+ Output("max-slider_db2-2", "value", allow_duplicate=True),
291
+ Output("min-slider_db2-3", "value", allow_duplicate=True),
292
+ Output("max-slider_db2-3", "value", allow_duplicate=True),
293
+ Input("min-slider_db2-1", "value"),
294
+ Input("max-slider_db2-1", "value"),
295
+ Input("min-slider_db2-2", "value"),
296
+ Input("max-slider_db2-2", "value"),
297
+ Input("min-slider_db2-3", "value"),
298
+ Input("max-slider_db2-3", "value"),
299
  prevent_initial_call=True
300
  )
301
  def circular_callback(min_1, max_1, min_2, max_2, min_3, max_3):
302
  return min_1, max_1, min_2, max_2, min_3, max_3
303
 
304
  @callback(
305
+ Output('range-slider_db2-1', 'value', allow_duplicate=True),
306
+ Output('range-slider_db2-2', 'value', allow_duplicate=True),
307
+ Output('range-slider_db2-3', 'value', allow_duplicate=True),
308
+ Input('min-slider_db2-1', 'value'),
309
+ Input('max-slider_db2-1', 'value'),
310
+ Input('min-slider_db2-2', 'value'),
311
+ Input('max-slider_db2-2', 'value'),
312
+ Input('min-slider_db2-3', 'value'),
313
+ Input('max-slider_db2-3', 'value'),
314
  prevent_initial_call=True
315
  )
316
  def update_slider_values(min_1, max_1, min_2, max_2, min_3, max_3):
317
  return [min_1, max_1], [min_2, max_2], [min_3, max_3]
318
 
319
  @callback(
320
+ Output(component_id='my-graph_db2', component_property='figure', allow_duplicate=True),
321
+ Output(component_id='pie-graph_db2', component_property='figure', allow_duplicate=True),
322
+ Output(component_id='scatter-plot_db2', component_property='figure', allow_duplicate=True),
323
+ Output(component_id='scatter-plot_db2-2', component_property='figure', allow_duplicate=True),
324
+ Output(component_id='scatter-plot_db2-3', component_property='figure', allow_duplicate=True),
325
+ Output(component_id='scatter-plot_db2-4', component_property='figure', allow_duplicate=True), # Add this new scatter plot
326
+ Output(component_id='scatter-plot_db2-5', component_property='figure', allow_duplicate=True),
327
+ Output(component_id='scatter-plot_db2-6', component_property='figure', allow_duplicate=True),
328
+ Output(component_id='scatter-plot_db2-7', component_property='figure', allow_duplicate=True),
329
+ Output(component_id='scatter-plot_db2-8', component_property='figure', allow_duplicate=True),
330
+ Output(component_id='scatter-plot_db2-9', component_property='figure', allow_duplicate=True),
331
+ Output(component_id='scatter-plot_db2-10', component_property='figure', allow_duplicate=True),
332
+ Output(component_id='scatter-plot_db2-11', component_property='figure', allow_duplicate=True),
333
+ Output(component_id='scatter-plot_db2-12', component_property='figure', allow_duplicate=True),
334
+ Output(component_id='my-graph_db22', component_property='figure', allow_duplicate=True),
335
  Input(component_id='dpdn2', component_property='value'),
336
  Input(component_id='dpdn3', component_property='value'),
337
  Input(component_id='dpdn4', component_property='value'),
338
  Input(component_id='dpdn5', component_property='value'),
339
  Input(component_id='dpdn6', component_property='value'),
340
  Input(component_id='dpdn7', component_property='value'),
341
+ Input(component_id='range-slider_db2-1', component_property='value'),
342
+ Input(component_id='range-slider_db2-2', component_property='value'),
343
+ Input(component_id='range-slider_db2-3', component_property='value'),
344
  prevent_initial_call=True
345
  )
346
 
 
362
  dff = dff.sort(col_chosen)
363
 
364
  # Plot figures
365
+ fig_violin_db2 = px.violin(data_frame=dff, x=col_chosen, y=col_features, box=True, points="all",
366
  color=col_chosen, hover_name=col_chosen,template="seaborn")
367
 
368
  # Cache commonly used subexpressions
 
417
  #expression_means = expression_means.select(["batch", "Gene", "Expression"] + condition3_chosen)
418
  category_counts = category_counts.sort(col_chosen)
419
 
420
+ fig_pie_db2 = px.pie(category_counts, values="normalized_count", names=col_chosen, labels=col_chosen, hole=.3, title=pie_title, template="seaborn")
421
 
422
  #labels = category_counts[col_chosen].to_list()
423
  #values = category_counts["normalized_count"].to_list()
424
 
425
  # Create the scatter plots
426
+ fig_scatter_db2 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_chosen,
427
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
428
  hover_name='batch',template="seaborn")
429
 
430
+ fig_scatter_db2_2 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_mt,
431
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
432
  hover_name='batch',template="seaborn")
433
 
434
+ fig_scatter_db2_3 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_features,
435
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
436
  hover_name='batch',template="seaborn")
437
 
438
 
439
+ fig_scatter_db2_4 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=col_counts,
440
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
441
  hover_name='batch',template="seaborn")
442
 
443
+ fig_scatter_db2_5 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=s_chosen,
444
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
445
  hover_name='batch', title="S-cycle gene:",template="seaborn")
446
 
447
+ fig_scatter_db2_6 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=g2m_chosen,
448
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
449
  hover_name='batch', title="G2M-cycle gene:",template="seaborn")
450
 
451
+ fig_scatter_db2_7 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color="S_score",
452
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
453
  hover_name='batch', title="S score:",template="seaborn")
454
 
455
+ fig_scatter_db2_8 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color="G2M_score",
456
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
457
  hover_name='batch', title="G2M score:",template="seaborn")
458
 
459
  # Sort values of custom in-between
460
  dff = dff.sort(condition1_chosen)
461
 
462
+ fig_scatter_db2_9 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=condition1_chosen,
463
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
464
  hover_name='batch',template="seaborn")
465
 
466
+ fig_scatter_db2_10 = px.scatter(data_frame=dff, x='X_umap-0', y='X_umap-1', color=condition2_chosen,
467
  labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
468
  hover_name='batch',template="seaborn")
469
 
470
+ fig_scatter_db2_11 = px.scatter(data_frame=dff, x=condition1_chosen, y=condition2_chosen, color=condition1_chosen,
471
  #labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
472
  hover_name='batch',template="seaborn")
473
 
474
+ fig_scatter_db2_12 = px.scatter(data_frame=expression_means, x="Gene", y=col_chosen, color="Mean expression",
475
  size="percentage", size_max = 20,
476
  #labels={'X_umap-0': 'umap1' , 'X_umap-1': 'umap2'},
477
  hover_name=col_chosen,template="seaborn")
478
 
479
+ fig_violin_db22 = px.violin(data_frame=dff, x=condition1_chosen, y=condition2_chosen, box=True, points="all",
480
  color=condition1_chosen, hover_name=condition1_chosen,template="seaborn")
481
 
482
 
483
+ return fig_violin_db2, fig_pie_db2, fig_scatter_db2, fig_scatter_db2_2, fig_scatter_db2_3, fig_scatter_db2_4, fig_scatter_db2_5, fig_scatter_db2_6, fig_scatter_db2_7, fig_scatter_db2_8, fig_scatter_db2_9, fig_scatter_db2_10, fig_scatter_db2_11, fig_scatter_db2_12, fig_violin_db22
484
 
485
  # Set http://localhost:5000/ in web browser
486
  # Now create your regular FASTAPI application