Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -232,19 +232,21 @@ with gr.Blocks(title="Cheminformatics Platform") as demo:
|
|
| 232 |
cl_method = gr.Radio(['KMeans','DBSCAN'], label="分群方法", value="KMeans")
|
| 233 |
nclus = gr.Slider(2, 8, 3, 1, label="KMeans分群數")
|
| 234 |
dr_img = gr.Image(label="降維/分群視覺化")
|
|
|
|
| 235 |
rep_imgs = gr.Image(label="群代表分子圖(每群1個)")
|
| 236 |
-
|
| 237 |
def dimred_and_cluster(file, fp, dr, cl, nclu):
|
| 238 |
df = load_table(file)
|
| 239 |
df = calc_features(df, [fp], [], None)
|
| 240 |
pc = apply_dim_red(df, fp, dr)
|
| 241 |
labels = KMeans(n_clusters=int(nclu), random_state=42).fit_predict(pc) if cl == 'KMeans' else DBSCAN(eps=3, min_samples=2).fit_predict(pc)
|
| 242 |
plotimg = plot_scatter(pc, labels, f"{dr}-{cl}")
|
| 243 |
-
|
|
|
|
| 244 |
reps = cluster_reps(df, labels, fp)
|
| 245 |
rep_img = batch_mol_imgs(reps)
|
| 246 |
-
return plotimg,
|
| 247 |
-
|
| 248 |
gr.Button("降維+分群分析", variant="primary").click(
|
| 249 |
dimred_and_cluster, [file4, use_fp, dr_method, cl_method, nclus], [dr_img, dr_desc, rep_imgs]
|
| 250 |
)
|
|
|
|
| 232 |
cl_method = gr.Radio(['KMeans','DBSCAN'], label="分群方法", value="KMeans")
|
| 233 |
nclus = gr.Slider(2, 8, 3, 1, label="KMeans分群數")
|
| 234 |
dr_img = gr.Image(label="降維/分群視覺化")
|
| 235 |
+
dr_desc = gr.Markdown(label="圖像說明") # <======= 新增這一行
|
| 236 |
rep_imgs = gr.Image(label="群代表分子圖(每群1個)")
|
| 237 |
+
|
| 238 |
def dimred_and_cluster(file, fp, dr, cl, nclu):
|
| 239 |
df = load_table(file)
|
| 240 |
df = calc_features(df, [fp], [], None)
|
| 241 |
pc = apply_dim_red(df, fp, dr)
|
| 242 |
labels = KMeans(n_clusters=int(nclu), random_state=42).fit_predict(pc) if cl == 'KMeans' else DBSCAN(eps=3, min_samples=2).fit_predict(pc)
|
| 243 |
plotimg = plot_scatter(pc, labels, f"{dr}-{cl}")
|
| 244 |
+
# 圖像解釋
|
| 245 |
+
desc = explain_dimred(pc, labels, dr, cl)
|
| 246 |
reps = cluster_reps(df, labels, fp)
|
| 247 |
rep_img = batch_mol_imgs(reps)
|
| 248 |
+
return plotimg, desc, rep_img
|
| 249 |
+
|
| 250 |
gr.Button("降維+分群分析", variant="primary").click(
|
| 251 |
dimred_and_cluster, [file4, use_fp, dr_method, cl_method, nclus], [dr_img, dr_desc, rep_imgs]
|
| 252 |
)
|