Tutorial

Assemble a small genome from reads

Put a phage genome back together from short reads with fermi-lite, without a reference, then check the result against the known genome with minimap2. All in your browser.

What you will learn

  • Assemble reads into contigs without a reference
  • Compare a contig with a reference genome in PAF format
  • Read identity and coverage from a PAF line
  • Find differences between an assembly and a reference

The data

1,500 simulated reads of 150 bp (about 42× coverage, 0.2% errors) from bacteriophage PhiX174, and its reference genome (NC_001422.1) for the check. Because the reads come from the reference, you know what the assembly should be.

Tools in this tutorial

fermi-lite
Assembles short reads into longer contiguous sequences (contigs) without a reference. Meant for small genomes and regions.
minimap2
Aligns DNA sequences, from short reads to whole genomes, against a reference. It writes SAM for downstream tools or PAF, a plain table of where each sequence matches.

Watch it first

The whole tutorial in under 2 minutes, recorded in the live app. The run is sped up.

Steps

  1. 01

    Load the reads

    Open the Workflow Builder at biochef.app. In File manager, upload phix-reads.fastq and phix174.fasta, and tick phix-reads.fastq for the Input node. New to the editor? The map reads tutorial shows each move with screenshots.

  2. 02

    Assemble

    Search fermi and add De Novo Assemble (fermi-lite); connect the reads to it and add an Output. fermi-lite uses only the reads: no reference is involved in this step.

    De Novo Assemble (fermi-lite) settings, all left at their defaults.
  3. 03

    Compare the assembly with the reference

    Select fermi-lite and add Align (minimap2): assembly into reads, a second Input with phix174.fasta into ref. Leave sam_output off, so minimap2 writes PAF, a table, and add an Output.

    Workflow: reads into De Novo Assemble (fermi-lite) with an Output, then Align (minimap2) against the reference with an Output.
  4. 04

    Run and look at the contig

    Press ▶ and click the first Output. fermi-lite writes contigs in FASTQ form: a name line, the sequence, then a line of characters that encode read coverage instead of base quality. The app notes that this output is FASTQ rather than the FASTA it expected; minimap2 reads it either way.

    Output with a single contig in FASTQ form.
  5. 05

    Read the comparison

    Click the second Output. A PAF line gives the contig name and length, where it starts and ends, the strand, the reference name and length, where it lands on the reference, then the number of matching bases and the alignment length.

    Output with one PAF line: contig of 5375 bp aligned to NC_001422.1 from position 18 to 5381.

What you should see

0:1  5375  3  5367  -  NC_001422.1  5386  17  5381  5364  5364  60

The reads assemble into one contig of 5,375 bp, almost the whole 5,386 bp genome. It aligns to the reference from position 18 to 5381 (PAF counts from 0, so the 17 means position 18), on the reverse strand (-), with 5,364 of 5,364 bases identical. The few bases missing at the ends are the ends of a circular genome read as a line: fewer reads reach them.

Use the finished workflow

Import the finished workflow, data included, and press ▶. Remember that an exported workflow contains the data loaded in its Input nodes.

Exercise: assemble a sample with mutations

In the reads Input, load sample-reads.fastq from the viral consensus tutorial instead. On the minimap2 node, switch on output_cigar so the PAF line also counts differences. Run again: one contig of 5,381 bp with NM:i:6, six differences from the reference. The sample was simulated with six mutations, and the assembly finds six differences without using the reference to build the genome.

Show the solution
PAF output for the assembled sample: one contig of 5381 bp, NM:i:6.

From a test to a full run

The browser is the place to build and test a workflow on small data like this. For full datasets, the same workflow file is meant to run next to the data with the BioChef agent, which is in development. See Workflows for how the two fit together.

More tutorials: all BioChef tutorials.

This tutorial is licensed under CC BY 4.0. If you use BioChef in your work, please cite Rosa et al., BMC Bioinformatics 2026. BioChef is listed in bio.tools as biotools:biochef.