Skip to main content


A python package to analyse qPCR data on single-datasets or high-throughput

DOI Generic badge PyPI version CodeFactor Documentation Status Downloads

This project presents a python package designed to facilitate the analysis of qPCR data through established Delta-Delta-Ct analysis. To that end, this module provides a set of processing classes that may be assembled into a fully-fledged analysis pipeline, starting from raw Ct values stored in csv or excel files all the way to finished visualisations of the results.

User-friendliness and quick and easy workflows were of primary concern during development, so that this module is suitable for both non-experienced users as well as veteran coders. Virtually all steps within the analysis workflow are customizible to allow a streamlined analysis of any given dataset.

The exported results are formatted to be readily imported into other analysis or graphing software.

Installation

This module can directly be installed via pip.

pip install qpcr

Qupid Web App

In case you prefer a graphical user interface, qpcr offers the Qupid web app built with streamlit. Qupid provides access to the bulk of qpcr's main features with costumizability to some degree. Qupid is openly available via streamlit. Or can be run locally by cloning its Github repository.

What does qpcr do?

The "core business" that qpcr was designed for is Delta-Delta-Ct analysis starting from raw Ct values. It offers automated processes to read datafiles, filter out outlier Ct values, compute Delta-Ct, normalise assays against one another, and visualise the results. Hence, qpcr offers a full suite for automated Delta-Delta-Ct analyses. However, even if your analysis is not going to be Delta-Delta-Ct, you may wish to check out how the qpcr.Readers might help you faciliate your workflow, as they are streamlined to read diversely structured datafiles contianing both a single and multiple qPCR datasets.

Example usage

A very simple analysis may start from a single excel file containing data of several qPCR assays, some of which are "assays-of-interest" and some of which are "normalisers" such as 28S rRNA. If we have performed a tiny bit of pre-processing on our datafile, our analysis may look like this:

import qpcr
from qpcr import stats as qstats

myfile = "todays_qPCR_run.xlsx"

# read the datafile
assays, normalisers = qpcr.read(myfile, multi_assay=True, decorator=True)

# we perform Delta-Delta Ct analysis
assays = qpcr.delta_ct(assays)
normalisers = qpcr.delta_ct(normalisers)

results = qpcr.normalise(assays, normalisers)

# at this point we can save our results to a file
results.save("./MyResults/")

# we can perform t-tests to compare the different groups (we can optionally select only specific pairs to compare)
qstats.assaywise_ttests(results, groups=[("wildtype (-)", "wildtype (+)"), ("knockout (-)", "knockout (+)")])

# and generate a preview that already includes the p-values of our t-tests
fig = results.preview()

colorful

Getting started

For more information about the API, checkout the documentation on Read the Docs. There you will also find a number of basic tutorials. You can also access the tutorials direcctly as jupyter notebooks in the Examples directory in this repository.

Customisability

A technical note at this point. At it's core qpcr offers very versatile data manipulation through two processing classes called the qpcr.Analyser and the qpcr.Normaliser. The qpcr.Analyser performs actions on a single qPCR datasets / assay stored in a qpcr.Assay object (the central data storage unit of the qpcr module). It is used to perform Delta-Ct computation. However, the precise function that it applies to the single Assay is customizable, so there is no restriction as such to what the Analyser will do to an Assay.

On the other hand the qpcr.Normaliser will perform actions on a single Assay using data from a second Assay. It is used to perform normalisation of assays-of-interst against normaliser-assays. However, here too the precise function that is applied to the Assay is customizable.

Citation

Kleinschmidt, N. (2023). qpcr - a python package for easy and versatile qPCR data analysis for small-scale datasets and high-throughput (Version 4.1.3) [Computer software]. https://github.com/NoahHenrikKleinschmidt/qpcr.git

Metadata

Release files for qpcr 4.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qpcr 4.1.4
File Size Uploaded
qpcr-4.1.4.tar.gz 147.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qpcr 4.1.4
File Interpreter ABI Platform
qpcr-4.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 316.2 kB

Release files / qpcr-4.1.4.tar.gz

Download URL qpcr-4.1.4.tar.gz
Size 147.0 kB
Tags Source
SHA-256 checksum
How to use checksums
92153c7102bf0cb89c7c10c4cc39737c6fad84f2b56b92ca48424620287226b7
BLAKE2b-256 checksum
How to use checksums
421b03119c30c82aab7800f0cf77ddf8290945a29f15b13bdab6876332d616f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / qpcr-4.1.4-py3-none-any.whl

Download URL qpcr-4.1.4-py3-none-any.whl
Size 169.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2bdff940a0c6f0cc5c8db6179e30cd39b854ade5069fb6a651fa86a37cbaa2ff
BLAKE2b-256 checksum
How to use checksums
18049d1a4c671b360bb6b09bbf6f3eeb1e039e00e8d2a36694638c6dc2d9421e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

4.1.4 This release

2 release files

4.1.3

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

2.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page