RDML-Tools Help

Information about handling RDML-Tools.

Get help · RDML-Tools · Citation · Source

Contact

Contact the developers.

Table of Contents

1. Introduction

1.1. General Introduction

The RDML-Tools is a software package with everything needed to analyze quantitative PCR (qPCR) data. It can import the raw data exported by the qPCR machines, repair RDML-files, complement missing data, analyze melting and amplification curves, combine several plates, identify reference genes, performs absolute and relative quantification and evaluate experimental groups. By using the RDML-Tools you agree to the Terms of Use. RDML-Tools uses Real-time PCR Data Markup Language (RDML) to store the data.

The RDML-Tools were developed by Andreas Untergasser (Zentrum für Molekulare Biologie, University of Heidelberg, Germany; Genome Core, EMBL, Heidelberg, Germany), Maurice van den Hoff and Jan Ruijter (both Department of Medical Biology, Amsterdam UMC, location, AMC, Amsterdam).

1.2. A Word of Caution

LinRegPCR is based on the procedures described in the paper by Ruijter et al., Nucleic Acids Research, 2009 37(6):e45 (doi: 10.1093/nar/gkp045 or PMID: 19237396). The procedures in this program can be used for fluorescence data resulting from monitoring the PCR reaction. You should start your analysis with raw fluorescence data. Data import is your own responsibility. It is important to check which data are exported by your PCR system and how to retrieve the raw fluorescence data. As a quick and easy check; negative values should not occur in your raw fluorescent data file. The fact that LinRegPCR reads your data is no proof that you have the correct data. By using this program you acknowledge that you have read the above paper, understand it, and agree with its conclusions. Therefore, you assume all responsibility and liability for the selection of this program to achieve your intended goals, and for the conclusions you draw from the analysis results. The developers of this application cannot be held responsible for any consequences of the use of this program. Please read the Terms of Use before using RDML-Tools and please obey to the requirements.

1.3. How to Cite

We request but do not require that use of this software be cited in publications as

Web-based LinRegPCR: application for the visualization and analysis of (RT)-qPCR amplification and melting data.
Untergasser A, Ruijter JM, Benes V, van den Hoff MJB.
BMC Bioinformatics. 2021 Aug 24;22(1):398. doi: 10.1186/s12859-021-04306-1.

The paper is available at https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04306-1.
The Source code is available at https://github.com/RDML-consortium/rdml-tools.

1.4. License

Please read the Terms of Use before using the RDML-Tools and please obey to the requirements. The individual licenses are found in the respective GitHub repositories. The RDML-Tools mainly provide a web page access to the functions of the RDML-Python library, designed to handle RDML files and their dependencies. Users may choose to install the library as a python package calling "python -m pip install rdmlpython". All software is GPL licensed except the RDML-Python library being MIT licensed.

1.5. RDML and RDES Data Standard

RDML is a structured and universal data standard for exchanging qPCR data and digital PCR (dPCR) data. The data standard should contain sufficient information to understand the experimental setup, re-analyze the data and interpret the results. It was designed to enable transparent exchange of annotated qPCR data between instrument software and third-party data analysis packages, between colleagues and collaborators, and between authors, peer reviewers, journals and readers.

The RDML data standard is a compressed text file in Extensible Markup Language (XML). By design, it collects the information of different experimenters, dyes, samples, targets and thermal cycling conditions separately to experiment/run information, were this information is only referenced by the unique ID. In a final RDML file, for example, one target might be referenced many times. The RDML-Tools and RDML-Python library were created to handle these dependencies and allow modification of an ID without having to update all the occurrences in the experiment.

RDML evolved over the years and there are several versions available today. The RDML-Tools can convert between the versions. Upload the file to RDML-Edit, activate the edit mode on the main tab and the migration buttons become available on the "more" tab. Version 1.0 is automatically converted to version 1.1, the lowest supported version by the RDML-Tools. Newer versions offer new and may remove obsolete functionality. Be aware that digital PCR is only supported from RDML version 1.3 onwards.

RDML was first published in "RDML: structured language and reporting guidelines for real-time quantitative PCR data in 2009 (Lefever et al., 2009 Nucleic Acids Res. 37(7):2065-2069. (doi: 10.1093/nar/gkp056 or PMID: 19223324))".

As an addition, the simple Real-time PCR Data Essential Spreadsheet Format (RDES) was developed as an easy export format. In principle, it is a tab separated text file with essential data and the cycles in columns and the wells in rows. RDES was first published in "Disclosing quantitative RT-PCR raw data during manuscript submission: a call for action in 2023 (Untergasser et al., 2023 Mol Oncol. May;17(5):713-717. (doi: 10.1002/1878-0261.13418. or PMID: 36916500))".

1.6. RDML-Tools References

Ruijter et al., Nucleic Acids Research, 2009 37(6):e45 (doi: 10.1093/nar/gkp045 or PMID: 19237396).
This paper describes the original LinRegPCR method. It determines the cycle at the maximum of the Second Derivative (SDM) of the observed fluorescence values in each reaction. The cycles after the SDM cycle are considered the transition into the plateau phase, referred to as the transition phase. Then LinRegPCR does an iterative search for a baseline value that gives the largest number of data points on a straight line down from the SDM cycle.

Ruijter JM, Lorenz P, Tuomi JM, Hecker M, van den Hoff MJB (2014)
Fluorescent increase kinetics of different fluorescent reporters used for qPCR depends on monitoring chemistry, targeted sequence, type of DNA input and PCR efficiency.
Microchimica Acta. 181(13-14):1689-1696.
This paper is an extension of Tuomi et al. (2010) and describes the processing of qPCR data resulting from 6 different categories of monitoring chemistries.

Ruijter JM, Pfaffl MW, Zhao S, Spiess AN, Boggy G, Blom J, Rutledge RG, Sisti D, Lievens A, De Preter K, Derveaux S, Hellemans J, Vandesompele J. (2013)
Evaluation of qPCR curve analysis methods for reliable biomarker discovery: bias, resolution, precision, and implications.
Methods 59: 32-46.
This paper describes the comparison of the performance, in terms of precision, linearity, and sensitivity of all available qPCR curve analysis methods using the same biomarker data sets.

Tuomi JM, Voorbraak F, Jones DL, Ruijter JM. (2010)
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.
This paper describes the use of LinRegPCR in the analysis of cumulative fluorescence datasets obtained with hydrolysis probes like Taqman probes.

Ruijter JM, Ramakers C, Hoogaars W, Bakker O, van den Hoff MJB, Karlen Y, Moorman AFM. (2009)
Amplification efficiency: linking baseline and bias in the analysis of quantitative PCR data.
Nucleic Acids Research 37: e45.
This paper describes the basics of the LinRegPCR program and gives details on the fluorescence baseline correction and setting of the window-of-linearity.

Ramakers C, Ruijter JM, Lekanne Deprez RH, Moorman AFM. (2003)
Assumption-free analysis of quantitative real-time PCR data.
Neurosci Letters 339: 62-66.
This paper describes the estimation of PCR efficiencies for individual reactions from a subset of data points in the log-linear phase of the amplification curves. The use of individual efficiencies to calculate a target quantity per reaction is no longer recommended (see papers: Ruijter et al., 2009 and Ruijter et al., 2013).

