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.
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.
Metadata
Release files for alignment 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alignment-1.0.4.tar.gz | 7.1 kB | Details |
Release files / alignment-1.0.4.tar.gz
| Download URL | alignment-1.0.4.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5bedc6e2eedc5e10d96854892c98a9629fdc601353a4d3980e4c994890b74d45
|
|
BLAKE2b-256 checksum How to use checksums |
98721e8363564eebfcb83f61414e16ca01c21ea60ffa3c70a20653a6cb173e8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |