Skip to main content

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

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

    • Import .csv, .tsv, or .xlsx files;
    • convert between microtiter plate layouts and long (tidy) format;
    • attach metadata.
  2. Blank & background fluorescence handling

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

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

Subtract background fluorescence intensity and compute the fluorescence signal as:

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

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

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

Variance stabilisation:

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

  1. Plate-level QC

    • Detect outliers per Strain × Condition using one of the implemented methods IQR (default), Z-score or MAD-median available.
    • Provide convenience plots (histograms, strip+box, strip+violin, QQ-plot, heatmaps) to review data quality.
  2. Standard-curve fitting & method agreement (optional) Calibrate NileRedQuant Lipids signal to a reference method per Condition. The method='auto' selects among implemented linear regressions:

    1. 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.
    2. 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).
    3. 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 (coming soon).

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

Installation

PyPI:

   pip install nileredquant

Developers:

  # 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)

Quick Start

  # Import `NileRedQuant`
  from nileredquant import utils, analyse, standard_curve, qc

Import data:

  # 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 & compute the Lipids & Log(Lipids) 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.2.tar.gz (5.1 MB 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.2-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for nileredquant-0.2.2.tar.gz
Algorithm Hash digest
SHA256 b3956ab97d39bfee6d2dcc86e67344f03f23a9b9c2df5a4ab0b6849909c3f7a9
MD5 bf85b2f1ea33a40031c8ee3acc532a2b
BLAKE2b-256 54427c76cc152a908ab1215ed118ad6bb5f58ff4a8d7108ab8695cd9a9940e3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nileredquant-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9c8a44f990177cf3459494b9d12f41df41602567864fc7f55a87164db186d42b
MD5 aca5acbe432e8d96649f34c9b94165bb
BLAKE2b-256 2052a0a2aca94188546e1ac6a948f2f083aa47e3802ae73ff1360d870564b2f7

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