Ruijter et al. (2013)
Removal of between-run variation in a multi-plate qPCR experiment.
Biomol Detect Quantif. 2015 Jul 30;5:10-4. (doi:10.1016/j.bdq.2015.07.001 or PMID: 27077038)
This paper describes the InterRunCorrection to calculate a correction factor for each run of an experiment and to use this factor to calculate corrected N0 and Cq values.

1.7. The Python Library rdmlpython and the Command Line

The RDML-Tools center around the RDML data format. The RDML-Tools mainly provide a web page access to the functions of the RDML-Python library, designed to create and handle RDML files and their dependencies. The RDML-Python library also offers advanced analysis programs like RunAnalysis and MeltCurveAnalysis MeltCurveAnalysis to analyze the fluorescence data in the RDML files and provide biological or clinical results.

Users may choose to install the library as a python package calling "python -m pip install rdmlpython". All software is GPL licensed except the RDML-Python library being MIT licensed.

The RDML-Tools are great to analyze single files and view the result. Behind the scenes the RDML-Tools do no calculations. They shape the input, hand it over to the server, the server does the calculations using the python library rdmlpython, collects the results and hands them to the RDML-Tools which display the results and allow to browse them interactively. If big files or a large number of files have to be analyzed or due to privacy reasons the data may not run on external servers, running rdmlpython locally via the command line interface might be an option. Programmers may use rdmlpython to handle RDML files in their own applications.

Installing rdmlpython

    apt install python3 python3-pip

    pip3 install rdmlpython
    
The Command Line Interface

Some functions of rdmlpython are available on the command line.

Display the help with an overview of the possible commands:

    rdmlpython -h
    rdmlpython --help
    

Display the version number of rdmlpython:

    rdmlpython --version
    

Validate file data.rdml against its schema:

    rdmlpython -v data.rdml
    rdmlpython --validate data.rdml
    

List all experiments in the file data.rdml:

    rdmlpython -le data.rdml
    rdmlpython --listexperiment data.rdml
    

Select experiment "exp_1" and list all runs of this experiment in the file data.rdml:

    rdmlpython -e exp_1 -lr data.rdml
    rdmlpython --experiment exp_1 --listrun data.rdml
    

Run RunAnalysis on file data.rdml and save the modified file in data_out.rdml and the analysis results to results.csv:

    rdmlpython -lrp data.rdml -o data_out.rdml --saveResults results.csv
    rdmlpython --linRegPCR data.rdml --resultfile data_out.rdml --saveResults results.csv
    

With the latter command, the analysis results are stored in a (large) tab-separated table results.csv that can be opened in spreadsheet programs like Excel or Calc. By default RunAnalysis will only work on the first run of the first experiment. You may select a different experiment with the -e option and a different run with the -r option. The option --excludeNoPlateau allows to exclude reactions with no plateau phase from the mean PCR efficiency calculation. The option --excludeEfficiency can be "outlier", "mean" or "include". With --excludeEfficiency "include" no reaction will be from mean PCR efficiency calculation based on its individual PCR efficiency. With --excludeEfficiency "mean" and the optional option --pcrEfficiencyExl 0.05 reactions with an individual PCR efficiency outside a 0.05 range from the mean PCR efficiency will be excluded from mean PCR efficiency calculation (this was the classic way). With --excludeEfficiency "outlier" only individual PCR efficiency outliers based on a Grubbs's test will be excluded from mean PCR efficiency calculation (recommended and the default option). The option --saveRaw raw_data.csv creates the table raw_data.csv with the raw fluorescence data. The option --saveBaslineCorr baseline_corrected.csv creates the table baseline_corrected.csv with the baseline corrected fluorescence data. See 3. RDML-RunAnalysis for details on those options.

Using the Python Library

The rdmlpython library has many functions, please look at the source code of rdmlpython for details.

As a basic example create the file test.py with this content:

    #! /usr/bin/env python

    import rdmlpython as rdml

    # Print the version
    vers = rdml.get_rdml_lib_version()
    print("Version " + vers)

    # Validate a file
    cli_validate = rdml.Rdml()
    cli_resValidate = cli_validate.validate(filename="test_2_raw_data.rdml")
    print(cli_resValidate)

    # Run RunAnalysis
    cli_linRegPCR = rdml.Rdml("test_2_raw_data.rdml")
    cli_expList = cli_linRegPCR.experiments()
    cli_exp = cli_expList[0]
    cli_runList = cli_exp.runs()
    cli_run = cli_runList[0]
    cli_result = cli_run.linRegPCR(updateRDML=True, saveResultsCSV=True, timeRun=True, verbose=True)
    cli_linRegPCR.save("test_2_data_out.rdml")
    with open("test_2_result.csv", "w") as cli_f:
        cli_f.write(cli_result["resultsCSV"])
    

Run the script with the downloaded file:

    python3 test.py
    
1.8. Acknowledgement

We want to thank Quinn Gunst and Jaco Hagoort (Department of Medical Biology, Amsterdam UMC, location, AMC, Amsterdam) for their advice and support while preparing the RDML-RunAnalysis program.

2.1. Introduction

The RDML-Tools cover everything needed to analyze qPCR data. The general concept is to automate as much as possible and archive reliable data independent of user input. To get the most out of RDML-Tools, the user needs to complement a set of data, which will be described in the respective paragraphs below. For example, an increase in fluorescence points to amplification. If the RDML-Tools were provided with the respective sample type, they will be silent if the sample is a positive control or a unknown sample but throw an error if it is a negative control. Naturally, the RDML-Tools will also throw an error if no amplification occurs in a positive control.

The import of the data and the annotation of the data is cumbersome, but usually a lab works with the same machine and a usually used set of targets. The targets need to be annotated only once and can be copied over from well annotated files.

2.2. Import Data into RDML
2.2.1. Introduction into Importing Data

Although RDML and RDES are around for several decades, not all qPCR machines support one of the formats. Therefore, the import remains a challenge today. In the following section all import options are explained.

2.2.2. Import of a Valid RDML File

Ideally, a machine exports a valid RDML file, so no big modifications are needed. It is still recommended to perform some checks before the start. RDML-Tools require the RDML version 1.4, so the file may need to be converted.

  1. Open RDML-Edit, select the RDML file and press "Upload File".
  2. Go back to the "Main" tab. Check the version in "RDML File Information".
  3. If the version was not 1.4, click on "Enable Edit Mode" on the top, then the "Migrate to RDML Version ..." buttons appear. Click them one by one increasing the version of the file to 1.4.
  4. In the "Links to other RDML tools" section, click on the link to RDML-Validate. It should state that the file is valid. Else continue with Import of a invalid RDML file.
  5. Now the file is ready. Do not forget to save it by pressing "Save File".
2.2.3. Import of a Invalid RDML File

