AlignBucket is a software for splitting a fasta file into smaller pieces suitable for alignment with BLAST. The constraint used to optimize the result is the required minimum alignment coverage.
Source code and example files are available also at the Bologna Biocomputing Group website.
G. Profiti, P. Fariselli, and R. Casadio. "AlignBucket: a tool to speed up 'all-against-all' protein sequence alignments optimizing length constraints". Bioinformatics, 31 (23): 3841-3843, 2015.
The program was tested on a GNU/Linux Debian 7 system.
The required libraries are:
- GNU Multiple Precision library (gmp)
- boost library (at least version 1.49)
Also Python version >= 2.6.6 is required for some helper functions.
To compile the program, you need to install the required libraries. On Debian and Ubuntu you can use the following commands:
sudo apt-get install g++
sudo apt-get install libgmp3-dev
sudo apt-get install libboost-dev
sudo apt-get install libboost-program-options-devThen you must run:
makeor, if you don't have Automake in your system:
g++ -o alignbucket src/alignbucket.cpp -lgmpxx -lgmp -lboost_program_optionsThen, you have to set execution permission on the program:
chmod u+x alignbucketTo split your fasta file into optimized buckets for 90% coverage, just run the following command:
./alignbucket.sh <fasta file>Example with Swissprot sequences:
./alignbucket.sh uniprot_sprot.fastaThe output will be a set of fasta file named xxx-yyy.fasta, with xxx and yyy being the minimum and the maximum length of the sequences inside the file.
For different coverage ratios, just run
./alignbucket.sh <fasta file> <percentage>Example, for 75% coverage use:
./alignbucket.sh uniprot_sprot.fasta 75
The program is released under a GNU Public License version 2. Please see the LICENSE.txt file