OpenMS
FeatureFinderMetaboIdent

Detects features in MS1 data corresponding to small molecule identifications.

pot. predecessor tools → FeatureFinderMetaboIdent → pot. successor tools
PeakPickerHiRes (optional) TextExporter

This tool detects quantitative features in MS1 data for a list of targets, typically small molecule/metabolite identifications. It uses algorithms for targeted data analysis from the OpenSWATH pipeline.

Note
This tool is still experimental!
See also
FeatureFinderIdentification - targeted feature detection based on peptide identifications.

Input format

Spectra are expected in centroided or profile mode. Only MS1 level spectra are considered for feature detection.

The targets to quantify have to be specified in a tab-separated text file that is passed via the id parameter. This file has to start with the following header line, defining its columns:

CompoundName    SumFormula    Mass    Charge    RetentionTime    RetentionTimeRange    IsoDistribution    [IonMobility]

Every subsequent line defines a target. (Except lines starting with "#", which are considered as comments and skipped.) The following requirements apply:

  • CompoundName: unique name for the target compound
  • SumFormula: chemical sum formula (see OpenMS::EmpiricalFormula), optional
  • Mass: neutral mass; if zero calculated from Formula
  • Charge: charge state, or comma-separated list of multiple charges
  • RetentionTime: retention time (RT), or comma-separated list of multiple RTs
  • RetentionTimeRange: RT window around RetentionTime for chromatogram extraction, either one value or one per RT entry; if zero parameter extract:rt_window is used
  • IsoDistribution: comma-separated list of relative abundances of isotopologues (see OpenMS::IsotopeDistribution); if zero calculated from Formula
  • IonMobility (optional): ion mobility value, or comma-separated list of multiple values (one per RT entry); if not provided or zero, no IM filtering is performed. The extraction window is controlled by parameter extract:im_window.

In the simplest case, only CompoundName, SumFormula, Charge and RetentionTime need to be given, all other values may be zero. Every combination of compound (mass), RT and charge defines one target for feature detection. For ion mobility data, an optional IonMobility column can be added to filter extraction by ion mobility.

Ion Mobility Support (experimental)

This tool supports two types of ion mobility data:

FAIMS (Field Asymmetric Ion Mobility Spectrometry): FAIMS data is automatically detected based on compensation voltage (CV) annotations in the mzML file. The data is split by CV and processed separately for each voltage group. Features representing the same analyte detected at different CV values are merged by default (controlled by faims:merge_features). No special preparation of the input mzML file is required.

Bruker TimsTOF (trapped ion mobility): TimsTOF data requires special preparation of the mzML file. The ion mobility spectra must be concatenated into single spectra per frame using msconvert with the –combineIonMobilitySpectra option:

msconvert input.d --mzML --combineIonMobilitySpectra -o output_dir

The resulting mzML file contains one spectrum per frame with ion mobility values stored per peak. Ion mobility values for targets can be specified in the IonMobility column of the input TSV file. The extraction window is controlled by extract:im_window.

Output format

The main output (parameter out) is a featureXML file containing the detected features, with annotations in meta data entries. This file can be visualized in TOPPView - perhaps most usefully as a layer on top of the LC-MS data that gave rise to it. Compound annotations of features (Name entries from the id input) can be shown by clicking the "Show feature annotation" button in the tool bar and selecting "Label meta data". Positions of targets for which no feature was detected can be shown by clicking the "Show unassigned peptide identifications" button and selecting "Show label meta data".

To export the data from the featureXML file to a tabular text file (CSV), use TextExporter with the options no_ids and feature:add_metavalues 0 (to include all meta data annotations). In the result, the information from the CompoundName, SumFormula, Charge and RetentionTime columns from the input will be in the label, sum_formula, charge and expected_rt columns, respectively.

The command line parameters of this tool are:

RT window size calculated as 240 seconds.

FeatureFinderMetaboIdent -- Detects features in MS1 data based on metabolite identifications.
Full documentation: http://www.openms.de/doxygen/nightly/html/TOPP_FeatureFinderMetaboIdent.html
Version: 3.5.0-pre-nightly-2025-12-01 Dec  2 2025, 02:56:09, Revision: 957e70b
To cite OpenMS:
 + Pfeuffer, J., Bielow, C., Wein, S. et al.. OpenMS 3 enables reproducible analysis of large-scale mass spec
   trometry data. Nat Methods (2024). doi:10.1038/s41592-024-02197-7.

Usage:
  FeatureFinderMetaboIdent <options>

Options (mandatory options marked with '*'):
  -in <file>*                         Input file: LC-MS raw data (valid formats: 'mzML')
  -id <file>*                         Input file: Metabolite identifications (valid formats: 'tsv')
  -out <file>*                        Output file: Features (valid formats: 'featureXML')
  -lib_out <file>                     Output file: Assay library (valid formats: 'traML')
  -chrom_out <file>                   Output file: Chromatograms (valid formats: 'mzML')
  -trafo_out <file>                   Output file: Retention times (expected vs. observed) (valid formats: 
                                      'trafoXML')
  -candidates_out <text>              Optional output file: Feature candidates (before filtering and model 
                                      fitting).

Parameters for ion chromatogram extraction:
  -extract:mz_window <value>          M/z window size for chromatogram extraction (unit: ppm if 1 or greater,
                                       else Da/Th) (default: '10.0') (min: '0.0')
  -extract:n_isotopes <number>        Number of isotopes to include in each peptide assay. (default: '2') 
                                      (min: '2')

