OpenDDA: LFQ/TMT quickstart, decoy detection, PSM FDR level, installer link - #34
Draft
t0mdavid-m wants to merge 3 commits into
Draft
t0mdavid-m wants to merge 3 commits into
t0mdavid-m wants to merge 3 commits into
Conversation
…r link - Quickstart presents OpenDDA with both LFQ and TMT workflows; app-name is now OpenDDA. - Abundance page: remove the stray, empty tab row above the real tabs, which left the PSM tab showing the protein-level table heading. - Installer: Docker images download OpenMS-App.zip from quantms-web releases instead of streamlit-template; repository-name and the Windows Readme link point at quantms-web. - Decoys: generation stays on by default, but is switched off (once per selected database) when the FASTA already has DECOY_/rev_/... entries, and the detected prefix becomes Comet's decoy_string. TMT Percolator and ProteinInference now receive the upstream decoy string too. - New "PSM FDR level (%)" setting drives IDFilter's q-value cutoff in LFQ and TMT; 100% skips the filter and passes PSMs through. - Port from streamlit-template: full-precision float inputs (%g) and local-only file picking on local installs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C37vTrifAfq9uazSL7UUAR
#36 rewrites content/results_abundance.py for insight tables and removes the same duplicated tab row, so this PR no longer touches the file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C37vTrifAfq9uazSL7UUAR
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C37vTrifAfq9uazSL7UUAR
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.
Requested by Tom · project thread
Before: the quickstart described only label-free quantification. The "Download for Windows" button served the streamlit-template installer, because the Docker images pulled
OpenMS-App.zipfrom streamlit-template releases. Fragment tolerance could only be entered to two decimals. Local installs showed the browser upload widget. Decoy generation was always on, even for FASTA files that already contain decoys. The PSM FDR could only be set through IDFilter's raw score fields.After:
OpenMS/quantms-webreleases (theOpenDDA-*releases carryOpenMS-App.zip).repository-nameand the Windows Readme link point at quantms-web.DECOY_,decoy_,rev_,REV_,XXX_orreversed_entries. The detected prefix becomes Comet'sdecoy_string. This happens once per database, so a user's own choice is kept. TMT Percolator and ProteinInference now receive the upstream decoy string as well; before, they hard-codedDECOY_while the generated decoys usedrev_.The Abundance page's duplicated tab row, which made the PSM tab show the "Protein-Level" heading, is fixed in #36. That PR rewrites the page, so this PR leaves
content/results_abundance.pyalone to avoid a conflict. Both PRs sharesrc/WorkflowTest.py, so whichever merges second may need a merge from main.How: decoy detection is a cached scan of the FASTA headers (
detect_decoy_prefix).apply_decoy_default()runs fromconfigure(), and the FASTA selector is now reactive so it follows changes.filter_psms()wraps IDFilter for both modes.Notes:
repository-namealso names the local workspace folder, which moves from../workspaces-streamlit-templateto../workspaces-quantms-web. Workspaces from earlier local runs will not show up automatically.Tests:
python -m pytest test_gui.py tests/passes (102). The upload and configure pages render under AppTest. Decoy auto-detection was checked with a FASTA containingDECOY_entries: the checkbox turns off,decoy_stringis set toDECOY_, and a later manual override is kept.🤖 Generated with Claude Code
https://claude.ai/code/session_01C37vTrifAfq9uazSL7UUAR