Some qPCR machines do export RDML files, but the files are not valid. For some machines RDML-Tools can fix this errors archiving a valid RDML file.

  1. Open RDML-Edit, select the RDML file and press "Upload File". A error mentioning the invalid RDML file might appear.
  2. Go back to the "Main" tab and click on "Enable Edit Mode" on the top. Then green buttons appear. Click on "Repair RDML File" and "Recreate Lost IDs".
  3. Check the version in "RDML File Information". If the version was not 1.4, then click the "Migrate to RDML Version ..." buttons one by one increasing the version of the file to 1.4.
  4. In the "Links to other RDML tools" section, click on the link to RDML-Validate. If it does not state "RDML file is valid.", send us the RDML file for further inspection.
  5. Now the file is ready. Do not forget to save it by pressing "Save File".
2.2.4. Import of a Valid RDES File

Some machines do export RDES files. In this case RDML-Edit can be used to create an RDML file. Be aware, that amplification data and melting curve data are saved in separate RDES files.

  1. Open RDML-Edit and press the "Create New File" button.
  2. RDML-Edit switches to the "Experiments" tab. Click on "Create New Experiment".
  3. Give the experiment a name and press "Save Changes".
  4. Now the experiment exists and a new run can be created, press "New Run".
  5. Give the run a name.
  6. Select the plate format. The predefined buttons give shortcuts for the most common formats. Do also check the "Reaction Volume" fits your experiment in µl.
  7. Select the respective RDES files for upload at the "Import Amplification RDES" and "Import Melting RDES" fields.
  8. Press "Save Changes" and evaluate the import message. Check that the "Number of Reactions" field of the experiment fits the expectations and no reactions are lost. If it fails, read the next paragraphs for some tips on how to continue.
  9. Repeat the steps above if more runs need to be imported.
  10. Now the file is ready. Do not forget to save it by pressing "Save File".
2.2.5. Introduction Into RDES

If RDES files need to be repaired or CSV files need to be converted, a understanding of the RDES file format is required. It consists of seven columns left of the fluorescence block of which the first six need to be filled. The sample type may be one of "unkn", "std", "pos", "nac", "ntc", "nrt" or "ntp". The target type may be "toi" or "ref". Sample and target may be any text, but be aware that technical replicates must have identical sample and target information. Find below an example with amplification data. Melting data will have temperatures instead of cycle in the heading column and column 7 must be "Tm", but can be empty like the Cq column. Correctly formatted RDES files require tab as column separator, Linux newlines and dot as decimal separator. See Real-time PCR Data Essential Spreadsheet Format (RDES) for more information about the format.

WellSampleSample TypeTargetTarget TypeDyeCq123...4445
A1sam 1unknANFtoiunkn_dye 167.61171.84175.77...635.11634.88
A2sam 1unknEGFPtoiunkn_dye 185.18194.59201.04...925.12923.84
A3sam 1unknGAPDHtoiunkn_dye 179.11182.69185.65...735.28739.5
.......................................
H11negunknRT-toiunkn_dye 185.15188.06190.16...712.36718.66
H12negunknRT-toiunkn_dye 170.7180.56183.9...653.92660.56
2.2.6. A Note on Raw Data

The RDML-Tools may throw a warning if negative fluorescence values are imported or used. Actually, fluorescence values can never be negative, as zero means no light is emitted. Usually negative values occur if a baseline correction was applied to the raw fluorescence data.

Most machines perform a baseline correction based on the first 3(5)-10(15) cycles and fit a linear function, which is subtracted from the raw fluorescence data. If only a constant value was subtracted, the calculations are not affected and the constant value is removed. If the subtracted linear function has also an inclination, RDML-Tools will not be able to calculate the correct PCR efficiencies. There is no way to undo the curve based baseline correction.

If this error occurs, check if the software of the qPCR machine allows to switch off the baseline correction. Contact the vendor and ask for help - and maybe also ask why there is no RDML or RDES export, as this will make life much easier. Up to then, there is nothing you can do about it. You may continue using RDML-Tools, but be warned that the PCR efficiencies might be affected. You may try DNA dilution standards and see if RDML-ExperimentAnalysis reports similar PCR efficiencies calculated by the curves and calculated by dilution.

2.2.7. Repair a RDES File

RDML-Edit demands correctly formatted RDES files, with tab as column separator, Linux newlines and dot as decimal separator. Opening the file in spreadsheet programs can easily mess this up and making the import impossible. This can be easily fixed in RDES-TableShaper.

  1. Open RDES-TableShaper select the RDES file and press "Upload File".
  2. Check that the file contained the intended data below the "Table after import". Confirm that the columns and rows were recognized and labeled with numbers in the grey fields.
  3. Depending on imported data, click on "RDES Amplification" or "RDES Meltcurve".
  4. Go to the "Save" tab an inspect the RDES file below. All rows which should be imported must have a green background.
  5. In case information is missing, the information can be added using the "Complement columns 1 to 6" section. Sample and target may be any text, but be aware that technical replicates must have identical sample and target information. Optionally all samples can be labeled "sample1" and all targets "target1". Then the correct annotation must be provided in RDML-Edit later.
  6. Now the file is ready. Save it by pressing "Save table file in RDES format" on the top.
  7. Repeat the procedure to have amplification and melting RDES files.
  8. Continue creating an RDML file following Import of a Valid RDES file
2.2.8. Import of a Known CSV File

Some machines do not export RDML or RDES files. In this case the export is more challenging as it has to be taken care that the raw fluorescent measurements of each cycle are exported. RDML-Tools do only read csv formatted text files. Most qPCR machines export Excel files. Please convert them by opening in Excel (Microsoft) or Calc (Libre Office), selecting the table with the amplification or melting data and save as tab separated text file, ideally in UTF-8 txt.

  1. Open RDES-TableShaper select the RDES file and press "Upload File".
  2. Check that the file contained the intended data below the "Table after import". Confirm that the columns and rows were recognized and labeled with numbers in the grey fields.
  3. Go to the "Modify" tab an select the qPCR format of your machine from the "Load predefined setting" pulldown menu.
  4. Go to the "Save" tab an inspect the RDES file below. All rows which should be imported must have a green background.
  5. In case information is missing, there are several options. |
    • The information can be added in this tab using the "Complement columns 1 to 6" section. Single wells like A7 or squares B2-D7 can be used. Sample and target may be any text, but be aware that technical replicates must have identical sample and target information.
    • The current file can be downloaded by pressing "Save table file in RDES format" on the top. Open the file in Excel (Microsoft) or Calc (Libre Office) and complement the missing data and save the file. It is recommended to import the file once more as described in Repair a RDES file to get the column separators and line endings right.
    • Label all samples "sample1" and all targets "target1". Then the correct annotation must be provided using RDML-Edit and other tools later. This could be more convenient.
  6. Now the file is ready. Save it by pressing "Save table file in RDES format" on the top.
  7. Repeat the procedure to have amplification and melting RDES files.
  8. Continue creating an RDML file following Import of a Valid RDES file
2.2.9. Import of a Unknown CSV File

