Code, Math, and Algorithms

Assembly Index Explorer

Default first-principles method: This presentation implementation was built de novo from the definitions in the supplemental complexity proof. It is not the split-bound method implemented by the Cronin group. For production-quality Assembly Index calculations, see the Cronin group's work.

As we show in the supplemental complexity proof, the general Assembly Index decision problem, with an assembly space and its allowed joins supplied as input, is NP-complete; minimizing the index is NP-hard. This implementation places a time limit on search and returns the best valid path found within that time. It reports an exact Assembly Index only when the minimum has been proved; otherwise the result is labelled as an upper bound. In the default first-principles method, fragments and joins are generated as needed under the time limit and OS memory/CPU limits. String and Molecule assembly use the same generic lazy assembly-space solver. The Custom objects tab accepts your own objects and permitted joins. Separately selectable published methods are described below.

Cronin group's molecular assembly methods

Research lineage: Split-branch — Marshall et al. (2021) → Exact molecular assembly search — Jirasek et al. (2024) → Graph assembly algorithm — Seet et al. (2025). The earlier split-branch method restricts fragment reuse and supplies an upper bound on unrestricted MA. Jirasek's later exact search removes that restriction; Seet builds on this line with cached assembly states and stronger conditional bounds. Seet is a successor in this research line, rather than a new name for split-branch. Both later methods return an upper bound if stopped before proving optimality. The earlier papers are historical references here; the runnable options are our independent Seet implementation and our separately labelled multicpu extension.

All algorithms offered here are new implementations developed for Assembly Explorer. Publication-based methods cite their sources; adaptations and experimental variants are identified in their descriptions.

Algorithms to run

Check one algorithm to run it, or several to compare their results.

Select any pair or larger set to compare. The shared plot tracks each method's best Assembly Index in its own colour; individual bars show time budget used, not an estimate of search completion. The time limit below applies to each algorithm. A comparison occupies one queue slot. Pathways and timings stay separate; work counts use each method's own unit.

Directed input string

String time-limit units
Maximum 6 hours

The time limit covers worker startup, model construction, calculation and certificate validation. The service has a 64 GiB aggregate memory limit and a 32-core CPU quota.