Menu

Interactive Dashboard

NovoGlyco: Interactive Dashboard Guide

The NovoGlyco dashboard is a web-based interface built with Plotly Dash and accessible at http://localhost:8050. The standalone executable operates entirely through this interface, whereas in the Python and Docker versions the interface is used for visualization of output graphs and tables. In all cases, the browser interface enables real-time interactive exploration of glycopeptide identifications, glycan compositions, and glycoprotein candidates.

This page describes each component of the dashboard, from top to bottom.


Oxonium Ion Co-occurrence Heatmap

The first element in the dashboard is a clustered heatmap showing how frequently different oxonium ions co-occur in the same MS2 spectra.

What it shows: Each cell represents the fraction of spectra containing one oxonium ion (row) that also contain another oxonium ion (column). The colour scale ranges from 0% (white) to 100% (dark blue).

How it's calculated: For each pair of oxonium ions, the number of spectra containing both is divided by the total number of spectra containing the row oxonium ion. This means the matrix is asymmetric — "HexNAc in Hex" may differ from "Hex in HexNAc" because HexNAc may be present in more spectra than Hex. Rows and columns are ordered by hierarchical clustering based on Jaccard similarity (|A∩B| / |A∪B|, symmetric) using average linkage. A dendrogram on the left shows the clustering structure, grouping oxonium ions with similar spectral overlap patterns.

How to use it: Look for clusters of high co-occurrence — these indicate monosaccharides that are part of the same glycan structure. For example, if HexNAc and Hex always co-occur at >90%, they likely belong to the same oligosaccharide. Low co-occurrence between two sugars suggests they appear on different glycans or different proteins. Oxonium ions with no detected spectra are marked in grey with "No scans".


Histogram Selector and Oxonium Checkboxes

Below the heatmap, a dropdown menu selects the primary histogram view:

  • Mass delta — distribution of glycan masses (precursor mass − peptide mass). Only available for spectra where peptide identification succeeded.
  • Precursor offsets — distribution of mass differences between the precursor and high-mass fragment ions. Available for all oxonium-positive spectra, including those without peptide identification.

Oxonium checkboxes below the dropdown control which traces are overlaid on the histogram. Each checkbox corresponds to one oxonium ion from your input list, plus the untargeted search results (available for mass delta view only).

Decoy checkboxes appear when mass delta is selected, allowing you to overlay decoy matches for empirical false positive assessment.


Main Histogram

Mass Delta View

Shows the distribution of glycan masses across all identified glycopeptide spectra.

What it shows: A frequency histogram binned at the configured bin width (default 0.1 Da). Each bar represents the number of PSMs with a mass delta in that range. The x-axis spans 0 to 2000 Da.

How to interpret it: Recurring mass deltas appearing as prominent peaks indicate genuine glycan modifications: the same glycan mass observed on different peptides from the same or different proteins. Isolated single-count bins are more likely noise or artefacts. Comparing the untargeted search trace (all matches) against specific oxonium traces reveals which mass deltas are confirmed by diagnostic sugar fragments and which are not.

Precursor Offsets View

Shows two paired plots: a frequency histogram (left) and a summed intensity bar plot (right).

What it shows: The frequency histogram counts how many fragment ions produce each offset value. The intensity plot sums the raw signal intensities for each offset bin, highlighting which offsets correspond to abundant fragments versus rare ones.

How to interpret it: Recurring offset values correspond to specific monosaccharide masses: for example, peaks at ~203 Da (HexNAc), ~162 Da (Hex), or ~146 Da (dHex). The intensity plot helps distinguish genuine glycan fragments from low-level background. This analysis is independent of peptide identification, so it captures glycan information even from spectra where sequence tagging failed.


Child Plots

Clicking any bin in the main histogram generates three rows of child plots showing complementary data for the spectra in that bin.

When mass delta is the main view:

Row Left (histogram) Right (bar plot)
1 Precursor offsets frequency Precursor offsets intensity
2 Peptide offsets frequency Peptide offsets intensity
3 m/z spectrum frequency m/z spectrum intensity
  • Precursor offsets (row 1) reveal which monosaccharide units are being lost from the intact glycopeptide. If you clicked a mass delta bin at 1203 Da, the precursor offsets show the stepwise fragmentation pattern of that specific glycan.
  • Peptide offsets (row 2) show the complementary pattern — sequential monosaccharide additions from the peptide backbone (Y0). The first peptide offset peak identifies the linking sugar.
  • m/z spectrum (row 3) shows the binned fragment ion distribution, including diagnostic low-mass oxonium ions.

When precursor offsets is the main view:

