A Clojure/Clojurescript library for pairwise sequence comparison using dynamic programming algorithms (Needleman-Wunsch and Smith-Waterman) with linear gap penalties.
When published on github, the application will run at demo.
This project now uses Clojure CLI tools and Shadow CLJS for building.
# Install dependencies
npm install
# Start development server with hot reloading
npm run dev
# or
clojure -M:dev watch app
# Open http://localhost:3000 in your browser# Build demo site
npm run demo
# Build production version
npm run buildInstall the CLI to ~/bin:
clojure -T:build installThis builds an uber JAR, copies it to ~/bin/pairwise.jar, and creates a ~/bin/pairwise wrapper script. Make sure ~/bin is on your PATH.
# Global alignment with BLOSUM50
pairwise -1 HEAGAWGHEE -2 PAWHEAE -m BLOSUM50 -g 8
# Local alignment with BLOSUM62
pairwise -1 HEAGAWGHEE -2 PAWHEAE -t local -m BLOSUM62
# Affine gap penalties
pairwise -1 HEAGAWGHEE -2 PAWHEAE -m BLOSUM50 --gap-model affine --gap-open 12 --gap-extend 2
# Generate TikZ/LaTeX visualization
pairwise -1 ACGT -2 ACGT -o alignment.tex
# Full usage
pairwise --help# Run tests
npm test
# or
clojure -M:test