Giter Club home page Giter Club logo

bandage's Introduction

BandageBandage

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

De novo assembly graphs contain assembled contigs (nodes) but also the connections between those contigs (edges), which are not easily accessible to users. 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 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 is also built into the program. Throughout the UI, you will find these help icons next to controls and settings: help text icon. Click on these icons to read a description of how to use that element of Bandage.

Building from source

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

Linux

The following instructions successfully build Bandage on a fresh installation of Ubuntu 14.04:

  1. Ensure the package lists are up-to-date: sudo apt-get update
  2. Install prerequisite packages: sudo apt-get install build-essential git qtbase5-dev
  3. Prepare the OGDF library:
  4. Download the OGDF code (2012.07 Sakura release) from www.ogdf.net and unzip.
  5. Open a terminal in the OGDF directory.
  6. Create the Makefile: ./makeMakefile.sh
  7. Compile the library: make
  8. Download the Bandage code from GitHub: git clone https://github.com/rrwick/Bandage.git
  9. Ensure that the Bandage directory and the OGDF directory are stored in the same parent directory.
  10. Open a terminal in the Bandage directory.
  11. Set the environment variable to specify that you will be using Qt 5, not Qt 4: export QT_SELECT=5
  12. Run qmake to generate a Makefile: qmake
  13. Build the program: make
  14. Bandage should now be an executable file.
  15. Optionally, copy the program into /usr/local/bin: sudo make install. The Bandage build directory can then be deleted.
  16. Optionally, delete the OGDF directory.

Mac

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.' Right click on the file and select 'Open' to override this warning.

The following instructions successfully build Bandage on OS X 10.7 (Lion), 10.8 (Mountain Lion), 10.9 (Mavericks) and 10.10 (Yosemite):

  1. Install Xcode, along with the Xcode Command Line Tools.
  2. Install Qt 5
  • For OS X 10.8 and later this is most easily done using Homebrew: brew.sh. Install the Qt 5 package with this command: brew install qt5
  • For OS X 10.7 (or if the Homebrew install fails), it will be necessary to instead download and install the Qt SDK: www.qt.io/download-open-source. The disk space required can be greatly reduced by unticking the iOS and Android options in the Qt installer.
  1. Prepare the OGDF library:
  2. Download the OGDF code (2012.07 Sakura release) from www.ogdf.net and unzip.
  3. In the OGDF directory, edit the makeMakefile.config file. In the 'VERSIONS' section, add -DOGDF_MEMORY_MALLOC_TS to both the debug and release lines so they look like this: * debug = -g3 -O0 -DOGDF_DEBUG -DOGDF_MEMORY_MALLOC_TS * release = -O2 -DOGDF_MEMORY_MALLOC_TS
  4. Open a terminal in the OGDF directory.
  5. Create the Makefile: ./makeMakefile.sh
  6. Compile the library: make
  7. Download the Bandage code from GitHub: git clone https://github.com/rrwick/Bandage.git
  8. Ensure that the Bandage directory and the OGDF directory are stored in the same parent directory.
  9. Open a terminal in the Bandage directory.
  10. Run qmake to generate a Makefile:
  • On OS X 10.7 and 10.8, it is first necessary to remove this line from the Bandage.pro file, CONFIG += C++11.
  • If Qt was install with Homebrew, this command will work: /usr/local/opt/qt5/bin/qmake
  • If Qt was installed using the Qt installer, qmake will be located here: QT_INSTALL_DIRECTORY/QT_VERSION/clang_64/bin/qmake
  1. Build the program: make
  2. Bandage should now be an application bundle.
  3. Optionally, copy the Bandage application bundle into the 'Applications' folder and delete the Bandage build directory.
  4. Optionally, delete the OGDF directory.

Windows

Building Bandage in Windows is more challenging than in Linux or OS X, but it can be done. If you would like to, feel free to contact me (Ryan) at [email protected] and I'll do my best to help you out!

History

v0.7.0 - graph editing capabilities

v0.6.4 - improvements to BLAST and main GUI

v0.6.3 - improvements to BLAST functionality

v0.6.2 - new features for working with graph paths

v0.6.1 - improvements to BLAST functionality

v0.6.0 - new features, including command line functionality

v0.5.6 - bug fixes

v0.5.5 - bug fixes

v0.5.4 - bug fixes

v0.5.3 - bug fixes

v0.5.2 - performance improvements

v0.5.1 - bug fixes

v0.5.0 - new features, including Trinity support

v0.4.2 - bug fixes

v0.4.1 - bug fixes

v0.4.0 - new features, including BLAST integration

v0.3.0 โ€“ initial release on GitHub

Contributing

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

License

GNU General Public License, version 3

bandage's People

Contributors

epruesse avatar fxia22 avatar rchikhi avatar rrwick avatar

Watchers

 avatar  avatar

Forkers

wozy13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.