Parameters for detecting features in extracted ion chromatograms:
  -detect:peak_width <value>          Expected elution peak width in seconds, for smoothing (Gauss filter). 
                                      Also determines the RT extration window, unless set explicitly via 'ext
                                      ract:rt_window'. (default: '60.0') (min: '0.0')

Parameters for fitting elution models to features:
  -model:type <choice>                Type of elution model to fit to features (default: 'symmetric') (valid:
                                       'symmetric', 'asymmetric', 'none')

Parameters for fitting exp. mod. Gaussians to mass traces.:
  -EMGScoring:max_iteration <number>  Maximum number of iterations for EMG fitting. (default: '100') (min: 
                                      '1')
  -EMGScoring:init_mom                Alternative initial parameters for fitting through method of moments.

Parameters for FAIMS data processing:
  -faims:merge_features <choice>      For FAIMS data with multiple compensation voltages: Merge features that
                                       represent the same analyte detected at different CVs. Features are 
                                      merged if they have the same charge and are within 5 seconds RT and 
                                      0.05 Da m/z. Intensities are summed. (default: 'true') (valid: 'true', 
                                      'false')

                                      
Common TOPP options:
  -ini <file>                         Use the given TOPP INI file
  -threads <n>                        Sets the number of threads allowed to be used by the TOPP tool (default
                                      : '1')
  -write_ini <file>                   Writes the default configuration file
  --help                              Shows options
  --helphelp                          Shows all options (including advanced)

INI file documentation of this tool:

Legend:
required parameter
advanced parameter
+FeatureFinderMetaboIdentDetects features in MS1 data based on metabolite identifications.
version3.5.0-pre-nightly-2025-12-01 Version of the tool that generated this parameters file.
++1Instance '1' section for 'FeatureFinderMetaboIdent'
in Input file: LC-MS raw datainput file*.mzML
id Input file: Metabolite identificationsinput file*.tsv
out Output file: Featuresoutput file*.featureXML
lib_out Output file: Assay libraryoutput file*.traML
chrom_out Output file: Chromatogramsoutput file*.mzML
trafo_out Output file: Retention times (expected vs. observed)output file*.trafoXML
forcefalse Overrides tool-specific checkstrue, false
candidates_out Optional output file: Feature candidates (before filtering and model fitting).output file
debug0 Sets the debug level
log Name of log file (created only when specified)
threads1 Sets the number of threads allowed to be used by the TOPP tool
no_progressfalse Disables progress logging to command linetrue, false
testfalse Enables the test mode (needed for internal use only)true, false
+++extractParameters for ion chromatogram extraction
mz_window10.0 m/z window size for chromatogram extraction (unit: ppm if 1 or greater, else Da/Th)0.0:∞
rt_window0.0 RT window size (in sec.) for chromatogram extraction. If set, this parameter takes precedence over 'extract:rt_quantile'.0.0:∞
im_window0.0 Ion mobility window size for extraction. If set to 0, no IM filtering is performed.0.0:∞
n_isotopes2 Number of isotopes to include in each peptide assay.2:∞
isotope_pmin0.0 Minimum probability for an isotope to be included in the assay for a peptide. If set, this parameter takes precedence over 'extract:n_isotopes'.0.0:1.0
+++detectParameters for detecting features in extracted ion chromatograms
peak_width60.0 Expected elution peak width in seconds, for smoothing (Gauss filter). Also determines the RT extration window, unless set explicitly via 'extract:rt_window'.0.0:∞
min_peak_width0.2 Minimum elution peak width. Absolute value in seconds if 1 or greater, else relative to 'peak_width'.0.0:∞
signal_to_noise0.8 Signal-to-noise threshold for OpenSWATH feature detection0.1:∞
+++modelParameters for fitting elution models to features
typesymmetric Type of elution model to fit to featuressymmetric, asymmetric, none
add_zeros0.2 Add zero-intensity points outside the feature range to constrain the model fit. This parameter sets the weight given to these points during model fitting; '0' to disable.0.0:∞
unweighted_fitfalse Suppress weighting of mass traces according to theoretical intensities when fitting elution modelstrue, false
no_imputationfalse If fitting the elution model fails for a feature, set its intensity to zero instead of imputing a value from the initial intensity estimatetrue, false
each_tracefalse Fit elution model to each individual mass tracetrue, false
++++checkParameters for checking the validity of elution models (and rejecting them if necessary)
min_area1.0 Lower bound for the area under the curve of a valid elution model0.0:∞
boundaries0.5 Time points corresponding to this fraction of the elution model height have to be within the data region used for model fitting0.0:1.0
width10.0 Upper limit for acceptable widths of elution models (Gaussian or EGH), expressed in terms of modified (median-based) z-scores. '0' to disable. Not applied to individual mass traces (parameter 'each_trace').0.0:∞
asymmetry10.0 Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores. '0' to disable. Not applied to individual mass traces (parameter 'each_trace').0.0:∞
+++EMGScoringParameters for fitting exp. mod. Gaussians to mass traces.
max_iteration100 Maximum number of iterations for EMG fitting.1:∞
init_momfalse Alternative initial parameters for fitting through method of moments.true, false
+++faimsParameters for FAIMS data processing
merge_featurestrue For FAIMS data with multiple compensation voltages: Merge features that represent the same analyte detected at different CVs. Features are merged if they have the same charge and are within 5 seconds RT and 0.05 Da m/z. Intensities are summed.true, false