If your qPCR machine is not listed in "Load predefined settings" on the "Modify" tab of RDES-TableShaper, please contact us and send us the file, so we can add it to the list. Of course, you may also create an import template yourself. Therefore, the layout of the table has first to be evaluated. Open the file in a spreadsheet program or an editor and evaluate the columns and rows. It may have the same layout like RDES, the wells/reactions are given in rows, the cycles in the columns. This would require later "Keep table shape" later in the protocol:

123...4445
A1167.61171.84175.77...635.11634.88
A2185.18194.59201.04...925.12923.84
A3179.11182.69185.65...735.28739.5
.....................
H11185.15188.06190.16...712.36718.66
H12170.7180.56183.9...653.92660.56



Alternatively, it may be transposed with cycles as rows and the wells/reactions as columns. This would require later "Flip columns and rows" later in the protocol:

A1A2A3...H11H12
1167.61185.18179.11...185.15170.7
2171.84194.59182.69...188.06180.56
3175.77201.04185.65...190.16183.9
.....................
44635.11925.12735.28...712.36653.92
45634.88923.84739.5...718.66660.56



Or it may come as a list, were each measurement is a row. This would require later "Create table from list" later in the protocol:

WellCycleFluor
A11167.61
A12171.84
A13175.77
.........
H1244653.92
H1245660.56



With this information, a custom converter template can be created:

  1. Take care the fluorescence data have been saved as text file and an editor like notepad is able to read the file.
  2. Open RDES-TableShaper select the text file and press "Upload File".
  3. Now the table separators have to be identified on the "Load" tab. It should work out automatically, if not, the separator can be selected manually in the "Select column separator for import" section. Check that the table on the bottom of the "Load" tab breaks up in columns and each column has a number in the grey row on top.
  4. Go to the "Modify" tab. In the section "Settings to reshape the table" select "Amplification" or "Meltcurve" based on the type of your input data.
  5. Give a name to the converter in "Settings identifier"
  6. Select "Keep table shape", "Flip columns and rows" or "Create table from list" based on the table layout determined as mentioned on top of this protocol.
  7. Select "Replace all commas by dots" if the data use a comma as decimal separator.
  8. Now the table should appear reshaped in the bottom of this tab. It has numbers for rows and columns with a grey background. This numbers are required to fill the following fields.
  9. In the "Settings to extract the fluorescence data block" section the fluorescence data have to be selected by providing the numbers of columns and rows on top or left of it. In the list format, the column with the fluorescence data has to be provided.
  10. In the "Settings to extract data" section the row with the cycle or temp. has to be selected. RDES can collect additional information. This data can also be collected from the file if the information is present. Each field can be modified by a regular expression, if desired. Regular expressions are very powerful but are out of the scope of this manual. If the default (.*) needs to be modified, ask any informatician for help (it will be an easy task) or dive into JavaScript capturing regular expressions tutorials.
  11. Go to the "Save" tab and inspect the table on the bottom. It should be filled with all the information selected before. Check that the fluorescence data are there, cycles or temp. were correctly read in the first row.
  12. If this worked well, go back to the "Modify" tab and save your custom import using the "Save settings JSON file" button on the top. If other data have to be imported, the steps before can be skipped and this file can be uploaded using "Load settings JSON file" on the left instead. Then go back to the "Save" tab.
  13. Usually, some of the first 6 columns are not filled after that step. Without this information, the data can not be imported as described at Import of a Valid RDES file and the background will not be green. There are several options at this step.
  14. In case information is missing, there are several options. |
    • The information can be added in this tab using the "Complement columns 1 to 6" section. Single wells like A7 or squares B2-D7 can be used. Sample and target may be any text, but be aware that technical replicates must have identical sample and target information.
    • The current file can be downloaded by pressing "Save table file in RDES format" on the top. Open the file in Excel (Microsoft) or Calc (Libre Office) and complement the missing data and save the file. It is recommended to import the file once more as described in Repair a RDES file to get the column separators and line endings right.
    • Label all samples "sample1" and all targets "target1". Then the correct annotation must be provided using RDML-Edit and other tools later. This could be more convenient.
  15. Now the file is ready. Save it by pressing "Save table file in RDES format" on the top.
  16. Repeat the procedure to have amplification and melting RDES files.
  17. Continue creating an RDML file following Import of a Valid RDES file
2.3. Supplement Remaining Data using RDML-Edit

If the import as described in Import Data into RDML worked out, a valid RDML file version 1.4 should have been created. Although it is valid, some information should be added to get the most of the RDML-Tools. Besides RDML-Edit dedicated tools like RDML-RunEdit, RDML-AnnotationEdit and RDML-Merge help with special functionality.

RDML-Edit is a powerful tool to create, view and edit RDML files. RDML files supports many optional parameters and each parameter has many sub-parameters, of which many may not yet be used in the current file. In RDML a target for example is described only once in the targets list with all its further information and thereafter is only identified by its unique id. In the data elements of each reaction the target is then referenced by its id.

Be aware that RDML-Edit by default only allows viewing of files. RDML support many optional parameters to describe a qPCR or digital PCR reaction. RDML-Edit will hide all parameters which were not entered by the user. To modify RDML files you have to enable the edit mode using the button on the "main" tab. Enabling the edit mode will switch RDML-Edit into a different mode and enable many buttons and options to modify each element or create new ones. RDML does support different versions with different functionality. RDML-Edit can migrate between different versions on the "Main" tab if the edit mode is activated. Digital PCR is only supported from version 1.3 on. The modified RDML-files must be saved and downloaded on the "Main" tab as they will be lost once the browser is closed.

Lets assume all samples were labeled "sample1" and all targets "target1" and only the fluorescence data of the amplification and the melting curve were imported. Lets repair the run setup and add the required additional information step by step. First the RDML file is loaded and dye information is added:

  1. Open RDML-Edit, select the RDML file and press "Upload File".
  2. Go to the "Main" tab and check the version in "RDML File Information". If the version was not 1.4, then click the "Migrate to RDML Version ..." buttons one by one increasing the version of the file to 1.4.
  3. Click on "Enable Edit Mode" on the top. Then green buttons appear.
  4. Go to the "Dye" tab and press the "Create New Dye" button.
  5. Fields with an orange background must be provided with information. Give the dye a ID like "SYBR I" and press "Save Changes".
  6. The dye "SYBR I" exists now. Press "Edit" to add more information.
  7. Select the proper "Fluorescence Reporter". This is essential for the calculation of Ncopy. If not provided, "non-saturating DNA binding Dye" will be used by default.
  8. If a concentration of the dye is known (not of a hybridization probe, that goes somewhere different), it can be added as well.
  9. Press "Save Changes" and repeat this for all other dyes.

RDML is a flexible format. On the "Documentation" tab information text can be stored and attached by its ID at several other positions. For example the freezing of the samples could be described and attached at all the samples which were frozen that way. Similarly, the "Experimenters" or the "Cycling Conditions" can be mentioned and attached to the respective runs. Also this is recommended for documentation purposes, it has no impact on the calculations of the RDML-Tools.

