How to use SafFire

1. Prepare your data: Process PAF alignments through rustybam:

minimap2 --eqx -c ref.fa query.fa \
  | rb trim-paf | rb break-paf -m 5000 \
  | rb orient | rb filter --paired-len 100000 \
  | rb stats --paf > input.bed

2. Upload: Click "Upload alignment data" to upload your processed file.

3. Navigate: Use the dropdown menus to select target/query contigs. Scroll to zoom, drag to pan.

4. Annotate: Upload BED9 files for target or query to overlay annotations.

5. Export: Click "Save SVG" to download a publication-quality figure.

See GitHub for more details and rustybam for the data processing toolkit.

URL API

Control SafFire via URL hash parameters. All parameters go after # as key=value pairs joined by &.

Parameter Description Example
dataset Select a pre-loaded dataset dataset=default
ref Target (reference) genome name ref=CHM13_v1.1
query Query genome name query=GRCh38
url Load alignment data from a remote URL url=https://...
pos Navigate & zoom to a genomic region pos=chr1:1-50000000
max_bed_items Max BED annotations to render (default 500) max_bed_items=1000
save Auto-download SVG after zooming to pos save=true
view Open SVG in browser after zooming to pos view=true

Examples:

# Link to a specific region
#dataset=default&ref=CHM13_v1.1&query=GRCh38&pos=chr8:1-50000000

# Load remote data (any CORS-enabled URL)
#url=https://raw.githubusercontent.com/vollgerlab/SafFire/main/datasets/alignment-tables/GRCh38_to_CHM13_v1.1.tbl

# Auto-download SVG of a region
#dataset=default&ref=CHM13_v1.1&query=GRCh38&pos=chr1:120000000-150000000&save=true

Tip: the url param works standalone — no need to set dataset/ref/query. The data must be a TSV from rb stats --paf.