Skip to main content

Native Python library for generic sequence alignment.

Project description

=========
Alignment
=========

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


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.5.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file alignment-1.0.5.tar.gz.

File metadata

  • Download URL: alignment-1.0.5.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for alignment-1.0.5.tar.gz
Algorithm Hash digest
SHA256 2c27b8821c62ccce3b2c223fa5285d28ae3ebf8057b0c06458451c791cbea56b
MD5 0f83e018b50a01120acc0b6a25e91877
BLAKE2b-256 a8a4a49a661b753921aa3ab4d3781c0d95b62ef60097f78a374e77845a101e5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page