Before you can start the download please enter the "captcha"-text in the box below the "captcha" image and confirm with ENTER
[ Different Image ]


LinRegPCR is a program for the analysis of quantitative RT-PCR (qPCR) data resulting from monitoring the PCR reaction with SYBR green or similar fluorescent dyes. The program determines a baseline fluorescence and does a baseline subtraction. Then a Window-of-Linearity is set and PCR efficiencies per sample are calculated. With the mean PCR efficiency per amplicon, the Cq value per sample and the fluorescence threshold set to determnine the Cq, the starting concentration per sample, expressed in arbitrary fluorescence units, is calculated. See: Ramakers et al., NeuroSci Lett 2003; Ruijter et al., Nucleic Acids Research 2009.

Go to the FAQ
Go to the references
Go to the version history


  • When I try to read dat from Excel (Office 2016) I get an "access violoation error"
    This may be because you are using a 64-bit version of Office. LinRegPCR cannot connect to Office 2016, 64-bit. You have to use Office 2016 32-bit.
  • I tried to import a file into LinRegPCR : the error message was "invalid variant type conversion".
    This error message indicates that the program is trying to convert a text that is not a number into a number. This most often happens because: 1: you gave the wrong input range or 2: the decimal separator in Excel is different from the one in Windows. LinRegPCR works with the decimal separator in Windows, so you have to set Excel to use the system separator (in Excel: options menu - international Tab in the options dialog).
  • After importing data I get the error message "floating point division by zero".
    This error occurs when there are not enough data per sample to fit a straight line. This may be because no positive values are left after baseline subtraction by your PCR apparatus. Check your input file and remove the rows or columns with these 'empty' samples. Better still: leave the baseline correction to LinRegPCR (see: Ruijter et al., 2009)
  • I did run LinRegPCR but in the output all the starting concentrations are 0.
    This is because Excel only displays three decimal places. When you increase the number of decimal places or switch to scientific format you will see the starting concentrations are above 0. Except when no baseline can be determined or no amplification is present, then the program reports -999.
  • Why does LinRegPCR use the word 'baseline' in stead of 'background'?
    We use the word baseline to describe the fluorescence that is observed before the amplicon specific fluorescence can be detected. Most PCR systems already use the word background for the fluorescence of a reference fluorochrome that is used to correct for experimental variations in sample volumes and well characteristics. In these systems baseline is used as we use it.
  • What is the unit of the N0 value?
    The starting concentrations (N0) per sample are calculated in the unit of the Y-axis of the PCR amplification plot which are arbitrary fluorescence units. To convert this unit to a RNA concentration you need a calibration line of known concentration of the amplicon you are producing in the PCR.
  • LinRegPCR reports PCR efficiency values that range between 1 and 2. How must I interpret these values?
    You are probably used to describe efficiency as a value between 0 and 1. To get these values you just subtract 1 from the efficiency that LinRegPCR reports. An efficiency of 1.85 reported by LinRegPCR can be read as an efficiency of 0.85 or 85%. We use PCR efficiencies between 1 and 2 because it makes the equations a lot easier to handle.
  • How is the starting concentration in LinRegPCR calculated?
    LinRegPCR calculates a starting concentration (N0) per sample with the formula: N0 = Nq / (Emean^Cq) with the ^ symbol meaning 'to the power'. In this formula Nq stands for the fluorescence threshold set to determine Cq, which is the number of cycles needed to reach Nq. Emean is the mean PCR efficiency for the amplicon that is amplified in the current sample. The mean efficiency is used because the efficiency per sample is too variable to give reliable results. (see Karlen et al., 2007; Cikos et al., 2007); Ruijter et al., 2013.
  • I have always used the comparative Ct method to calculate the expression of a target relative to a reference gene. How do I do that with the results of LinRegPCR?
    LinRegPCR gives you the starting concentrations (N0) of the target and the reference genes. When you have replicates per biological sample you first take the average of the N0 values in the target reaction and in the reference reactions. Then the relative expression is the ratio of these two averages for the same sample. When you use 2 or more reference genes, as you should do, the denominator of the ratio is the geometric mean of the N0 values of the reference genes. When you have only one measurement per amplicon, you calculate the ratio directly from the N0 values. You do not need to use the efficiency values and the Cq values to do this. These are only displayed in the output to give you a chance to do a comparative Ct calculation. The result will be the same. See the Equations in Box 1 in Ruijter et al., 2009.
  • LinRegPCR gives a warning about 'noisy samples'. How do I recognise a noisy sample?
    A noisy sample is defined as a sample in which the data points do not show a continuous increase in the Window-of-Linearity. You recognise a noisy sample because in the W-o-L they have a point c that is above -or at the same level as- point c+1. Noisy samples are excluded from the calculation of the mean efficiency.
  • LinRegPCR reports a lot of baseline errors but the amplification curves show a straight log-linear phase.
    LinRegPCR reports a baseline error when it is not possible to find a baseline value that leads to a straight continuous set of data points in the log-linear phase. However, the program also reports a baseline error when the remaining log-linear phase is to short. This may be because measurement noise causes the lower data points to be discontinuous: the fluorescence in cycle c is larger than that in cycle c+1. The baseline estimation only uses data in which Fc < Fc+1. In version 11.3 you can 'relax' this continuity criterion and allow jumps, as long as all data in the log-linear phase are around a straight line. This leads to less baseline-error samples but also leads to more variation between individual efficiency values.
  • I am wondering whether you can apply your window of linearity methodology to qPCR data obtained using a Taqman probe assay rather than the SYBR green assay? I can't think of any, as both result in fluorescence values but perhaps I have missed something?
    The kinetics of the fluorescence of the Taqman probe is different from SYBR green. SYBR green is binding to dsDNA and is freed again at heating. So the fluorescence you see is proportional to the amount of DNA present at the end of each cycle. The Taqman probe binds to ssDNA, is digested by the polymerase and then becomes fluorescent. And stays fluorescent. So the fluorescence you see is an accumulation of the probe that has ever bound to the ssDNA. Therefore, this fluorescence increases more rapidly than the SYBR green fluorescence. However, on a log-fluorescence scale this amplifiaction curve becomes parallel to the curve that would have been observed when the reporter fluorescence was not cumulative. Therefore, the derived PCR efficiency is correct. Because the values in the Taqman curve are higher, its Cq value is too low. However, this bias is only dependent on the PCR efficiency and can thus be corrected. (see Tuomi et al., 2010); Ruijter et al., 2014).
  • I try to read data into LinRegPCR and always get the error message “Variant or safe index out of bounds”.
    This is the error message that occurs when you try to read only 1 sample. LinRegPCR expects data for at least 2 samples.
  • The qPCR experiment I perform required more than one plate. How can I correct for differences between plates?
    See: Ruijter JM, Ruiz Villalba A, Hellemans J, Untergasser A, van den Hoff MJB. Removal of between-run variation in a multi-plate qPCR experiment. Biomolecular Detection and Quantification 5: 10-14, 2015.
  • Q.

