Add Scout as switchable search engine (params.search_engine)
- Dominant language
- Nextflow
- Stars
- 0
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Add SCOUT_SEARCH and SCOUT_FILTER Nextflow modules. Scout v2.1 supports `-no_filter` for per-sample parallel search and `-filter` for aggregated FDR computation across all samples.
## Architecture
- `params.search_engine = 'xisearch'` (default): existing xiSEARCH + xiFDR path
- `params.search_engine = 'scout'`: SCOUT_SEARCH (per sample, parallel) -> SCOUT_FILTER (collect all *.buf, single FDR)
- FDR tied to engine: xiSEARCH uses xiFDR, Scout uses Scout -filter
## Tasks
- [ ] Create SCOUT_SEARCH module (modules/local/scout_search/)
- [ ] Create SCOUT_FILTER module (modules/local/scout_filter/)
- [ ] Add engine branching logic in workflows/relink.nf
- [ ] Add Scout process configs in conf/modules.config
- [ ] Add search_engine parameter to nextflow.config
## Dependencies
- Requires Scout 2.1 in container (quantms-containers)
- Requires mzML migration (#5)
Contributor guide
Research direction
Start with workflows/relink.nf and the existing xiSEARCH/xiFDR path, then inspect the module and process configuration conventions in modules/local/ and conf/modules.config. Implement the two Scout modules and the search_engine parameter branching described in the issue, using Scout 2.1 and the mzML migration dependency. Done means both engine paths are selectable and each uses its corresponding FDR process.
Written by the indexing model from the issue text.
Assessment
- Domain
- bioinformatics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100