Blog
Back to Blog

CFX96 vs QuantStudio: Comparing qPCR Export Formats and What They Mean for Your Analysis

The CFX96 exports a single .csv (or .xlsx) from CFX Maestro with Cq in the column header. The QuantStudio exports .xlsx (or .csv) from Design & Analysis software with CT in the column header. Beyond that naming difference, the two platforms structure their exported data differently enough that switching between them — or combining datasets from both — will break your analysis script if you're not paying attention. Here's what actually differs and what to watch for.

If you just need the quick answer: CFX96 exports give you Cq values, well position, sample name, target, and content type in a relatively flat table. QuantStudio exports include the same core information but nest it differently, use different column names (CT Mean vs. Cq Mean), and often include additional columns for baseline and threshold settings. Neither format is harder to work with once you know the column mapping, but the defaults are different enough that you can't just swap one file for the other.

Column Names and Core Data Fields

The biggest source of friction is that these two platforms don't agree on what to call anything.

Bio-Rad CFX96 (CFX Maestro export):

CFX Maestro also exports columns for melt curve data (Melt Temperature, Melt Peak Height) in the same file if you ran a melt protocol. These appear as additional columns to the right.

Applied Biosystems QuantStudio (Design & Analysis export):

A few things jump out. First, the well position format: CFX96 uses A01 (zero-padded), QuantStudio uses A1 (no padding). If you're merging data or matching by well, this will silently fail on a string match. Second, QuantStudio includes the threshold and baseline settings in the export — CFX Maestro buries those in a separate section or in the header rows above the data table. Third, the sample type labels differ: "Unkn" vs. "UNKNOWN," "NTC" vs. "NEGATIVE CONTROL."

The Header Problem

This is the part that wastes the most time for people writing R or Python scripts.

CFX Maestro exports often include metadata rows above the actual data table. The first several lines of the .csv might contain the run date, protocol name, plate type, and software version before the column headers appear. The actual data table might not start until row 15 or 20. If you read the file with pandas.read_csv() or read.csv() with default settings, you'll get garbage.

QuantStudio exports do something similar but differently: the .xlsx files from Design & Analysis software contain multiple sheets — a "Results" sheet with the Ct data, a "Sample Setup" sheet, an "Amplification Data" sheet with raw fluorescence by cycle, a "Multicomponent Data" sheet, and sometimes a "Melt Curve" sheet. The .csv export from the "Export" menu typically has a cleaner structure but still includes header rows with experiment metadata.

Practical fix for CFX Maestro: open the .csv in a text editor, find the line where the column headers start, and use skiprows in pandas or skip in R's read.csv(). In CFX Maestro, you can also export via "Export > Custom Export" and select only the data table without the header metadata — this gives you a much cleaner file.

Practical fix for QuantStudio: if using the .xlsx, just target the "Results" sheet directly (sheet_name="Results" in pandas). The .csv export usually has fewer header lines but still check — look for the row starting with "Well Position" or "Well."

Cq vs. CT: Is There an Actual Difference?

Functionally, no. Both represent the fractional cycle at which fluorescence crosses a threshold. Bio-Rad uses "Cq" (quantification cycle) following MIQE guidelines (Bustin et al., 2009), while Applied Biosystems historically used "Ct" (threshold cycle) and has stuck with it in their software exports. The underlying calculation is the same: fit the amplification curve, set a threshold, report the crossing point.

That said, there's a subtle practical difference in how the threshold gets set by default. CFX Maestro uses a regression-based method (single threshold per target across the plate) and lets you adjust per target. QuantStudio's auto-threshold algorithm also sets a per-target threshold, but the specific algorithm differs, and in my experience, QuantStudio's auto-threshold tends to set the line slightly higher in the exponential phase than CFX Maestro's default. The consequence: you might see Ct values on the QuantStudio run about 0.2-0.5 cycles higher than Cq values from a CFX96 run on the same samples with the same chemistry, purely due to threshold placement. This doesn't matter for ΔΔCt analysis (it cancels out), but it does matter if you're comparing absolute Ct values across platforms — which you shouldn't be doing anyway, but people do.

Efficiency and Standard Curve Exports

Both platforms export standard curve results, but the formatting differs.

CFX Maestro provides efficiency, R², slope, and y-intercept either in the header metadata of the export file or in a separate "Standard Curve Results" section. The efficiency is reported as a percentage (e.g., 97.3%).

QuantStudio reports efficiency, R², slope, and y-intercept on the "Standard Curve" sheet of the .xlsx export or in a summary block within the .csv. Efficiency is also reported as a percentage, but QuantStudio additionally reports it as a decimal multiplier in some export configurations (e.g., 1.973 for 97.3% efficiency). Watch which one you're grabbing.

The slope-to-efficiency conversion is the same on both: E = (10^(−1/slope) − 1) × 100%. A slope of −3.35 gives ~98.8% efficiency. Both platforms will flag efficiencies outside 90-110% in their software, though the visual presentation differs.

Raw Fluorescence Data

If you need the cycle-by-cycle fluorescence values — for custom curve fitting, baseline troubleshooting, or amplification curve visualization — the export paths diverge significantly.

CFX96: CFX Maestro exports raw fluorescence data (RFU) via "Export > Custom Export" or through the RDML file (.rdml). The custom export gives you a table with Cycle number as rows and Wells as columns, one sheet per fluorescence channel. The RDML format is an XML-based standard that's machine-readable but verbose.

QuantStudio: Design & Analysis exports raw fluorescence as "Amplification Data" in the .xlsx (one sheet) or as a separate .csv. The format is long (one row per well per cycle), with columns for Well, Cycle, Target, Rn (normalized reporter), and Delta Rn (baseline-corrected normalized reporter). The QuantStudio .eds file contains everything but requires the QuantStudio software to open.

The QuantStudio long format is actually easier to work with in R or Python for plotting amplification curves. The CFX96 wide format requires reshaping. Minor point, but it saves time when you're debugging a weird amplification curve on well G07 at 11 PM.

Practical Advice for Handling Both Formats

If your lab has both instruments (common in shared facilities), here's what works:

  1. Standardize your sample naming convention before the run. Both platforms let you set up sample names in the software. Use identical names so you can merge downstream. Include biological replicate identifiers in the sample name (e.g., "WT_liver_rep1"), not just on your paper plate map.

  2. Export as .csv from both platforms if you're scripting your analysis. The .xlsx files are fine for manual analysis but add a dependency (openpyxl or readxl) to automated pipelines.

  3. Build a column-mapping step into your analysis. A simple dictionary that maps {"Cq": "Ct", "Content": "Task", "Fluor": "Reporter", "Sample": "Sample Name", "Target": "Target Name"} handles 90% of the friction. Pad the well positions while you're at it (A1A01).

  4. Never merge raw Ct/Cq values across platforms for direct comparison. Always compute ΔCt within each platform's run, then compare ΔCt or ΔΔCt values across platforms. The threshold differences I mentioned above make raw values non-comparable.

  5. Check your NTC values in the context of each platform's threshold. An NTC with a Cq of 38.5 on the CFX96 and a Ct of "Undetermined" on the QuantStudio for the same primer set doesn't mean the CFX96 run is contaminated — the QuantStudio often reports anything above 40 cycles as undetermined by default, while CFX Maestro will report whatever it detects. Adjust your interpretation accordingly.

If you regularly analyze data from both instruments and are tired of reformatting columns and chasing header rows, VoilaPCR accepts exports from both CFX Maestro and QuantStudio directly — it handles the column mapping, well-position normalization, and metadata parsing automatically so you can get to your ΔΔCt results without the file-wrangling step.