Go to top


  • Ruijter et al. Removal of between-run variation in a multi-plate qPCR experiment. Biomolecular Detection and Quantification 5:10-14, 2015.
  • Ruijter et al. Fluorescent-increase kinetics of different fluorescent reporters used for qPCR depend on monitoring chemistry, targeted sequence, type of DNA input and PCR efficiency. Microchimica Acta 2014 (DOI 10.1007/s00604-013-1155-8)
  • Ruijter et al. Evaluation of qPCR curve analysis methods for reliable biomarker discovery: bias, resolution, precision, and implications. Methods 59: 32-46, 2013
  • Tuomi et al. Bias in the Cq value observed with hydrolysis probe based quantitative PCR can be corrected with the estimated PCR efficiency value. Methods 50: 313-322, 2010
  • Ruijter et al. Amplification efficiency: linking baseline and bias in the analysis of quantitative PCR data. Nucleic Acids Research 37: e45, 2009
  • Karlen et al. Statistical significance of quantitative PCR. BMC Bioinformatics 8: 131, 2007
  • Cikos et al. Relative quantification of mRNA: comparison of methods currently used for real-time PCR data analysis. BMC Mol Biol 8: 113, 2007
  • Ramakers et al. Assumption-free analysis of quantitative real-time PCR data. Neurosci Letters 339: 62-66, 2003
  • Lefever et al.; RDML consortium. RDML: structured language and reporting guidelines for real-time quantitative PCR data. Nucleic Acids Res. 37: 2065-9. 2009
  • Ruijter et al.; RDML consortium. RDML-Ninja and RDMLdb for standardized exchange of qPCR data. BMC Bioinformatics. 16: 197. 2015

Go to top

Version History

LinRegPCR version 2018.0 released September 2018

In this version the input format for the Excel export of Mic was added.

  • The changes in this version have no effect on the analysis results.

