Framework for building fast genomics web tools with WebAssembly and WebWorkers
Aioli is a library for running genomics command-line tools in the browser using WebAssembly. See Who uses biowasm for example use cases.
Run npm install
to install dependencies.
Then run npm run dev
to launch the web server and use src/example.js
as a sample web app that uses the dev version of Aioli.
Run npm run test
.
package.json
(append -rc1
for release candidates)npm run build
npm pack
npm publish [tgzfile] --tag next
npm install @biowasm/aioli@next
package.json
npm run build
npm publish --access public
biowasm.json
and deploy biowasm CDNsamtools index
), we automatically create a symlink from each local file's WORKERFS path to a path in PROXYFS.-s MODULARIZE=1
, i.e. the .js
file will contain a Module
function that initializes the module and returns a Promise
that resolves when the module is loaded.wasm-feature-detect
. If a tool needs WebAssembly SIMD and the user has a browser that does not support it, we will load the non-SIMD version of that tool.WebAssembly is a fast, low-level, compiled binary instruction format that runs in all major browsers at near native speeds. One key feature of WebAssembly is code reuse: you can port existing C/C++/Rust/etc tools to WebAssembly so those tools can run in the browser.
WebWorkers allow you to run JavaScript in the browser in a background thread, which keeps the browser responsive.
See the biowasm project.