The target information needs to be added next. The target information are essential for documentation and for reproducibility and are required for the correct calculations of the RDML-Tools:

  1. Assuming the RDML file is still opened from the previous step, to the "Targets" tab and press the "Create New Target" button.
  2. Provide the target with a understandable and unique "ID".
  3. Select a "Type". Use "toi - target of interest" for all targets that should be quantified. Use "ref - reference target" if this target should be used as a reference gene to correct the gene expression of other genes. If it is not labeled here as "ref", it can not be used in the "Quantify" tab or "geNorm" tab of RDML-ExperimentAnalysis later.
  4. Select the suitable dye used for this target. If the same target is used with different dyes, a second target with a different ID needs to be created.
  5. Provide the primer sequences and the concentrations of the forward and reverse primer, the hydrolysis probe as "probe1" if present and the amplicon sequence. The amplicon length is essential for the correct calculation of non-saturating dyes, the primer concentration for probes. Primer concentrations are usually in the range of 100-700nMol/l, if not provided, 250nMol/l is used. If the amplicon sequence can not be provided or is not available, provide the length of the amplicon using "Amplicon Seq. Tools". It will create a string of Ns of appropriate length.
  6. Provide the "Amplicon MeltingTemperature" if DNA binding dyes are used. This should be determined in a pilot experiment for each target. Once provided here, RDML-RunAnalysis can evaluate melting curves for the presence of the expected amplicon and warn if artifacts are detected.
  7. Press "Save Changes" and repeat this for all other targets.

The sample information needs to be added next. The sample information are essential for the correct calculations of the RDML-Tools:

  1. Assuming the RDML file is still opened from the previous step, to the "Samples" tab and press the "Create New Sample" button.
  2. Provide the target with a understandable and unique "ID".
  3. Select a "Type". This is essential for RDML-Tools an it will be used to perform validity checks. Positive controls and standards must archive an amplification. Negative controls may not and unknown samples may both. The sample type will result in different, appropriate handling of the sample.
  4. Select "Double Stranded" yes for plasmids, genomic DNA and PCR products, no for cDNA or other single stranded DNA. This parameter is essential for the correct calculation of Ncopy. Speaking of "one copy", a single copy of double stranded DNA (gnomic DNA) or a single stranded DNA (cDNA) could be meant.
  5. Press "Save Changes".
  6. If the sample is part of a standard, the sample type "std" should be selected and the concentration should be given by pressing the "Add Quantity" button. Be aware that here the concentration should be given in copies per microliter of the reaction mix in the tube. This is essential if a standard should be used to quantify or a dilution standard should be evaluated in the "Quantify" tab of RDML-ExperimentAnalysis
  7. Repeat this for all other samples.
  8. Save the edited RDML file. Go to the "Main" tab and press the "Save File" button.

Now the dyes, samples and targets are provided, but not used in the runs. Now the experiment ID and the run ID can be adapted in the "Experiments" tab. Check that the correct PCR format was selected and attach the cycling conditions to the respective run. This is advisable for documentation and presentation of the data, but has no impact on the calculations. To attach the information to the run, RDML-RunEdit is required.

2.4. Annotating a Run in RDML-RunEdit

RDML-RunEdit is a tool to view single runs of a RDML files. Once the RDML file was loaded, the desired experiment and run have to be selected. RDML-RunView will display the plate setup with the errors and the notes editable. The user can adapt the target, sample and volume information and adapt or delete incorrect errors and notes or introduce errors occurred during qPCR preparation. Empty wells may be deleted.

If a complete plate was imported, it is advisable to delete the empty wells for a better overview:

  1. Open RDML-RunEdit, select the RDML file and press "Upload File".
  2. Go to the "RunEdit" tab and select the correct experiment and run on the top.
  3. It is recommended to open the same run in RDML-RunAnalsyis in a separate window and inspect the plate on the "RunView" tab. Using the "Select Sample by" and providing "Range" like A1-B6;C7-D8, the fluorescence of the wells can be evaluated and removed in RDML-RunEdit in a different window.
  4. Select the "Reaction" for the change. It accepts single wells like A1 or ranges like A1-D3. For convenience, this field is filled by clicking in one or one cell and a second cell in the grid of the run above.
  5. Click "Delete Reaction Data" to remove the well.
  6. Repeat this for all other empty wells.

Then the targets and samples can be attached:

  1. Assuming the RDML file is still opened from the previous step, go to the "RunEdit" tab.
  2. Select the "Reaction" for the change. It accepts single wells like A1 or ranges like A1-D3. For convenience, this field is filled by clicking in one or one cell and a second cell in the grid of the run above.
  3. Select the sample an click "Replace Sample".
  4. Check that the range still fits.
  5. Select the target an click "Replace Target".
  6. Repeat this for all other reactions.

If the reaction volume was not set at import or is different within a plate, it can be adapted as well:

  1. Assuming the RDML file is still opened from the previous step, go to the "RunEdit" tab.
  2. Select the "Reaction" for the change. It accepts single wells like A1 or ranges like A1-D3. For convenience, this field is filled by clicking in one or one cell and a second cell in the grid of the run above.
  3. Set the "Reaction Volume in Microliter".
  4. Click "Save Reaction Volume".
  5. Repeat this for all other reactions.
  6. Save the edited RDML file. Press the "Save RDML" button on top.

RDML-RunEdit is also an efficient way to edit notes and excluded text in the run. Be aware that a reaction with any excluded text will be removed from all further calculations. It is good practice to give the reason for exclusion in the excluded text or write any special observations into the note text.

  1. Open RDML-RunEdit, select the RDML file and press "Upload File".
  2. Go to the "RunEdit" tab and select the correct experiment and run on the top.
  3. Select the "Reaction" for the change. It accepts single wells like A1 or ranges like A1-D3. For convenience, this field is filled by clicking in one or one cell and a second cell in the grid of the run above.
  4. Modify or delete the "Excluded" and/or the "Notes" text.
  5. Update the file by pressing the respective buttons. "Replace" will overwrite the existing text or delete it if the text is empty. "Append" attaches the text to the text which is already present.
  6. Repeat this for all other reactions.
  7. Save the edited RDML file. Press the "Save RDML" button on top.

RDML-RunEdit can also delete all calculation results, notes and errors present in a run to allow a fresh analysis.

2.5. Copy Annotation Using RDML-Merge

RDML works with elements that refer other elements. For example, the reactions in an experiment refer to samples and targets. The targets refer to an dye. The RDML-Tools require quite extensive annotation as described in Supplement Remaining Data using RDML-Edit. Usually, the same targets, dyes and cycling protocols are used over and over again. RDML-Merge helps by complementing one RDML file (base) with parts of a second RDML file (add). Once both RDML files were loaded, the desired elements have to be selected. RDML-Merge will display an overview of both files with the contents of the base file on the left and the add file on the right. The user can click on the respective buttons to copy individual or all elements over. This also allows to combine several runs from different files within one experiment.