LinRegPCR version 2017.1 released September 2017

In this version the input of raw data from the qTOWER3 system of Analytik Jena (both singleplex and multiplex) was implemented. LinRegPCR expects the range of data to include 1 header row with probe name and cycles numbers and 1 leading column with probe name and well codes. The well codes and probe name will be combined and imported as sample names.

An error in handling excluded samples was corrected. When the user read the excluded samples from Excel before determining the fluorescence baseline the excluded samples were reported in the quality checks but not excluded from the calculation of the mean efficiency. The current version handles the excluded samples correctly.

  • This correction has effect on the analysis results when you excluded samples before you determined the baseline fluorescence.

LinRegPCR version 2017.0 released January 2017

In this version only a non-functional edit field was removed.

  • The changes in this version have no effect on the analysis results.

LinRegPCR version 2016.2 released December 2016

This version includes an import option for the raw data exported from the Roche LC96 to a text file which is then read into Excel. Both exports, 'as rows' and 'as columns', are supported. The Excel file does contain one leading column and one header row in either format. There are no empty header rows or empty leading columns.

  • The changes in this version have no effect on the analysis results.

LinRegPCR version 2016.1 released July 2016

An error that occurred in version 2016.0 while writing RDML 1.1 files was repaired. This makes that the results of the analysis of LinRegPCR can be further analysed with the current version of qbase-plus. When more than 1 tissue annotation column is used in LinRegPCR, these columns are concatenated to a single tissue identifier in RDML 1.1. Additionally an error that occurred when the RDML file contained reactions for which all fluorescence values were negative was solved. When negative values occur in a reaction, a constant is added to all cycles that brings the minimum fluorescence to 0.001 (with as many decimals as the system exports). Note that the applied correction assumes that the negative values are the result of the same constant value being subtracted from the fluorescence values in all cycles. Because LinRegPCR later on subtracts a constant baseline, this addition does hardly affect the results. The correction is applied to all RDML formats.

  • The changes in this version may affect the analysis results when your RDML file contained negative values which should not be the case.

LinRegPCR version 2016.0 released January 2016

To allow the analysis of LinRegPCR output with the current version of qbase-plus, this version of LinRegPCR also enables data export in RDML1.1 format. Because LinRegPCR allows more than 1 column of tissue annotation, whereas RDML 1.1 only allows 1 column, the tissue annotation columns are concatenated to a single string per tissue sample.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2015.4 released December 2015

In this version of the program the link to the LinRegPCR website from the About box and the online Help was corrected. Moreover, the import of data from the Quantstudio system was added. Note that the number of reactions in this format make the processing slow. Therefore, create a shortcut to LinRegPCR and, in the command line of the shortcut add an S (outside the quotes when there are quotes). the program then runs in S (=speed) mode and does not wait for user input when problems are noted during baseline correction or window-of-linearity setting. Flags are set and reactions are excluded when needed. Check the flags (Options - Display flagged subsets) and the program's output for exlcuded reactions. Minimizing the program during baseline correction will further increase the processing speed.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2015.3 released April 2015

In this version the input from an Excel file exported by the Corbett 6000 system was implemented. In this format every well is represented by 3 columns: sample description, cycle and fluorescence. The header row has to be included in the range that has to be specified in the Read-from-Excel dialog.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2015.2 released March 2015

The handling of the #N/A entries in some data formats was automated and warning messages are avoided.

Wells for which all data are missing, or all values are negative, are no longer removed before analysis, but set to a low positive constant. This makes that they are assigned the 'no amplification' flag. Their presence in the data makes that the annotation columns remain synchronized.

The elements AmplificationEfficiencyMethod, BackgroundCorrectionMethod and CqDetectionMethod were added to the RDML, version 1.2, output.

Some cosmetic changes were made.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2015.1 released February 2015

In this version, the option to read the exclusion of samples, e.g. because of a deviating melting curve, from an Excel file was extended with information or warning messages to assure the correct handling of these exclusions.

Secondly, the import format of the Step-One-Plus ViiA system was extended. The presence of #N/A as entry in the Target Name column has to be checked and replaced because LinRegPCR cannot, yet, handle this error code. Moreover, fully empty wells are no longer removed to avoid loss of synchronisation within the system export.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2015.0 released February 2015

In this version, the extended annotation of tissue samples was fully implemented. Export of these annotation columns to RDML now uses the new Annotation element of RDML 1.2. Similarly, data stored in the sample annotation element can now be read from a version 1.2 RDML file.

  • Grid-to-Excel buttons were added to some pages of LinRegPCR.
  • The changes in this version do not affect the analysis results.

