Attributes
Includes Deno configuration
Repository
Current version released
5 years ago
Birdie
birdie is a bioinformatics module for Deno that aims to evolve existing
JavaScript code 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
String Edit Distance
Import and initialize the WebAssembly module:
import * as distance from "https://deno.land/x/birdie/distance/mod.ts";
await distance.initWasm();Code using this module will need permissions to fetch .wasm binaries, which
requires --allow-net=deno.land.
- Hamming Distance
const x = "GTCTGCATGCG";
const y = "TTTAGCTAGCG";
const hammingDistance = distance.hamming(x, y);
console.log(hammingDistance); // 5n (BigInt)- Levenshtein distance (Wagner-Fischer Algorithm)
const levenshteinDistance = distance.levenshtein("kitten", "sitting");
console.log(levenshteinDistance); // 3- Levenshtein distance (Myers’ Algorithm)
const myersDistance = distance.myers("kitten", "sitting");
console.log(myersDistance); // 3Sequence Analysis
import * as sequence from "https://deno.land/x/birdie/sequence/mod.ts";
await sequence.initWasm();
const gcRatio = sequence.gcContent("GATATACA");
console.log(gcRatio); // 0.25
const gc3Ratio = sequence.gc3Content("GATATACA");
console.log(gc3Ratio); // 0.67Pattern Matching
- shift_and
import * as patternMatching from "https://deno.land/x/birdie/pattern_matching/mod.ts";
await patternMatching.initWasm();
const pattern = "AAAA";
const text = "ACGGCTAGAAAAGGCTAG";
const patternStartingPosition = patternMatching.shiftAnd(pattern, text);
console.log(patternStartingPosition); // 8Contributing
Any contributions are welcome and much appreciated!