Welcome to CheckerboardR Synergy Calculator

Analyze drug combinations and perform checkerboard synergy calculations. CheckerboardR accepts cell viability or optical density (OD) matrices and evaluates synergistic, indifferent, or antagonistic interactions for antibiotic, antifungal, and anticancer studies.

Key Features

  • Calculates the fractional inhibitory concentration index (FICI/ΣFIC) at a selectable inhibition endpoint, alongside HSA, Bliss, Loewe, ZIP, and consensus response-surface models.
  • 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

Odds FC. Synergy, antagonism, and what the chequerboard puts between them. J Antimicrob Chemother. 2003;52(1):1. doi:10.1093/jac/dkg301.
Hall MJ, Middleton RF, Westmacott D. The fractional inhibitory concentration (FIC) index as a measure of synergy. J Antimicrob Chemother. 1983;11(5):427-433. doi:10.1093/jac/11.5.427.
Cuenca-Estrella M. Combinations of antifungal agents in therapy—what value are they? J Antimicrob Chemother. 2004;54(5):854-869. doi:10.1093/jac/dkh434.
Holbeck SL, et al. The National Cancer Institute ALMANAC: a comprehensive screening resource for the detection of anticancer drug pairs with enhanced therapeutic activity. Cancer Res. 2017;77(13):3564-3576. doi:10.1158/0008-5472.CAN-17-0489.
Ianevski A, Giri AK, Aittokallio T. SynergyFinder 2.0: visual analytics of multi-drug combination synergies. Nucleic Acids Res. 2020;48(W1):W488-W493. doi:10.1093/nar/gkaa216.
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

November 2, 2026

v2.1.5 FICI & Scientific References Release:
• Added endpoint-based fractional inhibitory concentration index (FICI/ΣFIC) calculations and CSV/MCP reporting.
• Added a selectable inhibition endpoint with conservative synergy, indifference, and antagonism interpretation.
• Expanded antibacterial, antifungal, and anticancer combination references and search descriptions.


August 11, 2026

v2.1.4 Search Visibility Release:
• 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):
&lt;drug_combination&gt;
  &lt;drug_a name="Fluconazole"&gt;
    &lt;concentrations&gt;0,0.125,0.25,0.5,1.0,2.0&lt;/concentrations&gt;
  &lt;/drug_a&gt;
  &lt;drug_b name="Voriconazole"&gt;
    &lt;concentrations&gt;0,0.015,0.03,0.06,0.12,0.24&lt;/concentrations&gt;
  &lt;/drug_b&gt;
  &lt;data_representation&gt;viability&lt;/data_representation&gt;
  &lt;matrix&gt;
    &lt;row&gt;1.00,0.94,0.88,0.80,0.72,0.65&lt;/row&gt;
    &lt;row&gt;0.95,0.89,0.82,0.75,0.68,0.60&lt;/row&gt;
    &lt;row&gt;0.88,0.82,0.75,0.68,0.60,0.52&lt;/row&gt;
    &lt;row&gt;0.78,0.72,0.65,0.58,0.50,0.42&lt;/row&gt;
    &lt;row&gt;0.65,0.58,0.50,0.42,0.35,0.28&lt;/row&gt;
    &lt;row&gt;0.50,0.42,0.35,0.28,0.20,0.12&lt;/row&gt;
  &lt;/matrix&gt;
  &lt;settings&gt;
    &lt;synergy_model&gt;Loewe&lt;/synergy_model&gt;
    &lt;plot_engine&gt;2d_ggplot&lt;/plot_engine&gt;
    &lt;theme_preset&gt;Science&lt;/theme_preset&gt;
    &lt;orientation&gt;synergism&lt;/orientation&gt;
  &lt;/settings&gt;
&lt;/drug_combination&gt;

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!