LinRegPCR version 2014.8 released December 2014

In this version, the annotation of tissue samples has been extended to include more than just the one column; a number of columns can be read from Excel and thus added to the output of LinRegPCR to facilitate downstream statistical analysis. Export of these annotation columns to RDML is still restricted to the first column. Full implementation of the extended annotation option of RDML 1.2 is in preparation.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2014.7 released November 2014

In this version, a piece of code that tried to calculate a SEM for a group with only 1 observation was corrected. When a group of 1 occurred, this bug prevented the results from being saved and a 'division by zero' error was displayed.

  • The changes in this version do not affect the analysis results; results that could be saved were correct.

LinRegPCR version 2014.6 released October 2014

This version in compliant with RDML version 1.2. RDML files of version 1.0 and 1.1 will be read. However,when results are saved to RDML, these will be saved as version 1.2, which includes the SE of the mean PCR efficiency per amplicon. RDML files with decimal commas can be read, but the results will always be saved with decimal points, as is required by the XML format.

  • The changes in this version do not affect the analysis results.

LinRegPCR version 2014.5 released September 2014

In this version the assignment of the 'no_plateau' flag is repeated afer setting the W-o-L per group because this assignment is dependent on the W-o-L.

Similarly, the quality flags are reset after reading of baseline values that were manually set in an earlier analysis of the same data and then saved to Excel.

  • The first change may affect the analysis results when plateau heights are very different between groups. When plateaus were similar, there is no effect. The second change only affects the results when the baseline is not determined automatically before baseline values are read. This is because not all flags can be set when fluorescence data are baseline-corrected.

LinRegPCR version 2014.4 released August 2014

In this version an input option for the Excel export of the Bio-Rad CFX software was added. The 'Quantification Amplification Results' that have been exported to Excel can be read into LinRegPCR. NOTE: the empty column A in the Excel sheet has to be included in the range to be read. Otherwise the values of the first sample are used as cycle numbers.

In this version an error was corrected that made that after import of an RDML file the results could not be saved for a second time. Changes in target and sample assignment are now also saved to an existing RDML file.

  • The last change has effect on the analysis results because the change of target assignment will affect the mean PCR efficiency per group.

LinRegPCR version 2014.3 released July 2014

In this version for the Step-One-Plus format, a replacement of negative values in the raw Rn data was implemented. See version 2014.2 for an explanation.

  • This change has effect on the analysis results of Step-One-Plus files that contained such negative raw data and are re-analysed.

A bug that prevented LinRegPCR_help.pdf to be opened from the Help menu was corrected.

LinRegPCR version 2014.2 released March 2014

In this version for the Illumina-Eco and the Rotor-Gene (6 leading columns) formats, a replacement of negative values was implemented. It turns out that the background that these systems subtract to correct for technical fluorescence can lead to negative values in the raw data. This is solved by adding, to all cycles, the smallest constant that leads to all positive values. Additonally, an error in the functonality of the February release was repaired.

  • These changes have effect on the analysis results of Illumna-Eco and Rotor-Gene files that contained such negative raw data. You are advised to re-analyse those raw data.
  • Note that raw data (so-called component data) of the Illumna-Eco can only be exported after closing and re-opening the data file in the system software.

LinRegPCR version 2014.1 released February 2014

In this version we included the option to read the 'User excluded sample' assignment from a column in Excel. When you have, based on your melting curve analysis or gel electroforesis decided that some samples should be excluded from further analysis, you can easily add a column to the Excel file and thus keep the structure of the raw fluorescence data untouched.

  • These changes have no effect on the analysis results, provided you had already assigned these exclusions by hand.

LinRegPCR version 2014.0 released January 2014

In this version we implemented a coupling between the display of amplicon groups and the display of flagged subsets of samples: only flagged samples in the chosen amplicon group are shown, and vice versa, when you browse through subsets or groups. When amplicon groups are defined, the Amplicon Groups Tab now shows a table with statistics (mean efficiency, standard deviation, SEM and RSE) per group.

  • These changes have no effect on the analysis results.

LinRegPCR version 2013.1 released December 2013

