/seqtools

Tools for sequence and alignment manipulation

Primary LanguagePythonOtherNOASSERTION

Introduction

seqtools is a set of Python libraries for manipulating sequence data and generating sequence alignments. Many of the functions and classes within are derived from the excellent galaxy-tools libraries (Blankenberg et al.), but modified to use numpy for storing quality values, etcetera. There are also functions for working with lastz and some general functions for parsing arguments and validating input.

Generally speaking, this is a utility library that we use in other programs on which we work. Thus, it's commonly a dependency of many of these packages.

Installation

seqtools requires numpy (> 1.3). After installing numpy, to install seqtools:

  • from source:

    tar -xzvf ~/your/download/location/seqtools-*.tar.gz
    python setup.py install
    
  • using easy_install:

    easy_install seqtools
    
  • using pip:

    pip install seqtools
    

Tests

While several of the functions and classes within seqtools are not (yet) fully tested, ALL of the sequence-handling classes, methods, and functions are covered by unittests.

Running the tests as below, requires python-nose. After installing python-nose, numpy, and seqtools run the tests using:

>>> from seqtools import sequence
>>> sequence.test()

Alternatively, you can run::

python setup.py test

Or, after installing numpy and seqtools you can run the tests using::

python seqtools/sequence/tests/run.py