Multiplexed assays of variant effect (MAVEs), including deep mutational scanning (DMS)
experiments, measure the functional consequences of many genetic variants in parallel.
Instead of testing variants one at a time, a library of variants is assayed in a pooled
experiment. Sequencing before and after selection then estimates how each variant changed
in frequency during the assay.
In this tutorial, we will use a CHEK2 variant effect dataset from MaveDB
(urn:mavedb:00001203-a-2) to calculate a functional score with CountESS. The original
study tested coding single nucleotide variants (SNVs) in the human CHEK2 open reading
frame. Loss-of-function mutations in CHEK2, which encodes the checkpoint kinase CHK2,
are associated with increased risk of breast and other cancers. Many CHEK2 variants
observed in clinical testing are variants of uncertain significance, so functional assays
can provide evidence for interpreting their possible impact. In this study, variants were
tested for their ability to complement a Saccharomyces cerevisiae strain lacking the yeast
ortholog RAD53McCarthy-Leo et al. 2024. The resulting RAD53 Complementation Score
(RCS) describes whether a CHEK2 variant was depleted or retained after selection.
The training data for this tutorial starts from a preprocessed variant frequency summary,
not raw sequencing reads. In the published analysis, reads were quality filtered and mapped
to the CHEK2 amplicon, variants were detected, and each variant frequency was calculated
as the number of reads containing that variant divided by the sequencing coverage at that
nucleotide position. Those frequencies were averaged across the two pre-selection library
aliquots and across the four post-selection screens. The frequency values were multiplied
by 1000 to make small variant frequencies easier to read and compare. More details are
available in the original publication McCarthy-Leo et al. 2024. The two frequency columns
used here are:
Ave_LibAandB_x1000: average variant frequency before selection, from the two input library aliquots.
Ave_S1toS4_x1000: average variant frequency after selection, from four complementation screens.
Negative scores indicate variants depleted after selection, consistent with impaired CHEK2
function in this assay. Scores near zero indicate variants with similar frequencies before
and after selection, suggesting little detectable effect in this assay. Positive scores
indicate variants that increased in frequency after selection and were retained better
than the average variant population.
Click galaxy-uploadUpload at the top of the activity panel
Select galaxy-wf-editPaste/Fetch Data
Paste the link(s) into the text field
Press Start
Close the window
Set the datatype of chek2_frequency_summary.csv to csv if Galaxy does not detect it automatically.
Click on the galaxy-pencilpencil icon for the dataset to edit its attributes
In the central panel, click galaxy-chart-select-dataDatatypes tab on the top
In the galaxy-chart-select-dataAssign Datatype, select csv from “New Type” dropdown
Tip: you can start typing the datatype into the field to filter the dropdown menu
Click the Save button
Set the datatype of chek2_rcs_countess.ini to txt if Galaxy does not detect it automatically.
Click on the galaxy-pencilpencil icon for the dataset to edit its attributes
In the central panel, click galaxy-chart-select-dataDatatypes tab on the top
In the galaxy-chart-select-dataAssign Datatype, select txt from “New Type” dropdown
Tip: you can start typing the datatype into the field to filter the dropdown menu
Click the Save button
Inspect the input files
The input CSV contains one row per CHEK2 variant and includes variant identifiers,
HGVS-style variant descriptions, and frequency summaries from before and after selection.
Question
Which two columns will be used to calculate the RCS score?
The workflow uses Ave_LibAandB_x1000 and Ave_S1toS4_x1000.
The second input file, chek2_rcs_countess.ini, is a CountESS configuration file. It is a
saved CountESS workflow: each section in the .ini file describes one workflow node, and
the _parent lines describe how nodes are connected.
The saved workflow has three CountESS nodes:
Load CHEK2 frequencies: load the CSV input table.
Calculate RCS: calculate the log-ratio score.
Save CHEK2 RCS scores: write the output CSV.
This workflow is intentionally small so that the score calculation is easy to inspect.
CountESS workflows created in the GUI can be more complex, and the Galaxy tool can run
those saved workflows too.
The provided .ini file was created in the CountESS GUI. CountESS GUI is external
software: to create or edit this configuration yourself, CountESS needs to be installed
and the GUI needs to be run outside Galaxy first. You do not need to recreate the .ini
file to complete this tutorial, but the workflow is intentionally simple:
Add a CSV Load node, rename it to Load CHEK2 frequencies, and load
chek2_frequency_summary.csv.
Save the CountESS configuration as chek2_rcs_countess.ini.
Run the CountESS workflow
CountESS is a workflow-like table processing tool. Galaxy will run this saved CountESS
workflow, connect Galaxy datasets to the input nodes, and collect files written by
CountESS save nodes into an output collection.
Hands On: Calculate CHEK2 RCS scores with CountESS
Run CountESS ( Galaxy version 0.1.26+galaxy0) with the following parameters:
CountESS produces a collection of output files from the save-node
filenames stored in the .ini file. Open the output collection and inspect
chek2_rcs_scores.csv.
Interpret the output
The output table contains the calculated RCS_this_SNV values. These scores are log2
ratios of the average post-selection variant frequency over the average pre-selection
variant frequency.
For example, a variant with lower frequency after selection than before selection will have
a negative RCS value. A variant with similar frequencies before and after selection will
have an RCS close to zero. A variant with higher frequency after selection than before
selection will have a positive RCS value. In the CHEK2 RAD53 complementation assay,
strongly negative RCS values indicate variants that were depleted during selection and are
therefore more likely to impair CHEK2 function in this assay.
Question
What do negative, near-zero, and positive RCS values mean in this experiment?
A negative RCS value means the variant was less frequent after selection than before
selection, consistent with reduced ability of that CHEK2 variant to complement the yeast
rad53 mutant. A near-zero RCS means the variant frequency changed little during
selection. A positive RCS means the variant was more frequent after selection than before
selection, suggesting it was retained better in this assay.
Visualize the score distribution
A simple next step is to plot the distribution of calculated RCS values. This gives a
quick overview of the range of functional effects in the assay and helps identify whether
most variants are close to neutral, depleted, or enriched after selection.
Hands On: Plot the distribution of calculated RCS values
Run Cut columns from a table with the following parameters:
“Cut columns”: c6
“Delimited by”: Comma
param-collection“From”: chek2_rcs_scores.csv from the CountESS output collection
Run Histogram with ggplot2 ( Galaxy version 3.5.1+galaxy1) with the following parameters:
param-collection“Input should have column headers - these will be the columns that are plotted”: output of Cut columns from a tabletool
“Label for x axis”: RAD53 Complementation Score
“Label for y axis”: Number of variants
“Bin width for plotting”: 0.5
In “Advanced Options”:
“Plot counts or density”: Plot counts on the y-axis
“Legend options”: Hide legend
Question
What does this histogram show that is not obvious from inspecting individual rows?
The histogram summarizes the whole score distribution. Most variants have scores near zero,
with a left tail of depleted variants and fewer variants with positive scores.
This is useful for getting a first overview of the assay before selecting variants or
score ranges for closer inspection.
The calculated RCS_this_SNV values from CountESS should match the RCS_this_SNV column
available from MaveDB for this score set. To check this directly, we can import the MaveDB
score table, join it to the CountESS output by accession, and plot the two RCS columns against
each other. If the CountESS workflow reproduced the deposited log-ratio values, the points
should fall on a 1:1 diagonal.
Hands On: Compare CountESS scores with the MaveDB score table
Import the MaveDB score table into Galaxy using this link:
“Keep lines of first input that do not join with second input”: No
“Keep lines of first input that are incomplete”: No
“Keep the header lines”: Yes
Rename the joined dataset to MaveDB and CountESS RCS comparison.
Click on the galaxy-pencilpencil icon for the dataset to edit its attributes
In the central panel, change the Name field
Click the Save button
Run Scatterplot with ggplot2 ( Galaxy version 3.5.1+galaxy2) with the following parameters:
param-file“Input in tabular format”: MaveDB and CountESS RCS comparison
“Column to plot on x-axis”: c8: RCS_this_SNV
“Column to plot on y-axis”: c30: RCS_this_SNV
“Plot title”: MaveDB and CountESS CHEK2 RCS values
“Label for x axis”: MaveDB RCS_this_SNV
“Label for y axis”: CountESS RCS_this_SNV
In “Advanced Options”:
“Data point options”: User defined point options
“relative size of points”: 1.0
In the joined table, column 8 is the RCS_this_SNV value from MaveDB. Column 30 is the
RCS_this_SNV value from the CountESS output, because the six CountESS output columns are
added after the 24 MaveDB score-table columns.
Question
What does the scatterplot show about the relationship between the MaveDB and CountESS
RCS values?
The points should lie on a 1:1 diagonal, showing that the RCS_this_SNV values
calculated by the CountESS workflow match the RCS_this_SNV values deposited in
MaveDB for the same accessions. The plot shows this expected pattern: the
CountESS score on the y-axis is essentially the same as the MaveDB score on the
x-axis for each variant. This confirms that the Galaxy CountESS workflow reproduced
the deposited log-ratio values.
MaveDB also contains a final score column for this record. That final score is not the
direct log-ratio calculated in this tutorial. It is derived downstream from the RCS values
using a logistic regression model. In this tutorial, we focus on reproducing the transparent
log-ratio component of the analysis.
Conclusion
In this tutorial, you used Galaxy to run a saved CountESS workflow and calculate CHEK2
RAD53 Complementation Scores from preprocessed DMS/MAVE frequency data. You then visualized
the distribution of the calculated log-ratio scores.
The CountESS output can be used as input for several downstream analyses. In the original
CHEK2 analysis, the RCS values were used as input to a logistic regression model to
estimate the probability that variants are functionally damaging. Researchers can
use these scores to compare the effects of synonymous, missense, and nonsense variants, and
to identify variants or score ranges that may need closer inspection. The scores can also
be combined with clinical annotations, mapped onto protein domains, or used to prioritize
variants of uncertain significance for follow-up. Functional scores can be calibrated for
clinical evidence using approaches such as ExCALIBR, which can help translate assay results
into evidence for classifying variants as more likely benign or pathogenic.
You've Finished the Tutorial
Please also consider filling out the Feedback Form as well!
Key points
MAVE experiments can measure functional effects for thousands of variants in parallel.
Variant frequencies before and after selection can be transformed into functional scores using log-ratio calculations.
CountESS workflows saved from the CountESS GUI can be reused in Galaxy for reproducible analysis.
Frequently Asked Questions
Have questions about this tutorial? Have a look at the available FAQ pages and support channels
Further information, including links to documentation and original publications, regarding the tools, analysis techniques and the interpretation of results described in this tutorial can be found here.
References
McCarthy-Leo, C. E., G. S. Brush, R. Pique-Regi, F. Luca, M. A. Tainsky et al., 2024 Comprehensive analysis of the functional impact of single nucleotide variants of human CHEK2. PLOS Genetics 20: e1011375. 10.1371/journal.pgen.1011375
Feedback
Did you use this material as an instructor? Feel free to give us feedback on how it went.
Did you use this material as a learner or student? Click the form below to leave feedback.
Hiltemann, Saskia, Rasche, Helena et al., 2023 Galaxy Training: A Powerful Framework for Teaching! PLOS Computational Biology 10.1371/journal.pcbi.1010752
Batut et al., 2018 Community-Driven Data Analysis Training for Biology Cell Systems 10.1016/j.cels.2018.05.012
@misc{variant-analysis-countess-mave-chek2,
author = "Polina Polunina and Tristan Reynolds and Nick Moore and Alan Rubin",
title = "Calculating CHEK2 variant effect scores from MAVE data with CountESS (Galaxy Training Materials)",
year = "",
month = "",
day = "",
url = "\url{https://training.galaxyproject.org/training-material/topics/variant-analysis/tutorials/countess-mave-chek2/tutorial.html}",
note = "[Online; accessed TODAY]"
}
@article{Hiltemann_2023,
doi = {10.1371/journal.pcbi.1010752},
url = {https://doi.org/10.1371%2Fjournal.pcbi.1010752},
year = 2023,
month = {jan},
publisher = {Public Library of Science ({PLoS})},
volume = {19},
number = {1},
pages = {e1010752},
author = {Saskia Hiltemann and Helena Rasche and Simon Gladman and Hans-Rudolf Hotz and Delphine Larivi{\`{e}}re and Daniel Blankenberg and Pratik D. Jagtap and Thomas Wollmann and Anthony Bretaudeau and Nadia Gou{\'{e}} and Timothy J. Griffin and Coline Royaux and Yvan Le Bras and Subina Mehta and Anna Syme and Frederik Coppens and Bert Droesbeke and Nicola Soranzo and Wendi Bacon and Fotis Psomopoulos and Crist{\'{o}}bal Gallardo-Alba and John Davis and Melanie Christine Föll and Matthias Fahrner and Maria A. Doyle and Beatriz Serrano-Solano and Anne Claire Fouilloux and Peter van Heusden and Wolfgang Maier and Dave Clements and Florian Heyl and Björn Grüning and B{\'{e}}r{\'{e}}nice Batut and},
editor = {Francis Ouellette},
title = {Galaxy Training: A powerful framework for teaching!},
journal = {PLoS Comput Biol}
}
Funding
These individuals or organisations provided funding support for the development of this resource