From arccwiki
Jump to: navigation, search

BarraCUDA A sequence mapping software that utilizes GPUs
Started in 2009, the aim of the BarraCUDA project is to develop a sequence mapping software that utilizes the massive parallelism of graphics processing units (GPUs) to accelerate the inexact alignment of short sequence reads to a particular location on a reference genome.
BarraCUDA can align a paired-end library containing 14 million pairs of 76bp reads to the Human genome in about 9 minutes from fastq files to SAM alignment using a NVIDIA Tesla K80. The alignment throughput can be boosted further by using multiple GPUs (up to 8) at the same time.
Being based on BWA version 0.6 ( from the Sanger Institute, BarraCUDA delivers a high level of alignment fidelity and is comparable to other mainstream alignment programs. It can perform gapped alignment with gap extensions, in order to minimise the number of false variant calls in re-sequencing studies.

Module: Example

[]$ module spider barracuda
  barracuda: barracuda/0.7.0
[]$ module load barracuda/0.7.0


Basic Command Line:

[]$ barracuda 
Barracuda, Version 0.7.0r107
Usage:   barracuda <command> [options]
Command: index         index sequences in the FASTA format
         aln           gapped/ungapped alignment
         samse         generate alignment (single ended)
         sampe         generate alignment (paired ended)
         fastmap       identify super-maximal exact matches

         fa2pac        convert FASTA to PAC format
         pac2bwt       generate BWT from PAC
         pac2bwtgen    alternative algorithm for generating BWT
         bwtupdate     update .bwt to the new format
         bwt2sa        generate SA from BWT and Occ
         pac2cspac     convert PAC to color-space PAC
         stdsw         standard SW/NW alignment

Test Example: On a non-gpu node:

[]$ barracuda deviceQuery
Barracuda, Version 0.7.0r107
[core] Error_2 on cudaGetDeviceCount
CUDA driver version is insufficient for CUDA runtime version

Test Example: On a gpu node:

[...tlog1]$ salloc --account=arcc --time=05:00 --nodes=1 --gres=gpu:3
[...@mdbg01 ...]$ srun barracuda deviceQuery
Barracuda, Version 0.7.0r107
0 12212 52
1 6083 35
2 6083 35


  • Remember, this software utilizes GPUs, so you will have to request an appropriate node within you're job allocation request.
  • You also need to run using srun otherwise the GPU requested allocation will not be available. So, in the last example, if you forget the srun the following will happen:
[...tlog1]$ salloc --account=arcc --time=05:00 --nodes=1 --gres=gpu:3
[...@mdbg01 ...]$ barracuda deviceQuery
Barracuda, Version 0.7.0r107
[core] Error_2 on cudaGetDeviceCount
no CUDA-capable device is detected

Back to HPC Installed Software