PSMB_Seqan_2017_webassembly

PMSB Project at the intersection of C++, High performance computing and modern web technologies. Has the possibility to be continued as a Bachelor Thesis.

Introduction

Since modern web-browsers are used for all kinds of tasks they have gone through an immense amount of optimization in the past years, especially the javascript engines. They are now comparable in speed with many ahead-of-time-compiled languages. [1] Modern browsers also offer access to disk-space and most of the computers available RAM so they are indeed useful for scientific applications. This opens up the possibility to do *client-side* computations via the browser.

While many SeqAn-based applications are used on large servers, many smaller workloads could actually be done on Laptops and Desktops. There, however, software deployment is often a problem and command-line tools or platform-dependent executables prevent easy adoption.

By creating browser-based apps from SeqAn-apps one could bridge this gap and hopefully provide a useful service to many users. In any case high-performance biological applications are an interesting test case for the current browser technologies and the involved software.

Previous Work

There was already a PMSB project in 2016 and a subsequent Bachelor Thesis that evaluated C++ to Javascript compilation and building a framework around it:

Based on this work the student should instead target WebAssembly[2] as output and perform similar comparisons as in the previous work (but now with WebAssembly instead of Javascript).

Prerequisites for this project

The student will learn…

Possible continuation as Bachelor's Thesis

The goal would be to pick a SeqAn application like Lambda or Yara and port it completely to WebAssembly, i.e. make sure that everything works and create a web-site that serves the WebAssembly and contains Javascript interfaces to certain native functionality, like opening and saving input/output files.