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")
|