fix: enable test suite and fix broken build dependencies#3
Conversation
…Java 17 - Change skipTests from true to false so mvn test actually runs - Update maven-compiler-plugin source/target from 1.8 to 17 (matches runtime) - Add missing compile dependencies: jmzml 1.7.11, fastutil 8.5.12, slf4j-api 1.7.36, logback-classic 1.2.12, commons-io 2.15.1 (master code references these classes but they were not declared) - @ignore TestMzML test that requires Windows-specific DMS files Result: 120 tests run, 53 active, 67 skipped, 0 failures Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (15)
📝 WalkthroughWalkthroughAdds configurable MS-level filtering end-to-end (parameter, parsing, accessor, spec key generation, and callers), updates Maven to run tests and target Java 17, adjusts MS-level inclusivity semantics in some adapters, and expands test coverage for MS-level and mzIdentML generation; one Windows-specific test is annotated Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CLI as MSGFPlus (CLI)
participant Params as ParamManager
participant Search as SearchParams
participant Accessor as SpectraAccessor
participant SpecKey
participant SpectrumSource as MZML/MZXML Adapter/Iterator
User->>CLI: run with -msLevel or default
CLI->>Params: addMSGFPlusParams / getMSLevelParameter
CLI->>Search: parse params -> minMSLevel,maxMSLevel
CLI->>Accessor: setMSLevelRange(min,max)
CLI->>SpecKey: getSpecKeyList(..., min,max)
SpecKey->>SpectrumSource: iterate spectra
SpectrumSource-->>SpecKey: yield Spectrum (only if msLevel in [min,max])
SpecKey-->>CLI: return filtered SpecKey list
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…shold In MZIdentMLGen.addSpectrumIdentificationResults(), change `break` to `continue` when a match has DeNovoScore below the minimum threshold. The `break` was incorrectly stopping emission of all subsequent matches for that spectrum, silently dropping valid PSMs from the mzid output. Also add null safety check for spectrum index lookup — if a spectrum index is not found in the spectrum file, log a warning and skip instead of throwing a NullPointerException. Add TestMZIdentMLGen with two integration tests: - testMzidScoreCompleteness: runs MSGF+ search, verifies every SII has all 4 score CVParams (RawScore, DeNovoScore, SpecEValue, EValue) - testMzidStructuralValidity: verifies output mzid has required mzIdentML structure elements Closes MSGFPlus#157 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add new -msLevel CLI parameter to filter spectra by MS level. Accepts single value (e.g., -msLevel 2) or comma-separated range (e.g., -msLevel 2,3). Default is 2 (MS2 only). Changes: - ParamManager: add MS_LEVEL enum and registration - IntRangeParameter: enable single-value parsing, fix typo - SearchParams: add minMSLevel/maxMSLevel fields - SpecKey: filter spectra by MS level in getSpecKeyList() - SpectraAccessor: add setMSLevelRange(), wire to parsers - MzMLAdapter/MzXMLSpectraMap: fix maxMSLevel to be inclusive - MSGFPlus/MSGFDB/MSGFDBLib: wire MS level parameters - pom.xml: remove fastutil shade filter (jmzml 1.7.11 needs full fastutil) Tests: TestIntRangeParameter (9 tests), TestMSLevelFiltering (6 tests) Benchmark (TMT 1.1GB, TDA): Baseline: 1245s, 6654 PSMs@1%FDR -msLevel 2: 957s (-23%), 6936 PSMs@1%FDR (+4.2%) Closes MSGFPlus#159 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat(MSGFPlus#159): add -msLevel parameter for MS level filtering
fix(MSGFPlus#157): preserve PSM scores when DeNovoScore is below threshold
Summary
skipTests=truefrom pom.xml — tests now run by default withmvn testjmzml 1.7.11(used by MzMLAdapter, MzMLSpectraMap, SpectrumConverter, MzMLSpectraIterator)fastutil 8.5.12(required by jmzml at runtime)slf4j-api 1.7.36+logback-classic 1.2.12(logging, required by jmzml)commons-io 2.15.1(used by BuildSA, ConcurrentMSGFPlus)@IgnoreTestMzML test that requires Windows-specific DMS files (C:\DMS_WorkDir1)Why
Master was previously un-compilable without these dependencies in the local Maven cache. Tests were globally disabled via
skipTests=true, masking the broken build. This PR fixes the foundation so that all subsequent PRs can gate onmvn test.Test results
53 active tests pass. 67 are pre-existing
@Ignore(require external data files).Test plan
mvn compilesucceeds (was failing before)mvn testpasses with 0 failuresmvn packageproduces a working JAR🤖 Generated with Claude Code
Summary by CodeRabbit
Build & Infrastructure
New Features
Bug Fixes
Tests