If RDML-Merge merge copies over an experiment, the dependencies will be copied as well. If such a depending element with the same ID is present in the base RDML file and the RDML file to add, the button with (-) will keep the dependencies of the base RDML file while the button with (+) will overwrite the existing elements with the dependencies from the RDML file to add.

The button "Save Base RDML File" on the top left of the "Merge" tab will save the modified file.

2.6. Annotate Experiments Using RDML-AnnotationEdit

RDML can only handle technical replicates, reactions with the same sample ID and the same target ID are considered technical replicates. All other samples must have unique sample IDs. Experiments require the grouping of samples into different experimental groups or it may be of use to attach further information to individual samples like "sex" or "age". In RDML an annotation element is present, which works with keys and values. RDML-AnnotationEdit modifies this annotation.

  1. Open RDML-AnnotationEdit, select the RDML file and press "Upload File".
  2. Go to the "AnnotationEdit" tab.
    • A annotation csv file can be downloaded by pressing "Export Annotation Data" on the top left. This file can be opened in Excel (Microsoft) or Calc (Libre Office). Additional annotation can be provided by adding a key in the first row of an additional column. Then add the values for each sample in this new column. Save the file and upload it by selecting it with "Import Annotation Data" and click the "Import Annotation Data" button.
    • With the "Create New Annotation from two existent Annotations" section a key and a value can be given and the corresponding samples selected. By pressing the button "Create Annotations", the annotations are created.
  3. Repeat this for all other annotations.
  4. Save the edited RDML file. Press the "Save RDML" button on top right.

RDML-ExperimentAnalysis can only handle one key a time. If the experiment requires combinations of keys, for example "sex" and "age", RDML-AnnotationEdit can create an additional key with this combination.

  1. Open RDML-AnnotationEdit, select the RDML file and press "Upload File".
  2. Go to the "Create New Annotation from two existent Annotations" section on the "AnnotationEdit" tab.
  3. Give new key for the combined element in "Combined Property Name".
  4. Provide an existing key for the left part of the combined element in "Property Left".
  5. The text provided in "Connect with" will be placed between the left and the right key.
  6. Provide an existing key for the right part of the combined element in "Property Right".
  7. Click "Create Combined Annotation" to merge the keys and create a new one.
  8. Save the edited RDML file. Press the "Save RDML" button on top right.

RDML-AnnotationEdit can also be used to rename properties (keys) and values using the top sections.

2.7. Analyze a Run with RDML-RunAnalysis

RDML-RunAnalysis displays and analyzes melting curves, finds peaks and calculates the amplicon melting temperature. It also displays and analyzes amplification curves, calls third derivative zero (TD0) positions which RDML-Tools use instead of Cq values, calculates PCR efficiencies and Ncopy values.

2.7.1. Melting Curve Analysis with RDML-RunAnalysis

Primers might bind additionally to unintended positions in the DNA and amplify additional amplicons, named artifacts. It is not possible to deduce the presence of an artifact product based on the shape of the amplification curve. DNA-binding dyes, like SYBR-Green I and LCGreen bind unspecifically to DNA and do not discriminate between the correct product and artifacts. The artifacts can only be detected by recording a melting curve, where after completion of the amplification cycles the machine gradually heats up the reactions from 60°C to 95°C and records the fluorescence. If the melting temperature (Tm) of the product is reached, the fluorescence drops and the negative first derivative of the melting curve will show a melting peak for each product. The melting temperature depends on amplicon length and sequence, the reaction buffer composition. Therefore, correct products and artifacts can be discriminated based on their melting temperature.

RDML-RunAnalysis detect the correct products and artifacts automatically on the "MeltingCuveAnalysis" tab, provided that the expected melting temperatures of the targets are given as described in Annotating a Run in RDML-RunEdit. A reaction with several products is reported and excluded from further analysis.

  1. Open RDML-RunAnalysis, select the RDML file and press "Upload File".
  2. Go to the "RunView" tab and select the desired experiment and run.
  3. Go to the "MeltingCuveAnalysis" tab and click "Run Meltcurve".
  4. A table is calculated with a row for each reaction, grouped by target. A set of columns is created for each peak. The first set of columns always displays the information about the expected peak. Evaluate the expected peaks, the excluded and note messages.
  5. This table can be copied to the clipboard by clicking "Copy table to clipboard" and pasted in a spreadsheet program or downloaded TSV file by clicking "Save table as CSV" for later use.
  6. A Double click on the row opens an individual curve in the "RunView" tab and allows the inspection of the melting peaks.
  7. In the overview on the "RunView" tab, only one target can be selected by setting "Select Sample by" to "Target" and choosing the desired target with "and". The thin black line shows the expected melting temperature, the grey area highlights the acceptable range for the melting peak.
  8. The curves should be inspected and reactions with artifacts should be excluded from further analysis.
  9. All reactions which are marked as excluded by any text in this column are ignored in further analysis. On the RunView tab the excluded and notes field can be modified or deleted, provided a single reaction is selected. Be aware that the table on the "Melting Curve Analysis" tab is not updated. Alternatively, this can be done by clicking the link below "Edit a single Run in RunEdit" on the "Main" tab and following the instructions of RDML-RunEdit.
  10. Save the analyzed RDML file by clicking "Save RDML" on the "MeltingCuveAnalysis" tab.
2.7.2. Amplification Curve Analysis with RDML-RunAnalysis

The exponential amplification of an PCR amplicon starts from the beginning of the qPCR run. Due to the minute amounts at start, the fluorescence of the product is below the background noise of the machine and can only be detected when sufficient amounts were amplified to pass background fluorescence. Shortly after the components in the reaction mix, usually the non-saturating dye or the primers get limiting and the exponential phase of the amplification ends. The "AmplificationCurveAnalysis" tab can calculate a TD0, the point when the exponential phase ended, a PCR efficiency per target and the Ncopy value for each reaction.

The TD0 is calculated as described before for example by Carl T. Wittwer (United States Patent US6303305B1). In principle, the first and second derivative is calculated. To remove measurement noise, the second derivative is smoothed by taking the mean of three adjacent cycles. The TD0 is called on as the zero crossing in the third derivative of the smoothed second derivative. Note that calling of TD0 does not require to define threshold and any baseline correction based on a linear function by the machine will be lost in the second derivative.

The calculation of the PCR efficiency is based on the inclination of the amplification curve when plotted on a logarithmic fluorescence axis. RDML-RunAnalysis will first perform a baseline correction by determining the exponential range, apply a baseline in the middle between 0 and the lowest fluorescence, split the exponential range by half in a lower and an upper range and calculate their inclinations. If the lower range has a lower inclination than the upper range, the baseline was underestimated. Then a new baseline is applied as half of the value before and the lowest fluorescence of the exponential range. If the inclination of the lower range was higher, the baseline was overestimated and a new baseline is calculated as half of 0 and the value before. This continues until both inclinations differ less then 0.0001. From the upper inclination the individual PCR efficiency is calculated. The PCR efficiencies have still some noise, so the user can choose to exclude derivating efficiencies based on an statistical function, the difference to the median value or to include all. The statistical function performs an iterative outlier test consisting of a combination of skewness testing and, if a skewed distribution of E values is observed, testing for the presence of an outlying value with a Grubbs test; if present, the outlier is excluded from the analysis and the test is repeated. The remaining values are used to calculate a mean PCR efficiency for the target. Be aware that this calculations do not work on data which were baseline corrected using a linear function with an inclination.

