carta
makeflow_blast(1)

makeflow_blast1

Generate a makeflow to parallelize and distribute blastall jobs

Usage

FCmakeflow_blast query_granularity character_granularity [blast_options] FT

Overview

makeflow_blast is a script to generate makeflow() workflows to execute FCblastallFT jobs. Essentially, the script uses query_granularity (the maximum number of sequences per fasta file split) and character_granularity (the maximum number of characters per fasta file split) to determine how to break up the input fasta file. It then creates a makeflow that will execute a blastall with the desired parameters on each part and concatenate the results into the desired output file. For simplicity, all of the arguments following query_granularity and character_granularity are passed through as the options to FCblastallFT

makeflow_blast executes a small test BLAST job with the user provided parameters in order to be sure that the given parameters are sane. It then calculates the number of parts the provided fasta input file will require, prints a makeflow rule to generate those parts using split_fasta(), and enumerates makeflow rules to execute blastall with the given parameters on each part. Subsequent rules to condense and clean the intermediate input and output are then produced.

makeflow_blast expects a blastall in the path, and should be used from the directory containing the input files and databases. For distribution convenience, it is required that the files constituting a given BLAST database must be stored in a folder with the same name as that database.

Options

-i <input>

Specifiy the input fasta file for querying the BLAST database

-o <output>

Specify the output file for final results

-d <databse>

Specify the BLAST database to be queried

Exit status

On success, returns zero. On failure, returns non-zero.

Environment

Examples

To generate a makeflow to run blastall -p blastn on smallpks.fa and testdb, splitting smallpks.fa every 500 sequences or 10000 characters and placing the blast output into test.txt do:


    

    
        

python makeflow_blast 500 10000 -i smallpks.fa -o test -d testdb/testdb -p blastn > Makeflow

You can then execute this workflow in a variety of distributed and parallel environments using the makeflow command.

History

  • Debian 13 (Trixie): the text shown here
  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)
  • Debian 10 (Buster)

-d since Debian 13 (Trixie); -i since Debian 13 (Trixie); -o since Debian 13 (Trixie).

From coop-computing-tools 1:7.14.5-1+b2 in Debian 13 (Trixie). Parsed by carta from the page's man source.