diff --git a/gui/src/client/src/components/workspace/WorkspaceDiscovery.tsx b/gui/src/client/src/components/workspace/WorkspaceDiscovery.tsx
index a18e8e7..0012bf0 100644
--- a/gui/src/client/src/components/workspace/WorkspaceDiscovery.tsx
+++ b/gui/src/client/src/components/workspace/WorkspaceDiscovery.tsx
@@ -11,6 +11,7 @@ import Chip from "@mui/material/Chip";
import CircularProgress from "@mui/material/CircularProgress";
import Collapse from "@mui/material/Collapse";
import Divider from "@mui/material/Divider";
+import FormControlLabel from "@mui/material/FormControlLabel";
import MenuItem from "@mui/material/MenuItem";
import TextField from "@mui/material/TextField";
import ToggleButton from "@mui/material/ToggleButton";
@@ -268,7 +269,12 @@ function ResultRow({
)}
-
+
fp {(result.fingerprintSimilarity * 100).toFixed(1)}%
@@ -332,6 +338,8 @@ export const WorkspaceDiscovery: React.FC = ({ session
const [scoreMode, setScoreMode] = React.useState("subsequence");
const [n, setN] = React.useState(100);
const [topX, setTopX] = React.useState(20);
+ const [includeUserUploads, setIncludeUserUploads] = React.useState(false);
+ const [onlyUserUploads, setOnlyUserUploads] = React.useState(false);
const [resultsView, setResultsView] = React.useState<"pairwise" | "msa">("pairwise");
const [selectedForMsa, setSelectedForMsa] = React.useState>(new Set());
@@ -349,6 +357,9 @@ export const WorkspaceDiscovery: React.FC = ({ session
scoreMode,
n,
topX,
+ includeUserUploads: (includeUserUploads || onlyUserUploads) && entryType !== "bgc",
+ onlyUserUploads: onlyUserUploads && entryType !== "bgc",
+ sessionId: session.sessionId,
}),
onError: (err) => {
const msg = err instanceof Error ? err.message : String(err);
@@ -593,6 +604,34 @@ export const WorkspaceDiscovery: React.FC = ({ session
disabled={discoveryMutation.isPending}
/>
+ setIncludeUserUploads(e.target.checked)}
+ disabled={
+ discoveryMutation.isPending || entryType === "bgc" || compoundItems.length === 0 || onlyUserUploads
+ }
+ />
+ }
+ label="Include my uploaded compounds"
+ title="Uploaded compounds compete for a spot among the nearest N candidates, then follow the usual top-X ranking. BGC uploads aren't supported yet."
+ />
+
+ setOnlyUserUploads(e.target.checked)}
+ disabled={discoveryMutation.isPending || entryType === "bgc" || compoundItems.length === 0}
+ />
+ }
+ label="Only use my uploads"
+ title="Skip the shared database entirely and align only against your own uploaded compounds."
+ />
+