Code, Math, and Algorithms

Assembly Index Explorer

Build reusable-fragment pathways for directed strings and small molecular graphs. Bounded Python workers search for reusable pathways. Results show a proved minimum or a clearly labelled constructive upper bound.

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

As we show in the supplemental complexity proof, exact Assembly Index calculation is NP-complete, so computation time can grow very rapidly with problem size. The server therefore places a time bound on branch-and-bound 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. Molecular exact search is restricted to at most 9 atoms and 8 bonds. Larger accepted molecules receive a constructive upper bound. Both adapters use the same generic finite assembly-space solver.

Directed input string

The server first retains a valid pathway, then uses branch-and-bound with up to two parallel search processes. Candidate counts include partial rooted-subspace search states. The time limit covers worker startup, model construction and search.