The TD0 and the PCR efficiency can be used to calculate an Ncopy value, which gives the copies present in the reaction mix in the well.

  1. Open RDML-RunAnalysis, select the RDML file and press "Upload File".
  2. Go to the "RunView" tab and select the desired experiment and run.
  3. Go to the "AmplificationCurveAnalysis" tab and click "Run AmplificationCurveAnalysis"
  4. A table is calculated with a row for each reaction with the data discussed before. Evaluate the excluded and note messages.
  5. This table can be copied to the clipboard by clicking "Copy table to clipboard" and pasted in a spreadsheet program or downloaded TSV file by clicking "Save table as CSV" for later use.
  6. A Double click on the row opens an individual curve in the "RunView" tab and allows the inspection of the amplification curve. The thin black line shows the mean PCR efficiency a thin grey line the individual PCR efficiency. The exponential phase is marked with big dots, if included in calculation, the dots are filled.
  7. The curves should be inspected and reactions with issues should be excluded from further analysis.
  8. All reactions which are marked as excluded by any text in this column are ignored in further analysis. On the RunView tab the excluded and notes field can be modified or deleted, provided a single reaction is selected. Be aware that the table on the "Melting Curve Analysis" tab is not updated. Alternatively, this can be done by clicking the link below "Edit a single Run in RunEdit" on the "Main" tab and following the instructions of RDML-RunEdit.
  9. Save the analyzed RDML file by clicking "Save RDML" on the "AmplificationCurveAnalysis" tab.
2.8. Analyze an Experiment with RDML-ExperimentAnalysis

RDML-RunAnalysis calculates an Ncopy, TD0 and PCR efficiency for each reaction of each technical replicate. Usually, most experiments aim at different results. The technical replicates should be averaged, corrected with standards and/or reference genes and experimental groups evaluated. RDML-RunAnalysis uses the results of RDML-RunAnalysis to perform these calculations. Be aware, that all runs of an experiment have to be analyzed as described in Analyze a Run with RDML-RunAnalysis before using RDML-ExperimentAnalysis.

2.8.1. Inter-Run Correction with RDML-ExperimentAnalysis

Ncopy values of different runs can not just be pooled and analyzed, because qPCR results of the same set of reactions on different plates and PCR runs differ by a constant multiplicative factor per plate. A common approach is the use of a calibrator sample, which is placed on all runs and the measured quantity is used as a factor by which the quantities of all other reactions within the same run are divided. This approach has some disadvantages, as the measured quantity of the calibrator is not free of errors and this errors are propagated to all other reactions increasing the technical variation.

RDML-ExperimentAnalysis uses on its "InterRunCorrection" tab a different approach. The observed Ncopy values for all reactions which overlap between the different plates are used to calibrate the entire experiment. Overlap is defined as biological and technical replicate reactions coming from the same experimental group in which the same target is amplified. The experimental groups can be set as described in Annotate Experiments Using RDML-AnnotationEdit. This approach has the advantage that a large number of different reactions is included in the estimation of the correction factor per plate which leads to cancelling out the technical measurement error in the individual reactions.

  1. Open RDML-ExperimentAnalysis, select the RDML file and press "Upload File".
  2. Select the experiment on the "RunView" tab and confirm that all runs have Ncopy values. All calculations in RDML-ExperimentAnalysis are based on Ncopy values.
  3. Go to the "InterRunCorrection" tab and click the "Run InterRunCorrection".
  4. It will indicate the calculated correction factors and show plate overlap the matrix below. Evaluate the correction factors. In case not all gaps between plates can be filled, this information can indicate which missing reactions need to be run on an additional plate to be added to the experiment.
  5. This table can be copied to the clipboard by clicking "Copy table to clipboard" and pasted in a spreadsheet program or downloaded TSV file by clicking "Save table as CSV" for later use.
  6. Save the analyzed RDML file by clicking "Save RDML" on the "InterRunCorrection" tab or continue analysis.
2.8.2. Identifying Reference Genes using geNorm

A common approach to reduce variation between different biological samples is to normalize the measured expression using a validated set of at least two reference genes. Reference genes are target of which the combined expression does not change in the studied experimental conditions. geNorm can be used to identify suitable references genes.

The implemented geNorm algorithm is a reproduction of its original description (Vandesompele Genome Biol 2003) and its implementation in qBase plus (Hellemans et al Genome Biol qBase paper).

The validation of reference genes is done in a pilot experiment covering the experimental conditions. Select 10-12 genes of different pathways which could be expected to have a stable expression under the experimental conditions. Of each pathway select only one gene. Take care to have genes of high, medium and low expression in the selected set of candidate reference genes. Make sure that the targets have the target type "ref" as described in Supplement Remaining Data using RDML-Edit. Run the qPCR and perform amplification curve analysis as described in Analyze a Run with RDML-RunAnalysis. Make sure that the sample are annotated in the respective experimental conditions as described in Annotate Experiments Using RDML-AnnotationEdit. Go to the "GeNorm" tab in RDML-ExperimentAnalysis, set the correct sample annotation and run GeNorm. The results are explained on the same tab. The M-value is a measure for the variability of the target and should be below 0.5. The V-value is calculated for a combination of targets and should be below 0.15 for the suitable set of reference genes.

2.8.3. Quantifying Expression with RDML-ExperimentAnalysis

On the "Quantify" tab all quantification takes place. It uses the Ncopy values, so for each run in the experiment the amplification curve analysis as described in Analyze a Run with RDML-RunAnalysis has to be performed first. If the experiment contains more than one run, the runs have to be combined as described in Inter-Run Correction with RDML-ExperimentAnalysis. Clicking "Run Quantify" will calculate the results which are presented in several tables. The parameters which influence the calculations will be mentioned in the sections below.

If a dilution standard is present, RDML-ExperimentAnalysis will analyze its properties and calculate in addition to the mean PCR efficiency of the curves a PCR efficiency based on the dilution standard. This calculation requires targets of the type "std" and a given concentration of the standard as described in Supplement Remaining Data using RDML-Edit. Both PCR efficiency calculations should give comparable results. If one of both is off, it could point to a issue with the raw data and the baseline correction of the machine.

RDML-ExperimentAnalysis will display the results as Ncopy values. If the "Quantification Method" "Reference Sample" was selected, all Ncopy values will be normalized using the standard with the highest concentration. This is equivalent to the classic absolute quantification method.

Reactions with the same target and sample name are considered technical replicates. RDML-ExperimentAnalysis handles these technical replicates by calculating the mean, standard deviation and the coefficient of variation (CV) per sample. The results are give in the table "Technical Replicates". This CV provides a quality measure for the differences between the technical replicates. The user is notified when this CV is larger than 0.3, because in that case the technical variation adds more variation to the experiment than is to be expected. The mean of the technical replicates is used for all further analysis.

