A modern toolbox for synthetic biology
Syn-Zeug is our team’s reimagining of a biological sequence manipulation toolbox. Existing online tools for sequence manipulation (think simple tools like reverse complement, calculating GC content, or translating to a protein) are often scattered around the web on obscure websites with user interfaces ripped straight from the 90s. Juggling a dozen tabs and pop-up windows with DNA, RNA, and protein slows science down and is an unnecessary source of friction.
Our mission then is to build a single web-page with all of the sequence manipulation tools you’ll ever need in a single, sleek interface.
Though syn-zeug (or SZ Toolbox) comes wrapped in a sleek, mobile-friendly web interface, the tool can be run entirely offline and doesn’t rely on any server-side computation. If you’d like, you could download the webpage straight to your hard-drive and take it off the grid with you on your next rainforest expedition.
All of the tools that have been built into syn-zeug have been thoroughly benchmarked and optimized for performance. While this extensive optimization effort might not be particularly noticeable when you’re designing short primers on your computer, it goes a long way when you’re working with massive sequences or on low-power mobile devices. No matter what the sequence or device, SZ Toolbox should stay snappy.
Behind the scenes syn-zeug is actually constructed from several functional units. At its heart is a highly optimized Rust library that’s compiled to WebAssembly (WASM) before running in the browser. It’s this Rust-to-WASM conversion that makes it possible to write high-performance code that runs on the client-side without needing to involve a server. This design choice also means that more seasoned developers can build their own applications using syn-zeug as a base. The core syn-zeug library is completely disconnected from any web-technologies, so it’s trivial to roll syn-zeug into a Unix tool that can be run from the command line or a native desktop application.
Every part of the SZ Toolbox is built using modern, well-loved technologies (Rust, Svelte, Tailwind, etc) which make contributing code easy and enjoyable. Each tool added to the toolbox has its code vetted for quality, style, and performance — we take pride in our code quality and make a point of making it easy for new contributors to get involved.
That’s the best part! You can check out all of our code on GitLab and have a play with the live web toolbox right now! SZ Toolbox should work on all modern browsers, mobile devices included. If you’d like to see a bit more of the SZ toolbox first, check out the showcase video below! There are many, many new tools and UI elements in the works, but we do consider things to already be in a usable and useful state.