Leveraging Rust: a one stop shop ranging from big data processing to web front-end visualisations
Goran Sterjov1, Kathryn Hall1, Peter Brenton2, Nigel Ward3 1Australian Reference Genome Atlas Australia2Atlas of Living Australia, Black Mountain, ACT, Australia3BioCommons, North Melbourne, VIC, Australia
Abstract
The increasing popularity of the Rust programming language (https://www.rust-lang.org/) and it’s versatility, ranging from a low level systems language to the browser front-end via WebAssembly (https://webassembly.org/), presents unique opportunities for the research community at large. The key advantages of Rust are:
– a plethora of quality libraries within the Rust ecosystem;
– the depth of optimisations available to a systems language, resulting in great performance for compute constrained scenarios;
– the good compatibility story with WebAssembly, enabling the same code running in data centres to run in the client browser, leading to enhanced interactivity; and
– the strong safety guarantees, combined with a focus on reproducible builds, add a good amount of resistance against software rot.
Here we highlight these potential gains by showcasing the implementation in the Australian Reference Genome Atlas (ARGA). In this real-world case, we process large quantities of binary ABIF files used as standard in genomics, and then use the same library without modification in an interactive web front-end. In addition to the ABIF files, the same has been applied with high quality community libraries, such as the noodles bioinformatics rust library (https://github.com/zaeleus/noodles).
Here we demonstrate that leveraging a versatile language with potent advantages, like Rust, maximises the use of open source contributions, and results in effective full stack software deployment in a resource- or compute-constrained environment.
Biography
A life-long proponent of open source software, Goran has recently joined the ARGA team to help push the open science and open data movement forward with a data portal aimed at empowering researchers to discover, select, and access genomics data and resources to answer biological questions in conservation, biosecurity, agriculture, biodiversity, evolution, biopharmaceuticals and other natural products, environmental resilience, and more.