In this version the processing of data files originating from monitoring with different chemistries has been extended. The user can choose the applied chemistry in the Read dialog. For each chemistry, the shift that occurs in Cq values because of accumulation of fluorescence or lag in occurence of fluorescence will be corrected. Based on Ruijter et al., Microchimica Acta, accepted for publication.

  • This extension has no effect on the analysis results; the described Cq corrections were implemented since version 12.5 (August 2010).
  • Note that the choice of targetted sequence, when a probe-based chemistry is used, has been removed. The latest paper shows that the probe target does not noticibly affect the Cq value.

Very rarely 'no amplification' samples escape the criterion that amplification should at least result in a 7-times increase of fluorescence (after subtraction of the minimum observed fluorescence as temporary baseline) between the first and last cycle. Therefor, an extra criterion was implemented: the two cycles directly before the SDM should both show increasing fluorescence. Samples that do not fullfil this criterion are also assigned the 'no amplification' flag.

  • This change may have effect on the analysis of samples that were borderline between 'no amplification' and 'noisy' but has no effect on samples with more than 4 cycles in the exponential phase.

LinRegPCR version 2013.0 released March 2013

In this version the input format for the PikoReal system of Thermo Scientific was added in the Read-from-Excel dialog. Export the raw data, resulting in an Aquired_dat_1 sheet in Excel. Ommit the 10 lines header and read only the range of data, including the header row with well identifiers and the 3 leading columns, labelled Channel, Cycle and Temp.

  • These changes have no effect on the analysis results.

LinRegPCR version 2012.3 released December 2012

In this version the input from RDML was updated to enable import of RDML files that use comma as decimal separator. The definition of RDML states that floating point values have to be written with a point as decimal separator. Therefore, the analysis results will always be written with decimal points to maintain compatibility with downstream analysis programs that use RDML. RDML files containing decimal commas can be read by LinRegPCR, but results will be saved to a new RDML file with decimal points. To avoid having to save to a new file: set your computer system to decimal points when you use RDML files.

  • These changes have no effect on the analysis results.

LinRegPCR version 2012.2 released October 2012

In this version the input from RDML was updated to enable import of RDML version 1.1 and version 1.0. The analysis results will always be saved in RDML version 1.1 to maintain compatibility with downstream analysis programs.

Other corrections made in this version of the program are:

  • Note that the XML file in an RDML file is essentially a text file. Therefore it is very important that the decimal separator of the qPCR apparatus is the same as the decimal separator of the computer on which the data analysis is performed.
  • Zip files that cannot be handled will be captured. The online Help and the Manual tell you how to re-zip those files.
  • Formatting of results in Excel is now conditional upon checking a box in the Save-to-Excel dialog. In some computer configurations formatting should be turned off.
  • These changes have no effect on the analysis results.

LinRegPCR version 2012.1 uploaded October 2012

In this upload only a few lay-out errors were corrected

LinRegPCR version 2012.1 released August 2012

In this version the input format for the Illumina Eco system was added

  • Export 'Component data' from the Eco system
  • Start the input range with the 'Well' cell
  • The sample name will be composed of the entries in the Well and the Dye columns
  • Excluded and Empty wells will be ignored

The ViiA7 format was added to the Step-One Plus format option

  • Note that ViiA7 has a different number of header rows

LinRegPCR version 2012.0 released April 2012

In this version the following features have been implemented:

  • This version is fully RDML compatible
  • Data can be read from an RDML file
  • Results can be saved to an RDML (version 1.1) file
  • Saved results can be imported in qbasePLUS for normalisation and statistical analysis
  • NOTE:

  • For RDML input into LinRegPCR it is very important that the qPCR machine is using the decimal separator that is set with the Regional Settings of Windows
  • Keep in mind that also the RDML export of the qPCR machine should contain raw, not baseline-corrected, data
  • The RDML output of the BioRad CFX software is based on RDML, version 1.0, and can therefore not be handled (yet)

LinRegPCR version 12.18 released March 2012

  • Release in preparation of the full RDML compatible release
  • Added tab page for assignment of Tissue Samples per reaction
  • Added option to read amplicon group, tissue sample and baseline from Excel
  • Note that spaces will be removed from the given identifiers
  • Moved user choices to separate tab page 'User Settings'
  • Note that the LinRegPCR_help.pdf is not yet updated
  • When you want to test the RDML input and output: please contact us at

LinRegPCR earlier versions

  • A full update history (versions released since March 2008) can be found in the file UpdateHistroy.pdf that is distributed with the program

Go to top

If you wish to receive mails regarding important updates/bugs, please enter your email address below and press submit. The address will not be used for any other purpose

LinRegPCR (automated content)