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 version

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: XX

Dependencies:

  • pandas,
  • scipy,
  • penguin,
  • matplotlib

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.1.0.tar.gz (26.1 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.1.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for nileredquant-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c7f260c7b30f10a58ab4f228af1bf55eac6b5cf40a0b2554c6e585b3eb438c86
MD5 c9e34db2c0a6efb553d93e51291b4a00
BLAKE2b-256 05e6902abf71b6aa36453f3c86e9fe989760aa2b527b12e166dcb4ca7f0971c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nileredquant-0.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e107a92ce7499acd00387bc3bd3b36e376edd1145c8f3ad7badb97be0778bc48
MD5 da0af0bdae76c96446c3f188a8396b5e
BLAKE2b-256 d480a9e15a3640009864642fdff3a8fd4ec55010be4759881c3209ead1453214

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