Advanced settings

Fetching from a bam file
Margin around a variant or manually entered coordinate where reads will be pulled from a bam file (use this parameter carefully as importing too much data can crash your web browser due to memory overload) bp
Make Ribbon automatically go to each variant in a bedpe file and take pictures of the multi-read view and a selection of reads. Instructions: Load a bedpe file and a bam file first, set the settings below and in the right-side panel as you want them and click Run!
Prefix for image files
Number of reads to take pictures of (randomly selected)
Print variant coordinates onto multi-read view
Download a file with info and coordinates for each variant alongside the images
Only select reads with alignments that start or end near the bedpe variant
If a region is too large for the browser to load, automatically subsample

Information about Ribbon

Ribbon is made by Maria Nattestad with support from Pacific Biosciences and Cold Spring Harbor Laboratory.

The code is open-source at

Please cite our paper on the bioRxiv:

Ribbon: Visualizing complex genome alignments and structural variation:

Ribbon stands on the shoulders of giants:

  • Visualizations created using D3 from Mike Bostock
  • Panel and navigation bar created using styles from Bootstrap
  • Remote bam files are read from any publicly accessible URL using a library from Bam.iobio by the Gabor Marth lab.
  • Local bam files are read using Samtools compiled into WebAssembly.

Ribbon also uses two D3 plug-ins created by Maria Nattestad:

  • Variant table with advanced filtering and sorting created using D3-superTable
  • Live search for chromosome and read names created using D3-livesearch

Getting started

Please cite our paper in Bioinformatics:

Ribbon: intuitive visualization for complex genomic variation:

Also see the preprint on the bioRxiv:


PacBio, Illumina, and genome/assembly examples shown in the Examples tab above.

Visualize your own alignment data:

Ribbon can be used for long reads, short reads, paired-end reads, and assembly/genome alignments. Instructions for each data format are available by clicking on "instructions" in each tab on the right.

Local installation:

You can install Ribbon locally from Github by following the instructions here:

Introduction video:

(No region selected)
(No bam file queried)

Filter reference chromosomes
Zoom to chromosome


Minimum number of alignments:


Maximum chromosome length:
Reference settings
Color scheme:
Collapse reference sequences within distance:
Draw black border on selected region
Filter reads
Number of alignments:
Minimum read length:
Minimum mapping quality: 0
Read settings
Sort reads vertically:
Orient reads by:
Show indels as:
Show features as:
Show only the chosen variant when others are in view
Selected read
Search reads:
Minimum mapping quality: 0
Minimum alignment length: inf
Match reference from region view
Highlight selected read
Minimum indel size to split: inf
Alignment outlines on ribbon plot:
Colors on dotplot:

Paste a few lines from a sam file here:

or upload a small sam file:

For larger files (above 10MB) see the "load bam file" tab.


Select bam and corresponding index (bai/csi)


Make sure the bam file exists and that it has a corresponding index (.bai or .csi) file with an identical filename except for the addition of the .bai or .csi suffix. If the bam file does not exist or cannot be read, a header will fail to appear but there will be no error message. If the header of the bam file does not show up within about 10 seconds, loading the bam file has probably failed and you should check to make sure it actually exists at the given address. (To test for this, put the url into your web browser. If it starts downloading the bam file, then also check whether adding .bai or .csi to the url downloads the index file. If one of these does not start a download, then the file does not exist.)

Note that the bam file does not get read into memory, but the index file does, so if the index file is huge, it will take a while the first time you fetch reads from the bam file.

Paste coordinates here:

or upload a file:


Upload a .vcf or .bed file

Instructions for .vcf file

Instructions for .bed file

Upload a .bedpe file

Paste lines from a bed file here:


Paste lines from a vcf file here:


Upload a bed file with genes, repeats, or any other types of elements you want to annotate

Instructions for .bed file

Showing only the first 30 variants. Sort by clicking column names. Filter by typing =chr20, >2000, etc. for each column. For bam files, click on a row in the table to fetch reads around that feature.

Showing only the first 30 variants. Sort by clicking column names, and filter by typing into the text boxes for each column. For instance, type >20 or =chr2. Separate multiple filters in a single column using spaces. For bam files, click on a row in the table to fetch reads around that feature.

Showing only the first 15 features. Sort by clicking column names. Filter by typing queries into text input boxes, e.g. =17, >200.