Second Release (v.3.1.0)
This is the second release of qpcr
and a major update.
The code has been extensively refactored, while the general end-user usability has remained virtually unchanged.
The qpcr.Assay
object takes up a much more prominent role within the code, and receiving new functionalities to
allow easier use. Additionaly, a number of completely new features have been introduced that greatly expand qpcr
's capacities.
New features
1. Support for multi-assay datafiles
The new qpcr.Readers
submodule now specifies dedicated Reader
classes that are able to read and extract data from csv
and excel
files that contain a single or multiple qPCR assays. To read such "irregular" datafiles, these Readers make use of the also newly added qpcr.Parsers
that parse and extract data using numpy
.
A new central hub for data reading has been introduced in the form of the qpcr.DataReader
which replaces the old SampleReader
.
2. Replicate inference
Information about the groups of replicates can now be automatically inferred by a qpcr.Assay
object provided that all replicates of a group share the same replicate identifier. If this is the case, also the group names are automatically inferred. Nevertheless, replicates can still be manually provided. To further ease manual replicate settings for large numbers of irregular group sizes a new "formula"
method was added to avoid having to specify a long tuple manually.
3. New Pipelines
Two new pipelines have been introduced, called Blueprint
and ddCt
. The Blueprint
pipeline allows access to the same workflow as the BasicPlus
pipeline but also allows customisation of the Analyser
, Reader
, and Normaliser
that is used. The ddCt
pipeline on the other hand does not work directly with datafiles but requires qpcr.Assay
objects directly. This is especially powerful when reading data from a mulit-assay file, which are currently not supported by Basic
-style pipelines (including Blueprint).
4. New predefined anchors
The qpcr.Analyser
now natively supports using the mean
of the reference group and will not require an externally computed value to achieve this. Furthermore, a user-defined function
can now also be set as anchor
to compute a custom anchor.
Also a bug that rendered the "grouped"
anchor non-functional was fixed.
5. Filter nan
policy
qpcr.Filters
used to crash when encountering an all-nan group of replicates. This can now be suppressed.
6. Plotters
Interactive PreviewResults figures now support padding between subplots. Also, the default style of static PreviewResults figures was changed.
7. Big Fixes
Some more bugs were fixed as they noticed.