• Stars
    star
    582
  • Rank 76,801 (Top 2 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created almost 10 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a Bioinformatics Application for Navigating De novo Assembly Graphs Easily

BandageBandage

Table of Contents

2022 update

Bandage is now about seven years old! Despite its popularity, I sadly don't have the time to give it the attention it deserves. Also, its codebase is too large and my C++/Qt skills are too rusty for me to make anything more than trivial changes.

I'm not declaring Bandage completely abandoned, because I still think it's a useful tool, but don't expect a lot development or support on this repo. I will, however, strive to ensure that Bandage continues to run well on modern systems. E.g. I released v0.9.0 in January 2022, which compiles using modern versions of Qt and runs natively on Apple Silicon Macs.

A number of enterprising users have forked Bandage, so if youโ€™re after a specific new feature, you might find it implemented in one of the forks, the most active of which is BandageNG.

Intro

Bandage is a GUI program that allows users to interact with the assembly graphs made by de novo assemblers such as Velvet, SPAdes, MEGAHIT and others.

De novo assembly graphs contain not only assembled contigs but also the connections between those contigs, which were previously not easily accessible. Bandage visualises assembly graphs, with connections, using graph layout algorithms. Nodes in the drawn graph, which represent contigs, can be automatically labelled with their ID, length or depth. Users can interact with the graph by moving, labelling and colouring nodes. Sequence information can also be extracted directly from the graph viewer. By displaying connections between contigs, Bandage opens up new possibilities for analysing and improving de novo assemblies that are not possible by looking at contigs alone.

More information and download links are on the Bandage website: rrwick.github.io/Bandage

Help

Bandage documentation is available on the Bandage GitHub wiki.

Bandage help tips are also built into the program. Throughout the UI, you will find these icons next to controls and settings: help text icon. Click them to see a description of that element of Bandage.

Pre-built binaries

Compiled 64-bit binaries for Ubuntu Linux, CentOS, macOS and Windows are available in the GitHub 'Releases' section and from the Bandage website.

If you download and run the Mac binary, you may receive a warning stating that Bandage 'can't be opened because it is from an unidentified developer' or 'is damaged and can't be opened'. Right click on the file and select 'Open' to override this warning. If that doesn't work, clear the quarantine extended attribute via the command line with xattr -cr Bandage.app.

The Linux binaries come in two varieties: dynamically-linked and statically-linked. The dynamically-linked binary is preferable, but it has more dependencies (like Qt 5). If you experience problems with the dynamically-linked binary, please try the statically-linked version instead.

Building from source

If the compiled binaries do not work for you, you can build Bandage on most common OSs using Qt:

  1. Make sure you have a compiler and other common developer tools set up.
  • For macOS, this means Xcode and its command line tools.
  • For Ubuntu: sudo apt install build-essential git libgl1-mesa-dev libxcb-xinerama0
  1. Install the Qt SDK with version 5.15 or later. Double check that you install a version compatible with your OS (Qt 5 supported platforms and Qt 6 supported platforms).
  2. Clone the Bandage code from GitHub: git clone https://github.com/rrwick/Bandage.git
  3. Open the Qt Creator program and load the Bandage.pro file which is in the Bandage directory. Since this is the first time the project has been loaded, it will ask you to configure the project. The defaults should be okay, so click 'Configure Project'.
  4. Change to the release build configuration by clicking where it says 'Debug' in the bottom left area of Qt Creator and select 'Release'.
  5. Build and run Bandage by clicking the green arrow in the bottom left area of Qt Creator. Bandage should open when the build has finished.
  6. You will find the executable file in a new folder that begins with 'build-Bandage-Desktop'.

Contributing

New contributors are welcome! If you're interested or have ideas, please contact me (Ryan) at [email protected].

Citation

If you use Bandage in your research, please cite the following publication:

Wick R.R., Schultz M.B., Zobel J. & Holt K.E. (2015). Bandage: interactive visualisation of de novo genome assemblies. Bioinformatics, 31(20), 3350-3352.

Credits

Bandage makes use of the OGDF library for performing graph layout algorithms. My thanks goes out to the OGDF developers for their excellent work!

I also thank Rayan Chikhi and Elmar Pruesse for their contributions to the code.

License

GNU General Public License, version 3

More Repositories

1

Unicycler

hybrid assembly pipeline for bacterial genomes
C++
559
star
2

Porechop

adapter trimmer for Oxford Nanopore reads
C++
337
star
3

Basecalling-comparison

A comparison of different Oxford Nanopore basecallers
Python
313
star
4

Trycycler

A tool for generating consensus long-read assemblies for bacterial genomes
Python
306
star
5

Filtlong

quality filtering tool for long reads
C++
285
star
6

Long-read-assembler-comparison

Benchmarking of long-read assembly tools for bacterial whole genomes
Python
170
star
7

Badread

a long read simulator that can imitate many types of read problems
Python
168
star
8

Polypolish

a short-read polishing tool for long-read assemblies
Rust
143
star
9

Deepbinner

a signal-level demultiplexer for Oxford Nanopore reads
Python
124
star
10

Perfect-bacterial-genome-tutorial

Python
118
star
11

Metagenomics-Index-Correction

Python
78
star
12

Bacsort

a collection of scripts for organising bacterial genomes by species
Python
76
star
13

Minipolish

A tool for Racon polishing of miniasm assemblies
Python
72
star
14

Assembly-Dereplicator

A tool for removing redundant genomes from a set of assemblies
Python
68
star
15

August-2019-consensus-accuracy-update

A short analysis of Oxford Nanopore consensus accuracy for bacterial genome assemblies
Python
58
star
16

Verticall

Recombination-free trees
Python
56
star
17

Rebaler

reference-based long read assemblies of bacterial genomes
Python
47
star
18

MinION-desktop

Scripts and programs for the Holt Lab's MinION desktop
Python
32
star
19

Bacterial-genome-assemblies-with-multiplex-MinION-sequencing

Shell
32
star
20

Core-SNP-filter

a tool to filter sites in a FASTA-format whole-genome pseudo-alignment
Rust
30
star
21

Fast5-to-Fastq

A simple tool for extracting reads from Oxford Nanopore fast5 files
Python
26
star
22

Compare-annotations

A script for comparing old vs new versions of genome annotations
Python
20
star
23

LinesOfCodeCounter

A Python script to count lines of code in a directory for specific file extension, excluding blank/comment lines
Python
18
star
24

Catpac

a Contig Alignment Tool for Pairwise Assembly Comparison
Python
12
star
25

Small-plasmid-Nanopore

Python
11
star
26

DASCRUBBER-wrapper

Wrapper script for easier read scrubbing with DASCRUBBER
Python
10
star
27

GFA-dead-end-counter

a tool for counting dead ends in GFA assembly graphs
Rust
9
star
28

SPAdes-Contig-Graph

a tool for creating a FASTG contig graph from a SPAdes assembly
Python
9
star
29

Langtons-Ant-Animator

Program for creating Langton's Ant animations
C++
8
star
30

Klebsiella-assembly-species

a tool for assigning species to Klebsiella assemblies
Python
8
star
31

Circular-Contig-Extractor

Python
8
star
32

ONT-assembler-benchmark

Python
5
star
33

KleborateModular

A modular rewrite of Kleborate
Python
4
star
34

SRST2-table-from-assemblies

This is a tool for conducting a gene screen on assemblies, producing an SRST2-like output.
Python
3
star
35

IDBA-to-GFA

Python
3
star
36

Grovolve

Demonstration of evolution by natural selection
C++
3
star
37

Trycycler-paper

Supplementary figures, tables and scripts for the Trycycler paper
Python
3
star
38

Nanopore-barcode-binner

C++
3
star
39

Nanopore-read-processor

A script for sorting, assessing and converting Oxford Nanopore reads
Python
2
star
40

Adapter-assembler

C++
2
star
41

Bugraft

Demonstration of speciation and descent from a common ancestor
C++
2
star
42

Unicycler-assembly-tests

Shell
1
star
43

MLST-from-SRST2

This tool uses a table of compiled results from SRST2 to create an MLST-like scheme.
Python
1
star
44

SPAdes-completion-checker

Tool to assess SPAdes assembly graph paths using read depth
Python
1
star
45

Irsat

Iterative Read Subset Assembly Tool
Python
1
star
46

Polypolish-paper

Supplementary figures, tables and scripts for the Polypolish paper
Python
1
star
47

rrwick.github.io

SCSS
1
star