Today I’m attending the conference “Visualising Biological information” (VIZBI2019). One of the posters is about how the Ensembl genome browser is replacing their 20 year old C/C++ server side codebase with a modern from-scratch rebuild, using (among others) Rust+WebAssembly.
For those without a bioinformatics background: Ensembl is one of the biggest resources in genome bioinformatics. They provide curated, annotated browsing of the reference genomes for all of the important species: i.e. the “SatNav” to make sense of our DNA blueprints of life.
They put the distilled essence of terabytes of information at your fingertips.
Since they are one of the core resources for the bioinformatics world, they have very high standards on performance, stability and long term maintainability, so if they pick Rust, we’re doing something right!
Their new client-side needs robust interactivity and high performance: for showing thousands of DNA objects and lots of annotation tracks in an interactive webbrowser view. They felt Rust+WAsm was the only obvious choice.
I spoke with their team leader, and they were very happy with the concerted efforts of the wasm-WG, they probably wouldn’t have picked Rust without their efforts, so big kudos to them!
Having said all of that, Rust is still a very new animal to the Ensembl team, so I’m doing my best to give them a flying start. Any tips and pointers are welcome!
Their experimental, wheels-might-come-off pre-alpha is being developed in the open starting today. If you want to give it a try: the announcement (with link to live demo) is here Ensembl 2020: pre-alpha release
Ensembl is developed at the EBI in Hinxton, near Cambridge (UK), so I pointed their Rust dev (unfortunately still singular) at the Cambridge Rust Meetup.
@therealjpster, @Istar-Eldritch: as organisers of said meetup: anything I should tell them?
I also approached them about maybe adding to our whitepaper collection, and they were quite enthusiastic about the idea. I’ll try to put them in touch with the community team.
If anyone has tips for how to engage, I’d love to hear them!
Edit: Tweet with their poster, proudly showing the Rust and StdWeb logos!