Repository navigation
docs(quant): dated quantification numbers; bench: ProteoBench submission options - #229
Merged
Merged
Conversation
The quant.fixed_scan_halfwidth and quant.fragment_selection reference text and docs/12 quoted 2026-08/10 measurements as current. Each now names its pipeline and ion filter, next to what 0.8.0 measures: 0.218 global / 0.294 species-weighted on ProteoBench Astral under the old filter (at least 2 runs per condition), and the walked against fixed window on fixed IDs. docs/12 also states that the second-pass trace pad is 4D-only, with the measured 3D clipping on ProteoBench Astral, and documents how the default observed_area top-3 rule compresses minor-species ratios under interference, with the predicted and cross_run arms. Regenerated docs/24 and configs/config-schema.json. No code or output change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d counts make_proteobench_submission.py gains three options. With none of them the output is the raw peptide_quant.quantity, byte-identical to the previous script on four fixed-ID reruns. - --quantity maxlfq submits the precursor table of the cross-run MaxLFQ output (lfq_maxlfq.parquet.precursor.parquet), mapped to each input by the experiment run index from experiment_manifest.json. - --quantity aligned aligns the replicates within each condition: per run, the median over its ions of log2 quantity minus the ion's condition mean. It reads no species label and cannot change composition or the offset between conditions. - --condition-gate keeps an ion's values in a condition only if one of its runs quantified the ion and identified it in the first pass at run_psm_q <= --gate-q (rule F1 of prov_filter.py), read from a first_pass_id column when the quant tables carry one, else from first_pass/scored_combined.parquet, so it works on existing runs. The last stderr line now gives the ProteoBench ion count and the finite-ratio count per species and condition pair (--summary-json writes the same), because the gate removes far more finite ratios than ions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Measured on four fixed-ID reruns: the MaxLFQ size factors move every ratio between conditions by one amount (species gaps unchanged, human median moved), and the within-condition offsets average to about zero per condition, so aligned changes the ratio of an ion mainly where a replicate is missing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its size factors differ between the runs of one condition as well, so on AIF it lowers the CV like the aligned option does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The summary line counted ions over HUMAN, YEAST and ECOLI flags for every module. The Low Input module maps only HUMAN and YEAST, so ions with an E. coli flag were dropped or treated as ambiguous and the count differed from ProteoBench's (43,240 against 43,229 on the Low Input rerun). --species sets the flags; the default is unchanged and the TSV is not affected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iven The run index fallback took the directory name of the resolved path, so a staged tree of links r<i>/peptide_quant.parquet pointing at quant-arm tables (pq_<i>.parquet) was refused. The path as given is tried first, the resolved path second; a path in the manifest is matched as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 28, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two changes that do not alter any engine output.
quant.fixed_scan_halfwidthandquant.fragment_selectionreference text and docs/12 quoted measurements of earlier pipelines as current. Each number now carries its pipeline version and ion filter. docs/12 states that the second-pass trace pad applies only to spectra with 1/K0, and adds "Fragment selection under interference", which documents how the defaultobserved_areatop-3 rule compresses the ratios of the minor species when fragments are interfered.bench/make_proteobench_submission.py. New options, defaults unchanged (with no option the output is byte-identical to the previous script):--quantity {raw,maxlfq,aligned}:alignedaligns the replicates within each condition (label-blind, cannot change composition);maxlfqsubmits the MaxLFQ precursor column, also aligned within conditions.--condition-gate: keeps an ion's values in a condition only if one of its runs has a first-pass identification atrun_psm_q <= 0.01, derived fromfirst_pass/scored_combined.parquet(or the first-pass flag column where present).Validation
--quantity rawwith no other option: byte-identical submission tables on the Astral, AIF and Low Input benchmark runs.python ci/check_doc_refs.pyandpython ci/gen_config_reference.py --checkpass locally; the Rust change is doc comments only.🤖 Generated with Claude Code