Skip to main content

Birdie

birdie is a bioinformatics module for Deno that aims to evolve existing JavaScript utilities to WebAssembly-powered variants for increased performance. Currently it’s in very early stages of development and all features are considered unstable and experimental.

Features

Transcription

import { transcribe } from "https://deno.land/x/birdie/mod.ts";

const transcript = transcribe("ACGT");
console.log(transcript); > "UGCA";

Performs DNA to RNA transcription. It uses WebAssembly and performs ~4x faster than its pure JavaScript counterpart when benchmarked on a 1 million character string. However, the current implementation is for demonstrative purposes only (for example, it does not seek promotor sites to start transcription at).

String Diff Algorithms

Two options are available to calculate the Levenshtein edit distance for two strings:

  • Wagner-Fischer
  • Myers’ Algorithm
import { levenshtein } from "https://deno.land/x/birdie/mod.ts";

const distance = levenshtein("kitten", "sitting");
console.log(distance); // 3
import { myers } from "https://deno.land/x/birdie/mod.ts";

const distance = myers("kitten", "sitting");
console.log(distance); // 3

Contributing

Any contributions are welcome and much appreciated!