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