Row Left (histogram) Right (bar plot)
1 Mass delta frequency (full width)
2 Peptide offsets frequency Peptide offsets intensity
3 m/z spectrum frequency m/z spectrum intensity

The mass delta row shows which glycan masses are associated with spectra containing the selected precursor offset.

Two-level drill-down

Clicking a bin in any child plot further filters the data. For example: click a mass delta bin at 1203 Da → child plots appear → click a precursor offset bin at 203 Da → the glycoprotein candidate table below now shows only spectra with that specific mass delta and that specific precursor offset. Red dashed lines indicate the selected bins in both the main and child plots.


Glycoprotein Candidate Table

Displayed below the child plots when a bin is selected. This table always shows results from the untargeted search, regardless of which oxonium checkboxes are selected for the histograms above.

Protein summary

Proteins are ranked by unique peptide count first, then by PSM count. Each row shows:

Column Description
# Rank
Protein Accession ID and protein description
PSMs Number of peptide-spectrum matches for this protein in the selected bin
Peptides Number of unique peptide sequences
Med. tags Median tag count — the median number of de novo sequence tags that independently matched the same peptide per spectrum. Higher values indicate more confident identifications. A value of 1 means each peptide was identified by a single tag; a value of 5 means 5 out of up to 10 tags pointed to the same sequence.
Oxonium evidence Coloured dots indicating which diagnostic oxonium ions were detected in this protein's spectra.

Peptide detail table

Clicking a protein row expands it to reveal all individual PSMs for that protein:

Column Description
Peptide Matched peptide sequence (monospace font)
Scan # MS2 scan number
Δ Mass Mass delta — total glycan mass for this PSM
Prec. mass Precursor monoisotopic mass
Pep. mass Peptide monoisotopic mass (including carbamidomethylated cysteines)
p-value DirecTag JointpValue — combined statistical score for the sequence tag. Lower is better. Shown with a colour-coded bar: green (good) → orange → red (poor).
MzFidelity DirecTag MzFidelity — how closely observed fragment masses match expected values. Lower is better.
Complement DirecTag Complement — presence of complementary fragment ion pairs. Higher is better.
Intensity DirecTag Intensity — relative intensity of matched fragments. Higher is better.
Tags Number of de novo tags that matched this peptide for this specific spectrum.
Unmod. Whether SAGE also identified the unmodified version of this peptide elsewhere in the run (✓ or —). Finding the unmodified counterpart provides additional confidence.
Unmod. scans Scan numbers where the unmodified peptide was identified by SAGE.
Oxonium Per-scan oxonium ion presence shown as coloured dots, matching the histogram trace colours.

Excel Export

The "Export to Excel" button downloads the currently displayed data as an Excel file with two sheets:

  • Protein summary — one row per protein with accession, description, PSM count, unique peptides, median tag count, and oxonium evidence
  • Peptide details — all individual PSMs with scan numbers, masses, scores, tag counts, and oxonium flags

Sheet names reflect the active oxonium filter: "Protein summary (open search)", "Protein summary (Hex)", "Peptide details (Hex, HexNAc)", etc.


Tips for Effective Use

Start with mass delta. The mass delta histogram gives you the broadest overview of glycan modifications in your sample. Look for prominent recurring peaks as these are your candidate glycan masses.

Use precursor offsets to reconstruct glycans. After identifying a mass delta of interest, the child precursor offset plot shows you which monosaccharides make up that glycan. Look for stepwise losses matching known sugar masses.

Use peptide offsets to identify the linking sugar. The first peak in the peptide offset child plot (smallest offset above Y0) identifies which monosaccharide is directly attached to the peptide backbone.

Compare untargeted and oxonium-filtered views. Select an oxonium ion checkbox in the histogram to see its trace overlaid on the untargeted results. Mass delta peaks present in the untargeted trace but absent from the oxonium trace may represent modifications other than glycosylation, or glycans with unusual sugars not in your oxonium database.

Use the oxonium filter to increase confidence. In the glycoprotein candidate table, selecting multiple oxonium ions will make only spectra confirmed by all selected sugar fragments to appear. This is useful for separating genuine glycopeptides from background matches.

Check the co-occurrence heatmap first. Before diving into mass deltas, the heatmap tells you which sugars are present and how they relate. High co-occurrence between two sugars means they're likely part of the same glycan — so selecting both in the oxonium filter should retain most genuine hits.

Look for unmodified peptide evidence. In the peptide detail table, a ✓ in the Unmod. column means SAGE independently identified the same peptide without glycosylation.


MongoDB Logo MongoDB