In the table "Reference Genes" the relative expression of the reference genes to their geometric mean is calculated. This factor is used to normalize the Ncopy factors leaving their mean expression unchanged. The reference genes which should be included in this calculation are selected on top with "Selected Reference Genes for Correction", by default all are selected. This analysis requires target genes of the type "ref" as described in Supplement Remaining Data using RDML-Edit.

The table "Relative Expression" gives the expression values of the mean of the technical replicates corrected with the correction factor of the selected reference genes. This is equivalent to the classic relative quantification method.

If experimental groups were defined as described in Annotate Experiments Using RDML-AnnotationEdit, then "Same Annotation" can be selected in "Overlap" on the "Quantify" tab and the desired annotation selected in "Sel. Annotation". Then the table "Expression by Annotation" will be calculated which combines the samples of the individual groups. Furthermore, the statistics of each replicate will be calculated and given in the table "Statistics".

For convenience, a link to RDML-BarGraph will appear. This tool can create box and whisker graphs and highlights the individual values as dots.

2.9. Statistics by RDML-TestStat

RDML-TestStat calculates basic statistics on groups like the "Quantify" tab of RDML-ExperimentAnalysis does for experiments. It is just a simple wrapper for the functions of the SciPy library running on the server. For the parametric tests of two groups, the t-test is used (stats.ttest_ind()). For more than two groups, the One-way ANOVA is used (stats.f_oneway()). For non-parametric tests of two groups, the Mann-Whitney test is used (stats.mannwhitneyu(alternative='two-sided', use_continuity=False, method='asymptotic')). For more than two groups, the Kruskal-Wallis test is used (stats.kruskal()).

2.10. Visualize results using RDML-BarGraph

RDML-BarGraph is a tool to create bar plots with error bars and the individual values as dots. The plot can be downloaded as SVG and modified in other tools like Inkscape. The function to place the dots in a not overlapping form was heavily inspired by the calculateCompactSwarm function from the R package beeswarm (see https://github.com/aroneklund/beeswarm).

RDML-BarGraph can read CSV files or a table can be copy/pasted form spreadsheet programs into the "Data Points" filed. The table must have individual values as rows and three columns, the experimental group, the target and the value. Then in the "Combine Data" section the median with quartiles or the mean with SEM or SD can be selected. The plot is drawn on the "BarGraph" tab. All parameters like the scaling of the axis can be modified in the sections below. Be reminded that unnecessary elements can be easily deleted opening the final SVG file in Inkscape.

2.11. Validate RDML files with RDML-Validate

RDML-Validate validates a RDML file against the corresponding schema. If the validation fails, RDML-Validate displays a list of errors. Errors point to programming mistakes in the software used to create the RDML file and might be difficult to fix by the user. RDML-Edit might help to repair files as described in Import of a Invalid RDML File. If this happens, you should contact the developers of the respective software and send us the corrupted RDML file.

2.12. RDML-RunView

RDML-RunView is a tool to view single runs stored in a RDML files. Once the RDML file is loaded, the desired experiment and run can be selected. RDML-RunView will display the plate setup and, with classic qPCR, the amplification- or melt curves. A well / reaction can be selected, which will highlight the corresponding curve. If a curve is selected, the corresponding reaction will be highlighted. Melt curves can easily be inspected if the color coding is set to target. Setting the color coding to type allows easy inspection of amplification curves.

A better an more complete version for qPCR is integrated in RDML-RunAnalysis.

2.13. Important Tips Using RDML-Tools

The Tools will discriminate between upper- and lower-case characters and handle them as different entries. Technical replicate reactions are identified by having the same sample and target name. The sample type allows the Tools to handle positive and negative controls correctly and the target type is required to identify reference genes.

On the "Main" tab of all RDML-Tools a "Links to other RDML tools" section is present which allows to open the uploaded file in other modules. This allows to open the same file in different modules and work on them at the same time. Before switching modules, reload the browser tab to update the data.

3. qPCR Basics

This section explains how to set up a qPCR reaction. Please consider it as one example, the way we do it. It should provide guidance if required, but we do not promote it as the "only correct way". The products used in this section are the ones we use; we do not wish to advice their use above other products. This section would be the answer if you ask A. Untergasser: How would you do qPCR?

3.1. Setting up a qPCR

qPCR requires good primers. Pick required primers using Primer3Plus and order them.

Upon arrival of the primers dissolve them in TE (10mM Tris, 1mM EDTA, pH 8.0) to a stock concentration of 100µM (100µmol/L). In 1µl will be 100pmol primer. In the final qPCR reaction, the primers are used 1:400 times diluted to a final concentration of 250nM.

Create a primer premix for the qPCR reaction using 2.5µl forward primer stock solution, 2.5µl reverse primer stock solution and 95µl water (diluting primer 1:40 each). In a 10µl qPCR reaction 1µl of this stock is used (diluting 1:10).

A typical qPCR reaction in 10µl could be composed of 1µl cDNA/genomic DNA (maximal 10ng), 1µl primer premix, 3µl water and 5µl 2x qPCR mix (LightCycler® 480 SYBR® Green I Master; 04887352001, Roche Diagnostics GmbH, Mannheim, Germany).

Some further thoughts: In a 10µl qPCR reaction will be 2.5pmol of each primer (equals 1.5*1012 molecules each). If each primer pair would form an amplicon of 259bp length, the weight of the amplicons would be 427ng. In an experiment using FSTL1 279ng could be purified after a regular qPCR reaction. This would suggest that 2 out of 3 primers (66%) formed a amplicon.

3.2. Use genomic DNA as Standard

Genomic DNA in combination with a single copy gene can be used as a standard. Use 4ng human genomic DNA (Human Genomic DNA; 11691112001, Roche Diagnostics GmbH, Mannheim, Germany) per qPCR reaction containing 1200 copies of the genome and amplify the exon 6 of FSTL1 (follistatin like 1) in 6 technical replicates:

>FSTL1-fw
GGGAAAGGGTTTAAGTCCCC
>FSTL1-rv
TGGAGTAATGATGGAACAGGG

Amplicon sequence (259 bp):
GGGAAAGGGTTTAAGTCCCCTCTCTCAGTTAGTCTTCCCTTGTGGATCATTCTCTGACCTCTCGGTTCCTCTCACCTAAGCAACTTGT TGTTCTCCTGGTCTGGATACGTTGTAATATTGATGGCAGTTTCATTCTGTTCCACAAACTTCAGGAATTCACTGGAGTCCAGGCGAGA ATCACCATTATCAAAGTTCTAGAAAGGGCATGACAAGATCGTTCAGGGATGTTTTGCAGAACCCCTGTTCCATCATTACTCCA

Use RDML-Edit to provide the amplicon sequence in the target information to allow RDML-ExperimentAnalysis to compensate for the amplicon length. Without compensation (and in RDML-RunAnalysis) the Ncopy will be 3108 copies instead of the expected 1200 copies.