/brocc

Consensus taxonomy assignment for short reads (great for fungi)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

BROCC

Generate consensus-based taxonomic assignments from BLAST results.

Please cite the following paper when using BROCC:

Dollive S, Peterfreund GL, Sherrill-Mix S, Bittinger K, Sinha R, Hoffmann C, Nabel CS, Hill DA, Artis D, Bachman MA, Custers-Allen R, Grunberg S, Wu GD, Lewis JD, Bushman FD. A tool kit for quantifying eukaryotic rRNA gene sequences from human microbiome samples. Genome Biol. 2012 Jul 3;13(7):R60. doi: 10.1186/gb-2012-13-7-r60.

Installion

To install BROCC system-wide, run this command in the current directory.

python setup.py install

Running

The BROCC classifier takes BLAST results as input, using output format 7 (see BLAST documentation). The following BLAST parameters are found to work best for amplicon based sequence sets:

blastn -query <SEQUENCES (FASTA FORMAT)> -evalue 1e-5 -outfmt 7 -db nt -out <BLAST RESULTS> -num_threads 8 -max_target_seqs 100

The BROCC program requires two input files and the name of an output directory:

brocc.py -i <SEQUENCES (FASTA FORMAT)> -b <BLAST RESULTS> -o <OUTPUT DIRECTORY>

brocc.py outputs a QIIME-formated taxonomy map and a log file. The log file that contains the full classification and voting details: number of votes for winner, total votes cast, and number of generic hits pruned.

Settings

The BROCC command has several options for consensus formation:

  • minimum hit coverage (for consideration)
  • minimum species identity (for consideration at the species level)
  • minimum genus identity (for consideration at the genus level)
  • minimum overall identity (for consideration at higher levels)
  • maximum proportion of generic hits pruned out before query is given a high level classification only

The defaults are currently set for the ITS1 gene, because these settings seem to work well over several different amplicons. The minimum identity defaults for ITS1 are 95.2% at the species level and 83.05% at the genus level (taken from Liggenstoffer et al). For 18S, settings of 99.0% at the species level and 96.0% at the genus level seem to produce the most accurate and stable assignments.