Skip to content

Mirror#8

Open
nbollis wants to merge 30 commits into
masterfrom
mirror
Open

Mirror#8
nbollis wants to merge 30 commits into
masterfrom
mirror

Conversation

@nbollis
Copy link
Copy Markdown
Owner

@nbollis nbollis commented May 14, 2026

No description provided.

nbollis and others added 30 commits May 7, 2026 12:33
* mzlib

* Retention time prediction contract change

* revised protease and rnase custom loading

* fix tests

* more tests
Updates the mzLib PackageReference from 1.0.578 to 1.0.579 across CMD,
EngineLayer, GUI, GuiFunctions, TaskLayer, and Test. 1.0.579 ships
mzLib PR smith-chem-wisc#1046 (unified IRetentionTimePredictor with a batch method
and Koina RetentionTimeModel implementation); the legacy single-input
methods remain on the interface as obsolete, so no MetaMorpheus call
sites are affected. Solution builds cleanly.

Co-authored-by: MICHAEL SHORTREED <mrshortreed@wisc.edu>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…th-chem-wisc#2661)

* feat(pep): add PrecursorDeconvolutionScore feature for bottom-up

Wires mzLib's method-agnostic envelope-quality score (PR smith-chem-wisc#1054, shipped in
mzLib 1.0.579 -- IsotopicEnvelope.GenericScore) into the PEP analysis
pipeline as a new PsmData feature. Bottom-up search type only in this PR;
once approved, the same wiring will be extended to top-down, crosslink, and
RNA using bottom-up as the template.

Data path
  GetMs2Scans (MetaMorpheusTask.cs:274) computes
    envelope.GetOrComputeGenericScore(commonParameters.PrecursorDeconvolutionParameters)
  for each yielded precursor envelope. The score is stashed on the new
  Precursor.DeconvolutionScore field, threaded into the new
  Ms2ScanWithSpecificMass.PrecursorDeconvolutionScore constructor parameter,
  copied onto SpectralMatch.PrecursorScanDeconvolutionScore (mirroring the
  existing PrecursorScanIntensity/PrecursorFractionalIntensity pattern), and
  finally read by PEPAnalysisEngine.CreateOnePsmDataEntry to populate the new
  PsmData.PrecursorDeconvolutionScore field. [LoadColumn(29), direction +1
  in assumedAttributeDirection -- higher score = better Averagine match =
  more likely target.] Added to trainingInfos["standard"] only.

Sentinel handling
  Default value is 0 when the precursor was constructed from scan-header
  data alone (the UseProvidedPrecursorInfo path) and no envelope was
  deconvoluted. mzLib's scorer also returns near-zero for a maximally-bad
  envelope, so the model cannot strictly distinguish these two cases -- an
  accepted limitation for now per scope discussion.

Test baseline updates
  FdrTest.TestPsmData -- trainingInfo["standard"] gains
    "PrecursorDeconvolutionScore"; assumedAttributeDirection gains
    PrecursorDeconvolutionScore=1; standardToString gains "\t28".
  PostSearchAnalysisTaskTests.AllResultsAndResultsTxtContainsCorrectValues_PepQValue_BottomUp
    -- counts shift modestly because the model has a new feature:
    All target PSMs:           382 -> 384
    All target protein groups: 145 -> 144
    Per-file PSMs:             190 -> 191
    Per-file protein groups:   145 -> 144
    Peptide counts unchanged.

Verification
  Full Test.csproj suite: 1446 passed, 0 failed, 1 skipped, 7m 27s.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Fix comment formatting in MetaMorpheusTask.cs

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants