SYSTEM / DOCKER / BIOINFORMATICS / GENOMICS
NanoPlot is a powerful plotting tool for long‑read sequencing data and alignments. It generates publication‑quality visualizations (e.g., read length histograms, quality plots, bivariate scatter plots) and a comprehensive HTML summary.
In this guide, we'll cover:
The NanoPlot package is available on Bioconda. First, ensure you have the bioconda channel enabled:
# Add channels if not already present
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
# Create (or activate) your analysis environment
conda create -n nanoplot_env python=3.9 -y
conda activate nanoplot_env
# Install NanoPlot
conda install nanoplot -y
To upgrade later:
conda update nanoplot -y
If you prefer containerized workflows (no local Python setup), you can run NanoPlot via Docker:
Pull the official NanoPlot image (if available) or build your own.
# Pull from Docker Hub (hypothetical image)
docker pull quay.io/biocontainers/nanoplot:latest
Build a simple Dockerfile (if no pre-built image is available):
# Dockerfile
FROM continuumio/miniconda3:latest
# Install NanoPlot from Bioconda
RUN conda config --add channels defaults \
&& conda config --add channels bioconda \
&& conda config --add channels conda-forge \
&& conda install nanoplot -y \
&& conda clean --all -y
# Set entrypoint
ENTRYPOINT ["NanoPlot"]
Build it:
docker build -t nanoplot:latest .
Run NanoPlot on your data:
docker run --rm -v $(pwd):/data nanoplot:latest \
--fastq /data/reads.fastq.gz \
--outdir /data/nanoplot_output \
--prefix myrun_
This mounts your current directory into the container (/data) and outputs results back to your host system.
Assume you have a compressed FASTQ file reads.fastq.gz in your working directory.
# Activate environment
conda activate nanoplot_env
# Plot read length histogram and bivariate quality plot
NanoPlot \
--fastq reads.fastq.gz \
--loglength \
-o nanoplot_results \
--prefix sample1_
docker run --rm -v $(pwd):/data nanoplot:latest \
--fastq /data/reads.fastq.gz \
--loglength \
--outdir /data/nanoplot_results \
--prefix sample1_
After completion, you’ll find:
sample1_STATS.html — interactive HTML report-t N or --threads N to speed up processing on multicore machines.--minlength 1000 or --minqual 7.-f pdf svg) and plot types (--plots dot hex).--store to save extracted metrics in a pickle for downstream analyses.NanoPlot makes visualizing long‑read sequencing data straightforward, whether via Conda or Docker. With a few simple commands you can generate publication‑ready figures and detailed HTML reports.
Feel free to explore more options in the NanoPlot documentation and customize your workflow!
Happy plotting!