Expand description
Multi-sample quantitation over a koth-aligned matrix: correct the peptide->protein feature assignment using the across-sample intensity pattern, then emit a protein-group × sample abundance matrix.
uno is an ID + quant tool, not a stats framework. It stops at the abundance matrix; normalization, differential-expression testing, and interpretation are left to downstream tools (MSstats/limma/etc.), which take this matrix plus the experimental design. So there is deliberately NO design file, contrast, or FDR here — only the pieces that make the abundance values correct:
resolve_feature_competition— one feature quantifies for one protein (parsimony), so a minority peptide can’t measure a mass-coincident feature owned by an abundant background.profile_reassign— re-route a feature to the protein whose across-sample profile it tracks, fixing mass+RT ties the ID stage couldn’t (design-free: uses variation, not condition labels).group_abundance— sum each protein group’s assigned peptides per run.
Modules§
- directms1
- DirectMS1Quant two-condition statistics (reference port) and the uno
per-run evidence adapter. Exposed as
uno quant. Rust reimplementation of pinned DirectMS1Quant contrast analysis, part of uno-core. Adapted from Mark Ivanov’s Apache-2.0 implementation; see THIRD_PARTY.md.
Functions§
- feature_
winners - The one-feature-one-protein claim behind
resolve_feature_competition, on plain(feature, score)columns so per-run quantitative evidence can replay exactly the same rule. Returns the winning row indices in ascending (input) order. A feature goes to its highest-scoring row; ties keep the lower index; rows with a non-finite score never win. - group_
abundance - Protein-group abundance matrix — uno’s quant deliverable (design-free).
- profile_
reassign - Single-pass profile-guided reassignment (combines ID and quant).
- resolve_
feature_ competition - Feature-level competition for quant: each consensus feature may quantify for
only ONE protein — the best-scoring one whose peptide claims it. uno’s ID stage
already does this (parsimony: one peak → one protein), but the per-peptide
quant feature-pick discards it and lets any peptide grab any mass+RT match. On
a mixed proteome that means a minority-species peptide (e.g. E. coli) quantifies
on a mass-coincident feature owned by an abundant background protein, reading
its flat profile instead of the real signal. Replaying the claim here — a
feature goes to the peptide whose protein scores highest — drops those stolen
features, so the minority peptide falls back to its real feature or drops out.
prot_scoremaps (decoy, accession) → the protein’s binomial score (higher = more confident).