Native Python library for generic sequence alignment.
Project description
Alignment is a native Python library for generic sequence alignment. It is useful in cases where your alphabet is arbitrarily large and you cannot use traditional biological sequence analysis tools. It supports global and local pairwise sequence alignment. I also plan to add support for profile-profile alignments, but who knows when.
Installation
You can install the most recent release using pip:
pip install alignment
Usage
Typical usage looks like this:
from alignment.sequence import Sequence from alignment.vocabulary import Vocabulary from alignment.sequencealigner import SimpleScoring, GlobalSequenceAligner # Create sequences to be aligned. a = Sequence('what a beautiful day'.split()) b = Sequence('what a disappointingly bad day'.split()) # Create a vocabulary and encode the sequences. v = Vocabulary() aEncoded = v.encodeSequence(a) bEncoded = v.encodeSequence(b) # Create a scoring and align the sequences using global aligner. scoring = SimpleScoring(2, -1) aligner = GlobalSequenceAligner(scoring, -2) score, encodeds = aligner.align(aEncoded, bEncoded, backtrace=True) # Iterate over optimal alignments and print them. for encoded in encodeds: alignment = v.decodeSequenceAlignment(encoded) print alignment print 'Alignment score:', alignment.score print 'Percent identity:', alignment.percentIdentity() print
TODO List
Profile-profile alignment is not working yet.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
alignment-1.0.8.tar.gz
(7.2 kB
view details)
File details
Details for the file alignment-1.0.8.tar.gz
.
File metadata
- Download URL: alignment-1.0.8.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9e58ab7de910c2af18174da1a89b16ef33afb0489da0bfc3d6140fdfe3a8fee |
|
MD5 | 6d92645ae2f6c9ea3eaed68aa288d202 |
|
BLAKE2b-256 | 8655302093498e03d5846958d1b7ecc0da55155b7158182ebe0e53b479beddf5 |