Skip to content

marbl/canu

Folders and files

NameName
Last commit message
Last commit date
May 17, 2017
Jul 22, 2024
Dec 14, 2024
Mar 28, 2025
Mar 27, 2020
Mar 15, 2020
Aug 10, 2015
Dec 13, 2016
Jun 17, 2024

Repository files navigation

Canu

Canu is a fork of the Celera Assembler, designed for high-noise single-molecule sequencing (such as the PacBio RS II/Sequel or Oxford Nanopore MinION).

Canu is a hierarchical assembly pipeline which runs in four steps:

  • Detect overlaps in high-noise sequences using MHAP
  • Generate corrected sequence consensus
  • Trim corrected sequences
  • Assemble trimmed corrected sequences

Install:

  • Do NOT download the .zip source code. It is missing files and will not compile. This is a known flaw with git itself.

  • The easiest way to get started is to download a binary release.

  • Installing with a 'package manager' is not encouraged, but if you have no other choice:

    • Conda: conda install -c conda-forge -c bioconda -c defaults canu
    • Homebrew: brew install brewsci/bio/canu
  • Alternatively, you can use the latest unreleased version from the source code. This version has not undergone the same testing as a release and so may have unknown bugs or issues generating sub-optimal assemblies. We recommend the release version for most users.

      git clone https://github.com/marbl/canu.git
      cd canu/src
      make -j <number of threads>
    
    • FreeBSD generally requires libboost be installed from packages/ports. It will compile with either clang (>= 14) or gcc (>= 9). It requires openjdk18.

      With clang, (default 14) needs libboost from ports.
      
        gmake
      
      With gcc (9+), can use the canu-supplied libboost or libboost from ports.
      
        gmake CC=gcc9 CXX=g++9 BOOST=libboost    #  Canu-supplied boost
        gmake CC=gcc9 CXX=g++9                   #  Ports/packages supplied boost
      
    • MacOS Apple Silicon requires libboost, and either openjdk or oracle-jdk to be installed from homebrew (preferred) or MacPorts. It will compile with either clang (>=14) or gcc (>= 9) but WILL NOT compile with the standard Xcode compiler.

        make CC=gcc-11 CXX=g++-11 BOOST=libboost  #  Ports/packages supplied boost
        make CC=gcc-11 CXX=g++-11                 #  Ports/packages supplied boost
      
    • MacOS Intel is probably the same as Apple Silicon, but not tested.

    • Linux does not need a system installed libboost.

  • An unsupported Docker image made by Frank Förster is at https://hub.docker.com/r/greatfireball/canu/.

Learn:

The quick start will get you assembling quickly, while the tutorial explains things in more detail.

Run:

Brief command line help:

../<architecture>/bin/canu

Full list of parameters:

../<architecture>/bin/canu -options

Citation: