Skip to content

gtuckerkellogg/pairwise

Repository files navigation

pairwise

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.

Usage

This project now uses Clojure CLI tools and Shadow CLJS for building.

Development

# 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

Building

# Build demo site
npm run demo

# Build production version
npm run build

Command-Line Interface

Install the CLI to ~/bin:

clojure -T:build install

This 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

Testing

# Run tests
npm test
# or
clojure -M:test

About

An educational tool for pairwise alignment

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages