Skip to content

RolandFaure/Alice-asm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alice

Alice is a genomic and metagenomic assembler designed for HiFi read (<0.1% error rate).

It is named after the character of Lewis Caroll's Alice in Wonderland, and more precisely to the "drink-me potion" and "eat-me cake", which make Alice respectively shrink and grow. The idea of the Alice assembler is to shrink the input reads, perform assembly on shrunken data and inflate the obtained assembly back to normal size. The compression is a Mapping-friendly Sequence Reduction (MSR) of high order, which allows all base to be taken into account during compression. However, it increases error rate of the reads. It is thus recommended to run it on long and accurate reads. alice_compression

Installation

The recommended way to install Alice is through conda

conda install -c bioconda aliceasm

To download and compile the Alice assembler from source

git clone https://github.com/RolandFaure/Alice-asm.git
cd Alice-asm
mkdir build && cd build
cmake ..
make

Usage

/build/aliceasm --help
   _______ _                     _ _                                            _     _                               
  |__   __| |              /\   | (_)              /\                          | |   | |                              
     | |  | |__   ___     /  \  | |_  ___ ___     /  \   ___ ___  ___ _ __ ___ | |__ | | ___ _ __      ::     _.mnm._ 
     | |  | '_ \ / _ \   / /\ \ | | |/ __/ _ \   / /\ \ / __/ __|/ _ \ '_ ` _ \| '_ \| |/ _ \ '__|    :  :   ( _____ )
     | |  | | | |  __/  / ____ \| | | (_|  __/  / ____ \\__ \__ \  __/ | | | | | |_) | |  __/ |       :  :    |     | 
     |_|  |_| |_|\___| /_/    \_\_|_|\___\___| /_/    \_\___/___/\___|_| |_| |_|_.__/|_|\___|_|       :__:     `___/  

Command line: ./build/aliceasm --help 
Alice Assembler version 0.6.41
Last update: 2025-07-09
Author: Roland Faure

Help: 
SYNOPSIS
        ./build/aliceasm -r [<r>] -o [<o>] [-t [<t>]] [-l [<o>]] [-c [<c>]] [-H] [-m [<m>]] [-k
                         [<k>]] [--single-genome] [--bcalm [<b>]] [--clean] [--test [<t>]] [-v] [-h]

OPTIONS
        -r, --reads input file (fasta/q)
        -o, --output
                    output folder

        -t, --threads
                    number of threads [1]

        -l, --order order of MSR compression (odd) [101]
        -c, --compression
                    compression factor [20]

        -H, --no-hpc
                    turn off homopolymer compression

        -m, --min-abundance
                    minimum abundance of kmer to consider solid - RECOMMENDED to set to coverage/2
                    if single-genome [5]

        -k, --kmer-sizes
                    comma-separated increasing sizes of k for assembly, must go at least to 31
                    [17,31]

        --single-genome
                    Switch on if assembling a single genome

        --bcalm     path to bcalm [bcalm]
        --clean     remove the tmp folder at the end [off]
        -v, --version
                    print version and exit

        -h, --help  print this help message and exit

Example

Let's run an assembly together. Let's imagine that we want to assemble SRR21295163 as a metagenome (even though it is a single E.coli genome, but lets keep the files small for this section) First, download the dataset:

fastq-dump SRR21295163

Then assemble

conda activate aliceasm #Don't forget to place yourself in an environment with the bcalm dependency, e.g. the bioconda::aliceasm conda package
aliceasm -r SRR21295163.fastq -o output_assembly -t 8

On my computer, the assembly completed in 25s and 0.33GB RAM. You should have created an output_assembly folder, containing assembly.gfa and assembly.fasta (which represent exactly the same contigs). If you want to make sure the assembly was successful, the assembly I obtained is available on this repo, in test/SRR21295163_assembly.gfa.

Can I use Alice for both genomic and metagenomic use cases ?

Yes! If you are trying to assemble a single genome, it is recommended to use flag --single-genome and set -m to expected-coverage/2 in order to simplify the output graph.

Citation

Please cite the preprint: https://www.biorxiv.org/content/10.1101/2025.09.29.679204v1