Skip to content

Tools for manipulating biological data, particularly multiple sequence alignments

License

Notifications You must be signed in to change notification settings

bxlab/bx-python

Repository files navigation

Build Status

Read the Docs

bx-python

The bx-python project is a Python library and associated set of scripts for rapid implementation of genome scale analyses. The library contains a variety of useful modules, but the particular strengths are:

  • Classes for reading and working with genome-scale multiple local alignments (in MAF, AXT, and LAV formats)
  • Generic data structure for indexing on disk files that contain blocks of data associated with intervals on various sequences (used, for example, to provide random access to individual alignments in huge files; optimized for use over network filesystems)
  • Data structures for working with intervals on sequences
    • "Binned bitsets" which act just like chromosome sized bit arrays, but lazily allocate regions and allow large blocks of all set or all unset bits to be stored compactly
    • "Intersecter" for performing fast intersection tests that preserve both query and target intervals and associated annotation

Requirements

Build currently requires liblzo, e.g. sudo apt-get install liblzo2-dev on debian/ubuntu).

Installing

The package can be installed with pip:

pip install bx-python

It is available in bioconda (recommended):

conda install -c conda-forge -c bioconda bx-python

It is available in Debian and Ubuntu:

sudo apt install python3-bx

Or can be built from a checkout of the repository:

python setup.py install