Ultrafast peptide identification using MSFragger database search engine.
MSFragger is an ultrafast database search tool for peptide identification in mass spectrometry-based proteomics.
It uses a fragment-ion indexing method to achieve speeds 10-100x faster than conventional search engines.
This module supports both params-file mode (FragPipe calling convention) and CLI mode, handles split-database search via --partial flag, and auto-discovers MSFragger JAR and native libraries (Bruker, Thermo).
| Channel | Type | Description |
|---|---|---|
| meta | val(map) | Sample metadata map (may include chunk_id for split mode) |
| mzml_files | path | Mass spectrometry data files (*.mzML) |
| fasta | path | Protein sequence database (*.fasta) |
| params_file | path | MSFragger params file (native fragger.params format). Pass [] for CLI mode |
| msfragger_dir | path | Unzipped MSFragger tool directory (optional). Pass [] when not using |
| Channel | Type | Description |
|---|---|---|
| pepxml | tuple(val, path) | PepXML search results (*.pepXML, optional) |
| pin | tuple(val, path) | Percolator input files (*.pin, optional) |
| tsv | tuple(val, path) | TSV outputs such as mass calibration results (optional) |
| lcms_files | tuple(val, path) | Files MSFragger writes next to the LC-MS file: _uncalibrated.mzML (.raw/.d), _calibrated.mzML, _uncalibrated.mzBIN, .mzBIN_calibrated (optional) |
| pepindex | tuple(val, path) | <fasta>.<N>.pepindex built during the search, one per digestion parameter set (optional) |
| results_dir | tuple(val, path) | Results directory containing all output files |
| log | tuple(val, path) | Log files (optional) |
| license_agreement | path | License agreement file (I_AGREE_FRAGPIPE_LICENSE_AGREEMENT) |
| versions_msfragger | tuple (topic: versions) | MSFragger version |
| versions_fragpipe | tuple (topic: versions) | FragPipe version |
| Parameter | Default | Description |
|---|---|---|
| ext.args | '' | Additional CLI arguments appended to the MSFragger Java command |
| ext.java_xmx | (auto) | Override Java heap size |
| ext.agree_fragpipe_license_agreement | (required) | Must be true to run |
Not defined in module; inherited from workflow/config (the licensed FragPipe image given with --fragpipe_container).
Used in the FRAGPIPE_SEARCH subworkflow (subworkflows/local/fragpipe_search/main.nf).
In split-database mode (meta.chunk_id set), outputs are prefixed with chunk_<id>_ to avoid collisions.
Requires explicit license agreement via ext.agree_fragpipe_license_agreement = true.
- argv as FragPipe (
CmdMsfragger.java):java -jar -Dfile.encoding=UTF-8 -Xmx<ram>G <jar> <params> [--license <tools/../license*.dat>] <lcms files>; no-Dlibs.*(MSFragger findsext/thermonext to its jar). .rawinput fails early whenext/thermois missing next to the jar, with FragPipe's message.- Staged
.rawsymlinks are replaced by the files: batmass-io reads.rawunder Mono, which sizes a symlink as the link, so a symlinked.rawfails to read.