Skip to content
Breakpoints via assembly - Identifies breaks and attempts to assemble rearrangements.
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
c++ C++11 compatibility fix [minor] Jul 9, 2018
distros Migration from CGP internal git repo Oct 31, 2014
scripts Added a script to process UCSC centro/telo data for input to BRASS Jul 25, 2018
.travis.yml add fix for bioperl deps Apr 17, 2019
LICENSE Initial commit Oct 31, 2014 Fix link to legacy ICGC version of PCAP-core Mar 15, 2018 Update dates/email in license blocks Mar 12, 2018


Master Develop
Master Badge Develop Badge

Breakpoints via assembly

BRASS analyses one or more related BAM files of paired-end sequencing to determine potential rearrangement breakpoints.

There are several stages the main component being:

  1. Collect read-pairs where both ends map but NOT marked as properly-paired.
  2. Perform grouping based on mapped locations
  3. Filter
  4. Run assembly
  5. Annotate with GRASS

Quick installation

./ path_to_install_to

Skipping all external dependencies

If you want to only install the core of BRASS (C and perl wrappers) and use existing versions of tools from your path run as:

./ path_to_install_to 1

Skipping exonerate install

Central install via package manager of 2.2.0 is adequate. To skip just exonerate install run:

./ path_to_install_to 2


  • The C++ code (within this package) requires the presence of pstreams.h (and associated development libraries). This is not handled by the script.

Perl packages:

Each of these has it's own dependencies.

R packages

A large number of R packages are required to run BRASS. To facilitate the install process there is a script Rsupport/libInstall.R that can be run to build these for you. See this file for the list of packages.

Alternatively you can run:

cd Rsupport
./ path_to_install_to

Appending 1 to the command will request a complete local build of R (3.1.3).

Other tools that need to be in path

    • If not done failures due to absence of ssearch36 will occur.
    • ssearch36 is the only program required.

Tools installed by

Please use to install these dependencies. Setting the environment variable CGP_PERLLIBS allows you to to append to PERL5LIB during install. Without this all dependancies are installed into the target area. will not use PERL5LIB directly.

Please be aware that this expects basic C compilation libraries and tools to be available.

Running BRASS

This package includes a reference implementation which handles all of the linking together of steps.

Please see the -h and -m options of for full usage information.

It can be run in a couple of ways:

  1. Fire and forget
  • Execute on a single host with multiple cores (or 1 if that's all you have)
  • Some efficiency overhead as some steps aren't parallel
  1. Farm style
  • Requires 2 extra parameters in the initial command
  • See -help for further details


Initial mapping

BRASS has primarily been written to work with BWA mapped data. You are likely to get the most useful output from BWA-mem.

Library quality

Please be aware that paired-end libraries where properly-paired reads are heavily overlapped are unlikely to produce good results.

Additional mapping information

BRASS requires accurate information regarding the insert size distribution and expects to find a *.bam.bas file co-located with the *.bam's. These can be generated by the bam_stats program included in the PCAP-core project. If you use to map your data (same repository) then this file is generated automatically for you.

Docker, Singularity and Dockstore

There is a pre-built image containing this codebase on

This was primarily designed for use with but can be used as normal containers.

The docker images are know to work correctly after import into a singularity image.


Copyright (c) 2014-2018 Genome Research Ltd.

Author: CASM/Cancer IT <>

This file is part of BRASS.

BRASS is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <>.

1. The usage of a range of years within a copyright statement contained within
this distribution should be interpreted as being equivalent to a list of years
including the first and last year specified and all consecutive years between
them. For example, a copyright statement that reads ‘Copyright (c) 2005, 2007-
2009, 2011-2012’ should be interpreted as being identical to a statement that
reads ‘Copyright (c) 2005, 2007, 2008, 2009, 2011, 2012’ and a copyright
statement that reads ‘Copyright (c) 2005-2012’ should be interpreted as being
identical to a statement that reads ‘Copyright (c) 2005, 2006, 2007, 2008,
2009, 2010, 2011, 2012’."
You can’t perform that action at this time.