Welcome to CheckerboardR Synergy Calculator
CheckerboardR is a professional, high-performance web tool designed for pharmacologists and cancer researchers to analyze combined drug screens. By uploading raw cell viability or optical density (OD) readings from multi-well plates, the tool calculates complete interaction surfaces to determine if a combination is synergistic, additive, or antagonistic.
Key Features
- Flexible support for all four reference models: Highest Single Agent (HSA), Bliss Independence, Loewe Additivity, and Zero Interaction Potency (ZIP).
- Zero-dependency robust single-agent 4-parameter logistic (4PL) Hill curve fitting with linear monotonic interpolation fallbacks.
- Stunning interactive 3D WebGL visualizations via Plotly and high-resolution 2D contoured heatmaps using ggplot2.
- Export vectors directly in EPS, PDF, and SVG formats matching styling guidelines from premier scientific journals.
Data Preprocessing & Formats
The synergy engine requires a 2D grid matrix where the columns represent concentrations of Drug A, rows represent concentrations of Drug B, and the control coordinates (dose = 0) are located at index [1,1]. The tool normalizes inputs by dividing each cell by the control value to establish relative viability values in the range [0, 1.2], and derives cell inhibition values via 1 - Viability.
To cater to automated workflows, CheckerboardR supports three data formats:
• Delimited Tables (Tab/CSV): Standard text files with headers representing concentration levels.
• Structured JSON Schema: Auto-decodable formats representing drug metadata, viability matrices, and visual presets.
• Structured XML Schema: Strongly-typed tag structures mapping drug components, dose gradients, and settings.
Academic & Formula References
Borisy A, Keith C, et al. Multicomponent therapeutics for networked systems. Nat Rev Drug Discov. 2005;4(1):71-78.
Yadav B, et al. Zero Interaction Potency (ZIP) model for drug combinations. Comput Struct Biotechnol J. 2015;13:504-513.
Uploaded Matrix Preview
A preview of the first 100 rows/columns of your uploaded matrix is displayed below. Ensure column names and row names represent concentration levels:
Computed Synergy Summary Statistics
Dose-pair Synergy Barometer
News & Release Notes
August 11, 2026
v2.1.2 Data Provenance & Analysis Extension:
• Added score, reference-effect, observed-response, and ZIP fitted-response matrix views.
• Added matched-replicate SD, SEM, and bootstrap 95% confidence intervals, including labelled 2D heatmaps and full-precision CSV export.
• Added conservative HSA/Bliss/Loewe Consensus analysis, dose-pair synergy barometers, and explicit fitted-baseline correction modes.
• Replaced the duplicated anticancer example and normalized numeric-leading concentration labels across supported sample formats.
• Made bundled sample filenames directly downloadable and derived Drug A/Drug B condition labels from underscore-separated filenames.
• Added an editable Conditions metadata sheet to the Excel example and expanded numerical and Playwright regression coverage.
May 31, 2026
v1.1 Advanced Control & Performance Upgrade:
• Integrated reactive 3D Camera View sliders directly into the sidebar to control azimuth, elevation, and zoom settings for reproducible plotly surfaces.
• Restored the legacy blue-to-yellow color ramp for static 3D plots (`3d_base`) to maintain consistency with published papers.
• Added FAQ section with comprehensive data formatting guide for flawless checkerboard matrix imports.
• Implemented a real-time computation progress bar during reactive synergy evaluations.
• Created a standardized Docker environment for seamless distribution and local execution.
May 30, 2026
v1.0 Complete Engine & Modern Visuals Redesign:
• Full modernization of the R Shiny dashboard with a premium, sleek light theme layout.
• Expanded calculation pipelines to support 4 reference synergy models: HSA, Bliss, Loewe, and ZIP.
• Added 4PL Hill curve-fitting for accurate single-agent concentration-response profiling.
April 23, 2015
v0.1 Legacy Launch:
• Original release with basic cell viability normalization, raw data previews, and early Bliss and HSA calculation routines.
Frequently Asked Questions
Q: What file formats are supported for loading data?
A: The web tool accepts standard tab-separated values (.tab, .tsv), comma-separated values (.csv), as well as structured JSON and XML payloads pasted directly in the input area.
Q: How do the JSON and XML schemas look, and how are they parsed?
A: When pasted, the R backend automatically detects the start tags ({ or <), decodes the payload, and dynamically updates the visual selections (like synergy model, plotting engine, and orientation presets) to generate the graph automatically. Here are the schemas:
Structured JSON Schema Example (Paclitaxel + Carboplatin):
{
"drug_a": "Paclitaxel",
"drug_b": "Carboplatin",
"concentrations_a": [0.0, 0.25, 0.5, 1.0, 2.0, 4.0],
"concentrations_b": [0.0, 5.0, 10.0, 20.0, 40.0, 80.0],
"data_type": "viability",
"matrix": [
[1.00, 0.95, 0.90, 0.82, 0.70, 0.55],
[0.92, 0.88, 0.82, 0.73, 0.60, 0.42],
[0.85, 0.80, 0.72, 0.61, 0.48, 0.32],
[0.72, 0.65, 0.58, 0.45, 0.35, 0.20],
[0.55, 0.48, 0.40, 0.30, 0.22, 0.12],
[0.38, 0.30, 0.22, 0.15, 0.10, 0.05]
],
"settings": {
"synergy_model": "Bliss",
"plot_engine": "2d_ggplot",
"theme_preset": "Nature",
"orientation": "synergism"
}
}
Structured XML Schema Example (Fluconazole + Voriconazole):
<drug_combination>
<drug_a name="Fluconazole">
<concentrations>0,0.125,0.25,0.5,1.0,2.0</concentrations>
</drug_a>
<drug_b name="Voriconazole">
<concentrations>0,0.015,0.03,0.06,0.12,0.24</concentrations>
</drug_b>
<data_representation>viability</data_representation>
<matrix>
<row>1.00,0.94,0.88,0.80,0.72,0.65</row>
<row>0.95,0.89,0.82,0.75,0.68,0.60</row>
<row>0.88,0.82,0.75,0.68,0.60,0.52</row>
<row>0.78,0.72,0.65,0.58,0.50,0.42</row>
<row>0.65,0.58,0.50,0.42,0.35,0.28</row>
<row>0.50,0.42,0.35,0.28,0.20,0.12</row>
</matrix>
<settings>
<synergy_model>Loewe</synergy_model>
<plot_engine>2d_ggplot</plot_engine>
<theme_preset>Science</theme_preset>
<orientation>synergism</orientation>
</settings>
</drug_combination>
Q: What is the Model Context Protocol (MCP) server, and how do I configure it?
A: CheckerBoardR.shiny includes an stdio-based Python MCP server (checkerboardr_mcp_server.py). This lets AI assistants (like Claude, Cursor, or Antigravity) programmatically call the synergy calculation engine and save rendered synergy graphs directly to your drive using R. Add the following to your MCP client config file:
{
"mcpServers": {
"checkerboardr-mcp": {
"command": "python3",
"args": [
"/home/jw/Source/CheckerBoardR.shiny/checkerboardr_mcp_server.py"
]
}
}
}
Q: How should the standard delimited matrix rows and columns look?
A: When using raw files, the file must include a header row containing the concentration levels for Drug A (e.g. 0uM, 0.25uM, 0.5uM) and the first column must represent the concentration levels for Drug B. The remaining cells must contain numeric raw cell viability values (such as cell density or OD) or inhibition fractions.
Q: Example format of a standard delimited grid:
conc 0uM .25uM .5uM 1uM 2uM 0uM 0.98 0.95 0.90 0.85 0.80 .5uM 0.92 0.88 0.82 0.75 0.70 1uM 0.85 0.80 0.72 0.60 0.55 2uM 0.75 0.70 0.60 0.50 0.42
Q: How do I build and run the Docker container locally?
A: Run these standard shell commands inside the project root directory:
docker build -t checkerboardr . Then run the container:docker run -d -p 3838:3838 --name checkerboardr-app checkerboardr Now, open http://localhost:3838 in your browser to run the full application!