mrbles.report module

Quality Control Report Classes and Functions

This file stores the quality control report classes and functions for the MRBLEs Analysis module.

class mrbles.report.BeadsReport(data, images, masks, assay_channel, codes=None, files=None, sort=True)[source]

Bases: future.types.newobject.newobject

Per-MRBLE images report.

This method generates the selected images per-MRBLE.

This method can take a lot of time, since it will generate images per-MRBLE. It takes about 5 minutes per 1,000 beads, for 12 images each, which makes a total of 11,000 images.

Parameters:
  • data (Pandas DataFrame) – Contains all the dimension, posotional, and intensity data per-MBRLE.
  • images (mrbles.ImageDataFrame, Xarray DataArray) – Contains images.
  • masks (Xarray DataArray) – Contains masks.
  • assay_channel (str) – Assay channel name, e.g. ‘Cy5_FF’
  • codes (int, list of int) – Integer or list of integers with selected codes. Defaults to None.
  • files (int, list of int) – Integer or list of integers with selected files. Defaults to None.
  • sort (boolean) – Sort by code. Defaults to True.
  • Methods
  • ——–
  • generate() (method)
Variables:
  • time_sec (float) – Time required per-image generated in seconds. For instance, 300 beads times 12 images is 3600 images. Defaults to 0.0275
  • parallelize (boolean) – Wether to use parallelization. Can be slowing down on low-power computers. Defaults to True.
generate(filename)[source]

Per-MRBLE images report.

This method generates the selected images per-MRBLE.

This method can take a lot of time, since it will generate images per-MRBLE. It takes about 5 minutes per 1,000 beads, for 12 images each, which makes a total of 12,000 images.

class mrbles.report.ClusterCheck(decode_object, *args, **kwargs)[source]

Bases: mrbles.data.TableDataFrame

Cluster check reporting.

plot_2D(colors, ci_trace=None, min_prob=None)[source]

Plot 2D clusters.

plot_3D(min_prob=None)[source]

Plot ratio clusters in 3D.

Parameters:min_prob (float) – Set minimal probability level.
static scatter(data, target, codes=None, title=None, axes_names=None)[source]

Plot clusters in scatter plot 2D or 3D.

class mrbles.report.GenerateCodes(colors, s0s, slopes, nsigma)[source]

Bases: future.types.newobject.newobject

Generate bead code set.

Parameters:
  • colors (list of str) – List of coding colors in a list of strings.
  • s0s (liat of float) – List of standard deviations (SD) at intensity 0 for each encoding color.
  • slopes (float) – List of slopes of the SDs versus intensity for each encoding color.
  • nsigma (float) – The number of SD to separate coding levels.

Examples

>>> code_set_gen = GenerateCodes(['Dy', 'Sm', 'Tm'],
                                 [0.0039, 0.0055, 0.0029],
                                 [0.022, 0.016, 0.049], 6.4)
>>> code_set_gen.result
           Dy        Sm        Tm
0    0.000000  0.000000  0.000000
>>> code_set_gen = GenerateCodes(['Dy', 'Sm'],
                                 [0.0039, 0.0055],
                                 [0.022, 0.016], 8.4)
>>> code_set_gen.generate()
Number of codes:  24
>>> code_set_gen.result
          Dy        Sm
0   0.000000  0.000000
1   0.000000  0.106747
2   0.000000  0.246642
......................
>>> code_set_gen.iterate(28)
....................
Number of codes:  26
Number of codes:  26
Number of codes:  28
Final nsigma:  8.09
Iterations  :  31
axis

Return number of axis (colors).

colors

Return color names.

generate(nsigma=None, depends=None)[source]

Generate codes with default nsigma or given nsigma.

Parameters:
  • nsigma (float, optional) – The number of SD to separate coding levels. Defaults to initial nsigma.
  • depends (any, experimental, optional) – Used for Tm (3rd in array) dependence on Dy (1st array).
static get_levels(std0, slope, nsigma)[source]

Predict the number of levels of a coding color.

The coding levels are based on s0, the standard deviation (SD) at intensity 0, and the slope between intensity and SD.

Parameters:
  • std0 (float) – The SD at intensity 0.
  • slope (float) – The slope of the SD versus intensity.
  • nsigma (float) – The number of SD to separate levels.
Returns:

levels – Returns list of codes values for a given coding color.

Return type:

list of float

iterate(num, nsimga_start=None, nsigma_step=0.01, max_iter=1000)[source]

Iterate nsigma until number of codes are found.

Does not work with dependence, such as Tm dependence on Dy.

Parameters:
  • num (int) – Number of required codes.
  • nsigma_start (float, optional) – Start value of nsigma. Defaults to initial nsigma.
  • nsigma_step (float, optional) – Iterarion step. Defaults to 0.01
  • max_iter (int, optional) – Maximum iteration steps. Defaults to 1000.
levels

Return number of levels.

static recursive_looper(iterators, pos=0)[source]

Recursive looper.

Implements the same functionality as nested for loops, but is more dynamic. Iterators can either be a list of methods which return iterables, a list of iterables, or a combination of both.

result

Return resulting ratios.

to_csv(filename)[source]

Export to CSV.

to_csv_rep(filename, repeats, labels=None, pos=True)[source]

Export to CSV, with repeated ratios for bead synthesis.

class mrbles.report.PeptideScramble(seq)[source]

Bases: future.types.newobject.newobject

Randomizes amino acid sequence

Parameters:seq (string) – Inset amino acid sequence as a string.
Returns:seq – Returns string of shuffled amino acid sequence.
Return type:string
random(seq=None)[source]

Return randomized amino acid sequence.

class mrbles.report.QCReport(data)[source]

Bases: future.types.newobject.newobject

MRBLE library Quality Control report.

Parameters:data (Pandas DataFrame) – Per beads data.
assay_contamination(pdf_object)[source]
bead_size()[source]

Bead size distribution plot.

beads_per_code()[source]

Beads per-code distribution plot.

code_stability()[source]
generate(filename, savefig=False)[source]

Generate QC report.

Parameters:
  • filename (str) – Filename to save QC PDF report to.
  • savefig (boolean) – Save figures separately to ‘report’ folder. Defaults to False.
html_report()[source]

Generate HTML report.

npl_covar_plots()[source]
npl_plots(pdf_object)[source]
mrbles.report.circle_overlay(image, dims=None, ring=None)[source]

Circle Overlay Image.

Overlay image with circles of labeled mask.

mrbles.report.image_overlay(image, image_blend, alpha=0.2, cmap_image='Greys_r', cmap_blend='jet')[source]

Overlay 2 Images. Overlay of 2 images using alpha blend.