Skip to main content

Tool for automated quantification of lipid accumulation in yeasts based on the Nile Red plate assay

Reason this release was yanked:

old

Project description

NileRedQuant — Tool for Automated Neutral Lipid Quantification in Yeasts

Table of Contents

Overview

NileRedQuant is a tool designed for automated analysis and data processing of Nile red-based plate assays used to quantify neutral lipids in yeasts.

It provides an analysis pipeline to turn raw fluorescence intensities into quality-checked, biomass-normalized lipid readouts, with optional calibration to a reference method (e.g., Gravimetric analysis, TLC, …) for lipid content prediction. NileRedQuant supports both 96-well and 384-well assay formats, offering increased throughput and flexibility.

Starting from plate reader exports, it imports and reshapes data, subtracts 'blanks' and background fluorescence intensities, normalizes the fluorescence signal to biomass (Absorbance) providing the Lipid signal and flags outliers per Strain × Condition.

The module standard_curve() offers optional calibration of control strains/individuals against a reference method to compute predicted lipid content.

Key features

  1. I/O & plate utilities

  2. Import .csv, .tsv, or .xlsx files;

  3. convert between microtiter plate layouts and long (tidy) format;

  4. attach metadata.

  5. Blank & background fluorescence handling

  6. Subtract blank absorbance per Condition using either a numeric value(s) or a designated string label in Strain column.

$$ Absorbance = Abs - Abs_{blank} $$

  1. Subtract background fluorescence intensity and compute the fluorescence signal as:

$$ Fluorescence = FI_{fp} − FI_{bg} $$

  1. Biomass normalization & variance-stabilisation
  2. Derive the Lipid signal as:

$$ Lipids = \frac{Fluorescence}{Absorbance} $$

  1. Variance stabilisation:

$$ Ln(Lipids) = Ln(\frac{Fluorescence}{Absorbance}) $$

  1. Plate-level QC

  2. Detect outliers per Strain × Condition using one of the implemented methods IQR (default), Z-score or MAD-median available.

  3. Provide convenience plots (histograms, strip+box, strip+violin, QQ-plot, heatmaps) to review data quality.

  4. Standard-curve fitting & method agreement (optional) Calibrate NileRedQuant Lipids signal to a reference method per Condition. The method='auto' selects among implemented linear regressions:

  5. ODR (errors-in-variables / Deming) when both axes have replicate SE or a stable variance ratio $\lambda = \frac{\sigma_x^2}{\sigma_y^2}$ can be estimated.

  6. WLS when all reference groups (Strain × Condition) are singletons, and for each group the within-group variance of the reference method can be computed. WLS uses weights proportional to its inverse: ($\text{weights} \propto n/\text{variance}$).Falls back to OLS if weights aren’t available (variance missing or fewer than 3 positive, finite weights remain).

  7. Passing–Bablok (non-parametric, robust) fallback method when not enough SE on both axes or no stable λ are available.

Outputs include per-Condition slope/intercept, predictions written back to your data, and optional standard-curve & Bland–Altman plots.

Citing

Please cite the peer-reviewed article describing full methodological details and validation of NileRedQuant.

[Authors] (2025). NileRedQuant: Automated analysis and calibration of Nile red plate assays for neutral lipid quantification in yeasts. Link text - doi

Installation

Users (PyPI)

   pip install nileredquant

Developers (editable install)::

  # Clone the repo
   git clone https://github.com/zganjarmia/NileRedQuant
   cd NileRedQuant

   # Create a separate environment & install
   python -m venv .venv && source .venv/bin/activate
   pip install -e .

Supported Python versions: 3.9–3.11

Dependencies:

  • pandas (≥2.2.0),
  • scipy (≥1.11.4),
  • penguin (≥0.5.3),
  • matplotlib (≥3.8.0)
  • openpyxl (≥3.1.2)

Quickstart

Import NileRedQuant

  from nileredquant import utils, analyse, standard_curve, qc
  # Import data .csv file
  data = utils.read_file(filename="./raw_data.csv")

  # Or Excel
  data = utils.read_file(
    filename="./raw_data.xlsx",
    sheet_name=None  # <-- First sheet is taken, if column name not provided
  )

Analayse the data and compute the Lipids [RFU] & Log(Lipids) [Log[RFU]] variables.

  # `B` value represents the unique identifier of the `Blank` in `Strain` column.
  data, data_wo_outliers, outilers =  analyse.analyse(
    filename=data,  # Can be either Path or pandas.DataFrame
    blanks="B",
    contamination_thr=0.2,
    outlier_method='IQR',
    outlier_columns=['Lipids'],   # detect outliers only in the `Lipids` variable
    save = True)

Prepare standard curve of control strains & predict values for other strains in data frame.

  # Import data of reference method (e.g. gravimetric, TLC, ...)

  data_reference_method = utils.read_file(filename="./data_example_reference_method.csv")

  # Fit standard curve & predict
  data_predicted, agreement_table =  standard_curve.fit_standard_curve(
    df_method1=data,
    df_method2=data_reference_method,
    m1_column='Lipids',
    m2_column="TLC_mg/gCDW",
    method='auto',
    plot=True,
    save=True,
  )

See usage_examples/ for more details.

Documentation

The API reference is available in the usage_examples/00_API.html file.

Browse the usage_examples/ directory for end-to-end workflows and function-level demos. Each example is self-contained and runnable with the provided data once dependencies are installed.

License

MIT © 2025 Mia Žganjar. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nileredquant-0.2.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nileredquant-0.2.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file nileredquant-0.2.0.tar.gz.

File metadata

  • Download URL: nileredquant-0.2.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for nileredquant-0.2.0.tar.gz
Algorithm Hash digest
SHA256 61905a790d95b036dac0e61e49dada743642591199d76f1744243c31f868b2cd
MD5 3b5aa02ad5f6494a3e120d09324a5b25
BLAKE2b-256 da0609e3bb4484af0937cebb4f5861df876c6f5d286a771d4ae9f1c02a0b6abb

See more details on using hashes here.

File details

Details for the file nileredquant-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nileredquant-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for nileredquant-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ac23ba38d5cde171ff1fc4653d1ac630483ce23a05ee86db025b0ab1da5b649
MD5 809606680a98e13add0b8fd5dc4b225a
BLAKE2b-256 e2de95f68aa83cf0fc95ea165520ba59d8a8b7a07835fd384bf5c2027322a569

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page