App description
Project description
lux_noctis
lux_noctis is a Python package for the quality control (QC), processing, and differential analysis of proteomics data, designed primarily to work with outputs from FragPipe.
This package provides a comprehensive pipeline, encapsulated in the LuxFragPipeProtein class, to load FragPipe results, perform pre-processing (normalization, imputation), conduct statistical analysis (limma t-test), and generate a wide array of publication-ready visualizations. It also includes a Go class for performing Gene Ontology (GO) enrichment analysis on the results.
Core Features
- FragPipe Integration: Natively handles FragPipe outputs for both DDA (
iq_dda) and DIA (diann_dia) workflows. - Data Pre-processing: Includes methods for filtering (by peptide count, quantile threshold), log transformation, median normalization, and min-value imputation.
- Statistical Analysis: Implements a wrapper for the
limmaBayes moderated t-test to perform robust differential abundance analysis. - GO Enrichment: A dedicated
Goclass to run Gene Ontology enrichment analysis on differentially abundant protein sets, complete with helpers to download GAF and OBO files. - Comprehensive Visualization: Generates a wide range of interactive (Plotly) and static (Matplotlib/Seaborn) plots:
- PCA Plots
- Correlation Clustermaps
- Interactive Volcano Plots
- MA Plots
- Intensity Distribution Boxplots
- Coefficient of Variation (CV) Histograms
- Upset Plots (for protein ID distribution)
- Membrane Enrichment Plots
- Helper Utilities: Includes functions to download the latest UniProt annotations and "Surfy" (surfaceome) protein lists.
Development Setup
This repository is configured for a containerized development environment using Docker, managed by simple shell scripts. This ensures all dependencies (including Python, R, and system libraries) are correctly configured.
Requirements
- Docker
Getting Started
-
Clone the repository:
git clone [your-repo-url] cd lux_noctis
-
Start the development container:
./start_dev.sh
This script builds the Docker image, sets up a user with permissions matching your host user, and drops you into a
bashshell inside the container. The project directory is mounted at/App. -
Install pre-commit hooks (First time only): Inside the container's shell:
pre-commit installThis will ensure your code is automatically formatted and linted (using
black,flake8,isort, etc.) before each commit. -
Develop: You can now edit files on your host machine using your preferred IDE, and all changes will be reflected inside the container. Run your tests and scripts from within the container's shell.
-
Stop the container: From your host machine (in the project directory):
./stop_dev.sh
This script stops and removes the Docker container.
Package Installation (User)
To use lux_noctis as a package in your own environment (outside the provided Docker setup), you will need Python 3.13+ and R.
You can install it directly from the source:
# Install the package
pip install .
# Or, install in editable mode with dev dependencies
pip install -e .[dev]
Dependencies
This package relies on dousatsu.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lux_noctis-0.2.0.tar.gz.
File metadata
- Download URL: lux_noctis-0.2.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a677776c3bcf8782a6441e68a148bc30ebf94dd0cd242739ee88be51975c3cc
|
|
| MD5 |
1d576a6aac3eb3574aade2f72ed77dfc
|
|
| BLAKE2b-256 |
13d98ff7ade16b2714e8d7a5037c3c970144b567dfcc4df76e09537eac3f5ca1
|
File details
Details for the file lux_noctis-0.2.0-py3-none-any.whl.
File metadata
- Download URL: lux_noctis-0.2.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2424e3ccd4ced45f29688fafd893c7d9ed8f3c3db43c48adc754dd67b7638d72
|
|
| MD5 |
2f4a03f4dc734d4288a3ef937fc716bc
|
|
| BLAKE2b-256 |
7eddcffd0267462404acb6ba2f77940fdaeea839bb329ea4ccb8a4f1f428bc10
|