Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 5.38 KB

msfragger.md

File metadata and controls

64 lines (47 loc) · 5.38 KB

MSFRAGGER

Ultrafast peptide identification using MSFragger database search engine.

Description

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).

Inputs

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

Outputs

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

Parameters

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

Container

Not defined in module; inherited from workflow/config (the licensed FragPipe image given with --fragpipe_container).

Usage

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.

References

Notes

  • 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 finds ext/thermo next to its jar).
  • .raw input fails early when ext/thermo is missing next to the jar, with FragPipe's message.
  • Staged .raw symlinks are replaced by the files: batmass-io reads .raw under Mono, which sizes a symlink as the link, so a symlinked .raw fails to read.