Condition report fix [CW-7283]
This commit is contained in:
parent
10b2013b6a
commit
3e53b755cc
@ -177,14 +177,14 @@ def _add_colour(samples, condition_column):
|
|||||||
return samples
|
return samples
|
||||||
|
|
||||||
|
|
||||||
def _condition_strip_plot(sample_metadata, col_order, x_range):
|
def _condition_strip_plot(sample_metadata, col_order, x_range, condition_column):
|
||||||
"""Build a compact condition strip aligned to the heatmap columns."""
|
"""Build a compact condition strip aligned to the heatmap columns."""
|
||||||
smeta = sample_metadata.iloc[col_order]
|
smeta = sample_metadata.iloc[col_order]
|
||||||
condition_height = int(TOP_DENDROGRAM_HEIGHT * 0.5)
|
condition_height = int(TOP_DENDROGRAM_HEIGHT * 0.5)
|
||||||
strip_source = ColumnDataSource({
|
strip_source = ColumnDataSource({
|
||||||
"x": np.arange(len(smeta)),
|
"x": np.arange(len(smeta)),
|
||||||
"sample": smeta["sample"].tolist(),
|
"sample": smeta["sample"].tolist(),
|
||||||
"condition": smeta["condition"].tolist(),
|
"condition": smeta[condition_column].tolist(),
|
||||||
"sample_color": smeta["contrast_color"].tolist(),
|
"sample_color": smeta["contrast_color"].tolist(),
|
||||||
})
|
})
|
||||||
strip = figure(
|
strip = figure(
|
||||||
@ -355,8 +355,15 @@ def distance_plot(matrix, col_order, sample_names, height):
|
|||||||
|
|
||||||
|
|
||||||
def heatmap_plot(
|
def heatmap_plot(
|
||||||
z_matrix, labels, sample_names, row_linkage, col_linkage, sample_metadata, col_order
|
z_matrix,
|
||||||
):
|
labels,
|
||||||
|
sample_names,
|
||||||
|
row_linkage,
|
||||||
|
col_linkage,
|
||||||
|
sample_metadata,
|
||||||
|
col_order,
|
||||||
|
condition_column,
|
||||||
|
):
|
||||||
"""Build the clustered heatmap and row dendrogram layout."""
|
"""Build the clustered heatmap and row dendrogram layout."""
|
||||||
n_rows, n_cols = z_matrix.shape
|
n_rows, n_cols = z_matrix.shape
|
||||||
x_values = np.tile(np.arange(n_cols), n_rows)
|
x_values = np.tile(np.arange(n_cols), n_rows)
|
||||||
@ -456,7 +463,9 @@ def heatmap_plot(
|
|||||||
final_fig = BokehPlot()
|
final_fig = BokehPlot()
|
||||||
if sample_metadata is not None:
|
if sample_metadata is not None:
|
||||||
strip_height = int(TOP_DENDROGRAM_HEIGHT * 0.5)
|
strip_height = int(TOP_DENDROGRAM_HEIGHT * 0.5)
|
||||||
strip = _condition_strip_plot(sample_metadata, col_order, heatmap.x_range)
|
strip = _condition_strip_plot(
|
||||||
|
sample_metadata, col_order, heatmap.x_range, condition_column
|
||||||
|
)
|
||||||
left_column = bokeh_column(
|
left_column = bokeh_column(
|
||||||
sample_dendro_fig, strip, heatmap, sizing_mode="stretch_width", spacing=0)
|
sample_dendro_fig, strip, heatmap, sizing_mode="stretch_width", spacing=0)
|
||||||
right_column = bokeh_column(
|
right_column = bokeh_column(
|
||||||
@ -482,6 +491,8 @@ def pca_plot(matrix, col_order, sample_names, sample_metadata, condition_column)
|
|||||||
pca_data = _sample_pca(matrix[:, col_order], sample_names)
|
pca_data = _sample_pca(matrix[:, col_order], sample_names)
|
||||||
if sample_metadata is not None:
|
if sample_metadata is not None:
|
||||||
pca_data = pca_data.merge(sample_metadata, on="sample", how="left")
|
pca_data = pca_data.merge(sample_metadata, on="sample", how="left")
|
||||||
|
if condition_column in pca_data.columns:
|
||||||
|
pca_data["condition"] = pca_data[condition_column]
|
||||||
else:
|
else:
|
||||||
pca_data["contrast_color"] = "#4C78A8"
|
pca_data["contrast_color"] = "#4C78A8"
|
||||||
|
|
||||||
@ -590,7 +601,8 @@ def hierarchical(
|
|||||||
row_linkage=row_linkage,
|
row_linkage=row_linkage,
|
||||||
col_linkage=col_linkage,
|
col_linkage=col_linkage,
|
||||||
sample_metadata=meta,
|
sample_metadata=meta,
|
||||||
col_order=col_order
|
col_order=col_order,
|
||||||
|
condition_column=condition_column,
|
||||||
)
|
)
|
||||||
pca_plt = pca_plot(
|
pca_plt = pca_plot(
|
||||||
matrix=log2_matrix,
|
matrix=log2_matrix,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user