Repository navigation
Add a Samples page: PSMs, peptides and proteins per sample, by condition - #47
t0mdavid-m wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01D5Wo2FHPpi5a8X6GppNxEk
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
Update: the one re-run passed, so all checks on this PR are now green. Generated by Claude Code |
|
Included in #52, which is merged. Closing. Generated by Claude Code |
Before: there is no per-sample view. To check whether one run underperformed, you have to open each file's PSM table or compare abundance columns by eye.
After: a new Samples page under Workflow Results shows each sample's target PSMs, peptides, identified proteins, and quantified proteins and peptides, grouped by the conditions set on the Configure page.
In TMT mode, each sample is a channel and the page shows the proteins quantified per channel. Identifications are per file, so the page points to the Overview page for those (#46).
How:
src/common/samples.pyis Streamlit-free. It counts from what the run already wrote: the IDFilter idXMLs (top hit per spectrum, decoys left out, so counts are at the run's PSM FDR) and the ProteomicsLFQ CSV (intensity above 0).Validation:
tests/test_samples.pyhas 3 tests: decoy exclusion, condition ordering with missing and zero-intensity samples, and TMT channels with the condition summary.pytest tests/passed 117 tests.pylint --errors-onlyis clean on the changed files.Note: #42, #43 and #46 also add lines to
app.py's "Workflow Results" list. Whichever merges later needs main merged in.Generated by Claude Code