Qpcr

Latest version: v4.1.3

Safety actively analyzes 623677 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

3.1.5

New Features in this Version

Assays and Efficiency
Efficiency is now directly handled by the `qpcr.Assay` objects (`qpcr.Analyser` can still receive `.efficiency()` as before, but this will be dropped at some point...)

New `qpcr.Calibrator` class
The new `qpcr.Calibrator` allows calculation of qPCR primer efficiencies based
a dilution series. It is able to work either with an entire assay as input or with
just a subset of specially labeled replicates and can compute, store, save, and load and later assign pre-computed efficiencies from and to `qpcr.Assay` objects.

New `EfficiencyLines` Plotter
Accompanying the `Calibrator` is a new plotter that can visualise the linear regression performed during efficiency computation, similar to how the `FilterSummary` plotter can summarise the workings of the `qpcr.Filters`.

New Plotting shortcuts
A `Plotters.PreviewResults` can now directly be called from `qpcr.Results` without having to import and setting up manually. The new `qpcr.Results.preview()` method calls on `PreviewResults` object to plot the stored data and returns the produced figure.

The same goes for a `Plotters.ReplicateBoxplot` which can be called from a `qpcr.Assay` directly via `qpcr.Assay.boxplot()`.

Also, the `qpcr.Calibrator` is equipped with a `qpcr.Calibrator.plot()` method to
call `Plotters.EfficiencyLines`.

v.3.1.2
This update introduces support for new pre-implemented normalisation methods as well as new Plotters.

Normalisation mode
Up to now the `Normaliser` by default strictly paired replicates by their order (1st - 1st, 2nd - 2nd, etc.). In addition to this `pair-wise` normalisation, two new normalisation modes are now available to account for equivalence between replicates in cases where they were pipetted separately and there is no strict reason to link replicates in such a fashion. These modes are `combinatoric`, which computes combinations of 1st-1st, 1st-2nd etc., and `permutative`, which approximates combinatoric computation through iterative permutations in cases where datasets may be large and combinatoric computation is therefore undesired.

Dot Plots
New Plotters are introduced that show the individual normalised fold changes in dot plots rather than as mean + stdev. Optionally, violins can be added to aid visualising the distribution. New Plotters implemented for this are `AssayDots` and `GroupDots`.

Group-Plotters and Assay-Plotters
Up to now, by default separate assays were displayed in separate subplots, with the replicate groups plotted on the x-axis. Now, another option is introduced wherein the separate groups are displayed in subplots and assays on the x-axis. The two grouped-kind Plotters are `GroupBars` and `GroupDots`, which visualise the results either in bar charts or as dot plots. Their equivalents are `AssayBars` (which is the same as the default `PreviewResults`) and `AssayDots`.

More versatile `PreviewResults`
To allow more easy interaction with the new plotters, `PreviewResults` is now a wrapper that can call on any Plotter that displays a preview of the results: `AssayBars`, `AssayDots`, `GroupBars`, `GroupDots`. `AssayBars` has now taken over the core role that was previously held directly by `PreviewResults` and this is now the default mode, so the main behaviour of `PreviewResults` remains unchanged.

Filter-NaN
A bug was fixed that caused Filters to crash when encountering all-NaN groups. Also, Filters now by default set outliers to NaN instead of completely removing the entries (this behaviour can be changed, however).

FilterSummary Class
A new Plotter dedicated to visualising Filtering is now available and replaces the previous setup of two consecutive `ReplicateBoxPlots`. The new `FilterSummary` figure displays separate assays in separate subplots and offers two boxes for each replicate group next to each other, one showing the data pre-filtered and one post-filtered. 

Bugfixes
Some other small bugs were fixed as they were discovered.

3.1.1

This update introduces support for a new type of Big Table, as well as a filetype independent Parser. Furthermore, Plotter default settings were slightly adjusted, which only affects the Figure's default labelling, however.

New "hybrid" Big Table support
"Hybrid" Big Tables store their replicate identifiers in a dedicated column, while storing Ct values for separate assays in side-by-side columns. Hence, they combine aspects from horizontal and vertical big tables. Support for this data arrangement was added as a feature of the `BigTableReader`.

Extended "regular" file support
Regular files may now also store additional data columns apart from replicate identifier and Ct values. However, in this case column names must be supplied while reading. Furthermore, users may now force reading a file as "regular" using `is_regular = True` (this only works for the `SingleReader`) to prevent the Reader from calling Parsers. This was primarily implemented to avoid the Parser-generated assay_pattern related error messages from regular files when the true reason for failure were wrong specified column names.

The `ArrayParser`
The `ArrayParser`, contrary to the already existing `CsvParser` and `ExcelParser`, does does not rely on a specific filetype but adopts an existing `numpy.ndarray` using its `read` method.

New `id_label` and altered id handling.
Objects are identified by `qpcr` through their `id` attribute. The `id` attribute is now supported by a secondary id named the `id_label`, which can be arbitrarily set or automatically generated by splitting the actual `id` using simple string operations or regex matching. To that end new methods `id_label` , `split_id` , and `merge_id` are introduced and are available for all `qpcr` classes that inherit from the auxiliary `_ID`. `id_label` and `id` can be repeatedly switched using `id_to_label`. Also, a merged id can be generated without the object adopting it using `get_merged_id`. Finally, `id_reset` (which must be called before a new object id can be set) is now a public method.
This was done in an effort to allow more facilitated comparison of transcript isoform assays, which is a planned feature of a future release.

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.

2.1.0

The first stable release of the new `qpcr` module.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.