Spaces:
Running
Running
Arts-of-coding
commited on
Update dash_plotly_QC_scRNA.py
Browse files- dash_plotly_QC_scRNA.py +18 -1
dash_plotly_QC_scRNA.py
CHANGED
@@ -403,7 +403,24 @@ def update_graph_and_pie_chart(batch_chosen, s_chosen, g2m_chosen, condition1_ch
|
|
403 |
|
404 |
# Calculate the mean expression levels for each gene in each region
|
405 |
expression_means = dff_long.lazy().groupby(["batch", "Gene"]).agg(pl.mean("Mean expression")).collect()
|
406 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
#expression_means = expression_means.select(["batch", "Gene", "Expression"] + condition3_chosen)
|
408 |
|
409 |
fig_pie = px.pie(names=labels, values=values, title=pie_title,template="seaborn")
|
|
|
403 |
|
404 |
# Calculate the mean expression levels for each gene in each region
|
405 |
expression_means = dff_long.lazy().groupby(["batch", "Gene"]).agg(pl.mean("Mean expression")).collect()
|
406 |
+
|
407 |
+
# Calculate the percentage total expressed
|
408 |
+
dff_long2 = dff_pre.melt(id_vars="batch", variable_name="Gene").group_by(pl.all()).len()
|
409 |
+
dff_long3 = dff_long2.filter(value = 0).group_by(["batch", "Gene"]).agg(pl.sum("len").alias("total"))
|
410 |
+
dff_long4 = dff_long2.group_by(["batch", "Gene"]).agg(pl.sum("len").alias("total"))
|
411 |
+
dff_5 = dff_long4.join(dff_long3, on=["batch","Gene"], how="outer")
|
412 |
+
result = dff_5.select([
|
413 |
+
pl.when((pl.col('total_right').is_not_null()) & (pl.col('total').is_not_null()))
|
414 |
+
.then(pl.col('total_right') / pl.col('total'))
|
415 |
+
.otherwise(None).alias("%"),
|
416 |
+
])
|
417 |
+
result = result.with_columns(pl.col("%").fill_null(1.0))
|
418 |
+
dff_5[["percentage"]] = result[["%"]]
|
419 |
+
dff_5 = dff_5.select(pl.col("batch","Gene","percentage"))
|
420 |
+
|
421 |
+
# Final part to join the percentage expressed and mean expression levels
|
422 |
+
# TO DO
|
423 |
+
|
424 |
#expression_means = expression_means.select(["batch", "Gene", "Expression"] + condition3_chosen)
|
425 |
|
426 |
fig_pie = px.pie(names=labels, values=values, title=pie_title,template="seaborn")
|