Rust-backed directLFQ quantification for DIA-NN report.parquet and generic TSV inputs
Project description
directlfq_rs
directlfq_rs is a Python package that exposes a Rust implementation of the
core directLFQ protein quantification workflow.
This repository is a mixed Rust/Python project with a split architecture:
- the PyO3 binding crate and Python packaging live at the repository root
- the Rust quantification core lives in
crates/directlfq-core
It is intended for fast label-free quantification from:
- DIA-NN
report.parquetfiles - Generic wide TSV matrices with
protein,ion, and sample columns
The package currently focuses on the programmatic API rather than the full
feature surface of the original Python directlfq package.
Features
- Native Rust execution for the main LFQ pipeline
- Direct DIA-NN
report.parquetinput support - Generic TSV fallback for preformatted inputs
- Optional pandas DataFrame convenience wrapper
- Packaged type stubs for IDE signature and type rendering
Repository Layout
directlfq-rs/
├── pyproject.toml
├── Cargo.toml # PyO3 binding crate + workspace root
├── directlfq_rs/ # Python package
├── src/ # PyO3 Rust bindings
├── tests/ # Python-side tests
└── crates/
└── directlfq-core/ # Rust quantification core crate
Installation
Install from PyPI:
pip install directlfq_rs
If you install from a source distribution, a Rust toolchain is required during build.
Python Version Support
The package is built with PyO3 abi3-py310, so one wheel per platform supports
CPython 3.10 and newer Python 3 releases. The release workflow currently smoke
tests Python 3.10, 3.11, 3.12, 3.13, and 3.14.
Release Builds
GitHub Actions builds release artifacts for:
- Linux x86_64 and aarch64
- macOS universal2
- Windows x64
- source distribution
Publishing uses PyPI Trusted Publishing from the Build and Publish workflow
and the pypi GitHub environment.
Python API
File-path API
from directlfq_rs import quantify
results = quantify("report.parquet")
print(results["P001"])
quantify() returns a dict[str, list[float | None]] mapping each protein ID
to its per-sample protein intensities in linear space.
DataFrame API
import pandas as pd
from directlfq_rs import quantify_dataframe
df = pd.DataFrame(
{
"protein": ["P001", "P001"],
"ion": ["I1", "I2"],
"sample_0": [100.0, 120.0],
"sample_1": [200.0, 240.0],
}
)
protein_df = quantify_dataframe(df)
print(protein_df)
Supported Inputs
DIA-NN report.parquet
For DIA-NN output, .parquet input is auto-detected and parsed as a precursor
report.
Generic TSV
For generic wide-table input, the expected shape is:
- one protein column
- one ion column
- one or more sample columns in linear intensity space
Empty cells are treated as missing values.
Scope
This package ships the Rust-backed quantification core and a compact Python API.
It does not aim to mirror every workflow and helper exposed by the upstream
directlfq package.
License
This project is licensed under the MIT License.
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 Distributions
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 directlfq_rs-1.0.0.tar.gz.
File metadata
- Download URL: directlfq_rs-1.0.0.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13027d0ccc360176c28ff64cbd9e74f60a5ef73e68841e3a0ec5d42816dacc2e
|
|
| MD5 |
e41994fae8a78f42aa308f67cb03b541
|
|
| BLAKE2b-256 |
21af2324f547daf0336ea173cd8f30095f7a949b6c46b2aa776c761eef4dc101
|
Provenance
The following attestation bundles were made for directlfq_rs-1.0.0.tar.gz:
Publisher:
release.yml on wenjiudaijiugui/directlfq-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
directlfq_rs-1.0.0.tar.gz -
Subject digest:
13027d0ccc360176c28ff64cbd9e74f60a5ef73e68841e3a0ec5d42816dacc2e - Sigstore transparency entry: 1361548077
- Sigstore integration time:
-
Permalink:
wenjiudaijiugui/directlfq-rs@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/wenjiudaijiugui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Trigger Event:
release
-
Statement type:
File details
Details for the file directlfq_rs-1.0.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: directlfq_rs-1.0.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9064946e4a5a5b436a8a4bfef8499ec74247caed6ad6eb530acc60dc3de8b262
|
|
| MD5 |
007614b9262226ddbd68904737fd47b5
|
|
| BLAKE2b-256 |
c48612b9387498d93f4484a1cea79964a7146e2e2f8dd01edc211985215f8489
|
Provenance
The following attestation bundles were made for directlfq_rs-1.0.0-cp310-abi3-win_amd64.whl:
Publisher:
release.yml on wenjiudaijiugui/directlfq-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
directlfq_rs-1.0.0-cp310-abi3-win_amd64.whl -
Subject digest:
9064946e4a5a5b436a8a4bfef8499ec74247caed6ad6eb530acc60dc3de8b262 - Sigstore transparency entry: 1361548119
- Sigstore integration time:
-
Permalink:
wenjiudaijiugui/directlfq-rs@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/wenjiudaijiugui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Trigger Event:
release
-
Statement type:
File details
Details for the file directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8f07863e234954d948da57018d5fa88df8ed30329c2f4ac298214186ec02724
|
|
| MD5 |
a3eac5c98d167483dd50db90da489eb9
|
|
| BLAKE2b-256 |
c4e4f6f7138287ba6d0c71ca2db302f71b98dfcf7b707209e409ebbaa6732419
|
Provenance
The following attestation bundles were made for directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on wenjiudaijiugui/directlfq-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c8f07863e234954d948da57018d5fa88df8ed30329c2f4ac298214186ec02724 - Sigstore transparency entry: 1361548089
- Sigstore integration time:
-
Permalink:
wenjiudaijiugui/directlfq-rs@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/wenjiudaijiugui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Trigger Event:
release
-
Statement type:
File details
Details for the file directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62cf60212bb345fe55a471bbf91b76aeea5a90e7e76781a507c1d3596bd6880a
|
|
| MD5 |
c8d4483e7bdd40d65d5f3894103050d8
|
|
| BLAKE2b-256 |
9b684e515b7d795e2911e3e9d88fd3d33f37ca862a56fb3143975ea841cd8140
|
Provenance
The following attestation bundles were made for directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on wenjiudaijiugui/directlfq-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
directlfq_rs-1.0.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
62cf60212bb345fe55a471bbf91b76aeea5a90e7e76781a507c1d3596bd6880a - Sigstore transparency entry: 1361548106
- Sigstore integration time:
-
Permalink:
wenjiudaijiugui/directlfq-rs@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/wenjiudaijiugui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Trigger Event:
release
-
Statement type:
File details
Details for the file directlfq_rs-1.0.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: directlfq_rs-1.0.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.10+, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa0aab96a4745a11b1b3157eace2b176220e51e30bc4544135519713c61ed2df
|
|
| MD5 |
501a8f12508321c10ece854b14b38cf5
|
|
| BLAKE2b-256 |
a329596410fbb5bf7cd83bacd9c99673dffd8bc6ef682d6ec92997662d087597
|
Provenance
The following attestation bundles were made for directlfq_rs-1.0.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:
Publisher:
release.yml on wenjiudaijiugui/directlfq-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
directlfq_rs-1.0.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl -
Subject digest:
aa0aab96a4745a11b1b3157eace2b176220e51e30bc4544135519713c61ed2df - Sigstore transparency entry: 1361548146
- Sigstore integration time:
-
Permalink:
wenjiudaijiugui/directlfq-rs@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/wenjiudaijiugui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c239069b63cf90f786e9650c299c2dd9aa302dcd -
Trigger Event:
release
-
Statement type: