diff --git a/app/catalogs/haddock3.easy.json b/app/catalogs/haddock3.easy.json
index dc38fcb7..b7bb6bb6 100644
--- a/app/catalogs/haddock3.easy.json
+++ b/app/catalogs/haddock3.easy.json
@@ -2186,7 +2186,7 @@
"schema": {
"type": "object",
"properties": {
- "top_cluster": {
+ "top_clusters": {
"default": 1000,
"title": "Number of clusters to consider",
"description": "Number of clusters to consider (ranked by score)",
diff --git a/app/catalogs/haddock3.expert.json b/app/catalogs/haddock3.expert.json
index 992942e8..39313401 100644
--- a/app/catalogs/haddock3.expert.json
+++ b/app/catalogs/haddock3.expert.json
@@ -8798,7 +8798,7 @@
"schema": {
"type": "object",
"properties": {
- "top_cluster": {
+ "top_clusters": {
"default": 1000,
"title": "Number of clusters to consider",
"description": "Number of clusters to consider (ranked by score)",
diff --git a/app/catalogs/haddock3.guru.json b/app/catalogs/haddock3.guru.json
index 9ecbaa82..7721a3fc 100644
--- a/app/catalogs/haddock3.guru.json
+++ b/app/catalogs/haddock3.guru.json
@@ -9220,7 +9220,7 @@
"schema": {
"type": "object",
"properties": {
- "top_cluster": {
+ "top_clusters": {
"default": 1000,
"title": "Number of clusters to consider",
"description": "Number of clusters to consider (ranked by score)",
diff --git a/app/routes/scenarios.antibody-antigen.tsx b/app/routes/scenarios.antibody-antigen.tsx
index 186815a9..e7e410db 100644
--- a/app/routes/scenarios.antibody-antigen.tsx
+++ b/app/routes/scenarios.antibody-antigen.tsx
@@ -116,10 +116,11 @@ ${unambig_line}
[clustfcc]
min_population = 10
+plot_matrix = true
[seletopclusts]
-## select all the clusters
-top_cluster = 500
+## select top 500 clusters
+top_clusters = 500
## select the best 10 models of each cluster
top_models = 10
@@ -146,7 +147,9 @@ ${unambig_line}
[clustfcc]
[seletopclusts]
-top_cluster = 500
+top_clusters = 500
+## select the best 10 models of each cluster
+top_models = 4
[caprieval]
${ref_line}
diff --git a/app/routes/scenarios.protein-glycan.tsx b/app/routes/scenarios.protein-glycan.tsx
index e91b712c..cad79bed 100644
--- a/app/routes/scenarios.protein-glycan.tsx
+++ b/app/routes/scenarios.protein-glycan.tsx
@@ -115,9 +115,11 @@ ${ref_line}
[clustrmsd]
criterion = 'maxclust'
n_clusters = 50 # the number of clusters to be formed
+plot_matrix = true
[seletopclusts]
-top_models = 5
+top_clusters = 50
+top_models = 20
[caprieval]
${ref_line}
@@ -135,8 +137,6 @@ ${ref_line}
[clustrmsd]
criterion = 'distance'
linkage = 'average'
-# full example, 4 models should be present in a cluster
-min_population = 4
clust_cutoff = 2.5
[seletopclusts]
diff --git a/app/routes/scenarios.protein-ligand.tsx b/app/routes/scenarios.protein-ligand.tsx
index 3df28f27..e994321e 100644
--- a/app/routes/scenarios.protein-ligand.tsx
+++ b/app/routes/scenarios.protein-ligand.tsx
@@ -142,8 +142,9 @@ ${ref_line}
[ilrmsdmatrix]
[clustrmsd]
-criterion = 'maxclust'
-n_clusters = 4 # the number of clusters to be formed
+criterion = 'distance'
+clust_cutoff = 2.5
+plot_matrix = true
[seletopclusts]
top_models = 4
diff --git a/app/routes/scenarios.scoring.tsx b/app/routes/scenarios.scoring.tsx
index 604b9e25..0f401d12 100644
--- a/app/routes/scenarios.scoring.tsx
+++ b/app/routes/scenarios.scoring.tsx
@@ -29,6 +29,7 @@ import { Input } from "~/components/ui/input";
import { Label } from "~/components/ui/label";
import { ActionButtons, handleActionButton } from "~/scenarios/actions";
import { FormErrors } from "~/scenarios/FormErrors";
+import { ReferenceStructureInput } from "~/scenarios/ReferenceStructureInput";
import { PDBFilesInput } from "~/scenarios/PDBFilesInput.client";
import {
moleculeFieldDescription,
@@ -49,7 +50,7 @@ export const action = uploadaction;
const fieldDescriptions = {
molecules: moleculeFieldDescription,
...getModuleDescriptions(`clustfcc`, ["clust_cutoff", "min_population"]),
- ...getModuleDescriptions(`seletopclusts`, ["top_models", "top_cluster"]),
+ ...getModuleDescriptions(`seletopclusts`, ["top_models", "top_clusters"]),
} as {
// TODO do fancy typescipt so cast is not needed
molecules: Description;
@@ -109,6 +110,9 @@ function generateWorkflow(
undefined,
2,
);
+ const ref_line = data.reference_fname
+ ? `reference_fname = "${data.reference_fname.name}"`
+ : "";
// easy is not allowed to set tolerance
const tolerance_line =
@@ -136,6 +140,7 @@ ${tolerance_line}
${tolerance_line}
[caprieval]
+${ref_line}
[clustfcc]
min_population = ${data.min_population}
@@ -143,9 +148,10 @@ clust_cutoff = ${data.clust_cutoff}
[seletopclusts]
top_models = ${data.top_models}
-top_cluster = ${data.top_cluster}
+top_clusters = ${data.top_cluster}
[caprieval]
+${ref_line}
# ===================================================================================
`;
}
@@ -285,6 +291,9 @@ export default function ScoringScenario() {
/>
+
+
+
diff --git a/app/scenarios/ResiduesSelect.tsx b/app/scenarios/ResiduesSelect.tsx
index ce09ecee..4918ca57 100644
--- a/app/scenarios/ResiduesSelect.tsx
+++ b/app/scenarios/ResiduesSelect.tsx
@@ -164,7 +164,7 @@ export function PickIn3D({
@@ -172,9 +172,9 @@ export function PickIn3D({
P