Feature Finding With FeatureFinderMetabo¶
This example runs OpenMS FeatureFinderMetabo on a small mzXML file from the
test data. It narrows the m/z range first so the example stays small.
The same emzed API supports both MS1 and MS2 workflows. For MS2-oriented
runs, use ms_level=2 and keep precursor splitting enabled via
split_by_precursors_mz_tol.
This workflow requires a working R installation because emzed uses XCMS/OpenMS
helpers for peak picking. emzed can install the required R packages on demand,
but it does not install R itself.
"""Run FeatureFinderMetabo on a small mzXML file."""
from pathlib import Path
import emzed
peak_map = emzed.PeakMap.load(Path("data") / "test.mzXML")
peak_map = peak_map.extract(mzmin=255, mzmax=262)
# Same API also supports MS2-oriented runs, e.g.:
# ms_level=2 and split_by_precursors_mz_tol=<tolerance>.
peaks = emzed.run_feature_finder_metabo(
peak_map,
verbose=False,
mtd_noise_threshold_int=10000,
)
print(f"detected {len(peaks)} features")
print()
print("columns:")
for name in peaks.col_names:
print(f" - {name}")
print()
peaks.set_col_format("peakmap", None)
print(peaks)
pyopenms: pw low: 0.0779824 pw high: 0.63622
detected 20 features
columns:
- id
- feature_id
- feature_size
- mz
- mzmin
- mzmax
- rt
- rtmin
- rtmax
- intensity
- quality
- fwhm
- z
- peakmap
- source
id feature_id feature_size mz mzmin mzmax rt rtmin rtmax intensity quality fwhm z source
int int int MzType MzType MzType RtType RtType RtType float float RtType int str
--- ---------- ------------ ----------- ----------- ----------- -------- -------- -------- --------- -------- -------- --- ----------
0 0 1 256.235060 256.234711 256.236298 0.57 m 0.30 m 0.72 m 5.87e+06 5.08e-01 0.00 m 0 test.mzXML
1 1 5 259.159749 259.159424 259.160339 0.14 m 0.11 m 0.18 m 4.99e+04 8.01e-02 0.01 m 1 test.mzXML
2 1 5 256.159504 256.158844 256.159912 0.14 m 0.11 m 0.29 m 7.64e+05 8.01e-02 0.01 m 1 test.mzXML
3 1 5 257.162794 257.162292 257.163452 0.14 m 0.11 m 0.19 m 8.92e+04 8.01e-02 0.01 m 1 test.mzXML
4 1 5 258.156448 258.156097 258.156921 0.14 m 0.11 m 0.26 m 5.06e+05 8.01e-02 0.01 m 1 test.mzXML
5 1 5 260.153433 260.153107 260.154114 0.14 m 0.11 m 0.18 m 6.45e+04 8.01e-02 0.01 m 1 test.mzXML
6 2 1 255.063789 255.063278 255.064545 0.45 m 0.44 m 0.69 m 8.76e+05 7.58e-02 0.00 m 0 test.mzXML
7 3 1 255.237922 255.235489 255.239365 0.56 m 0.56 m 0.63 m 7.94e+05 6.87e-02 0.00 m 0 test.mzXML
8 4 1 259.157243 259.156403 259.158051 0.46 m 0.44 m 0.63 m 7.88e+05 6.82e-02 0.01 m 0 test.mzXML
9 5 1 261.118687 261.117889 261.119568 0.44 m 0.40 m 0.63 m 7.80e+05 6.75e-02 0.01 m 0 test.mzXML
10 6 1 255.225579 255.224991 255.227707 0.56 m 0.56 m 0.62 m 6.53e+05 5.65e-02 0.00 m 0 test.mzXML
11 7 1 258.001993 258.001465 258.002533 0.39 m 0.37 m 0.43 m 7.13e+04 6.17e-03 0.01 m 0 test.mzXML
12 8 1 260.914073 260.913300 260.914673 0.30 m 0.28 m 0.34 m 5.53e+04 4.79e-03 0.00 m 0 test.mzXML
13 9 1 261.118837 261.117981 261.119415 0.68 m 0.64 m 0.70 m 5.23e+04 4.52e-03 0.00 m 0 test.mzXML
14 10 1 259.953817 259.952637 259.954498 0.41 m 0.41 m 0.49 m 4.78e+04 4.14e-03 0.01 m 0 test.mzXML
15 11 1 256.837222 256.836395 256.837982 0.68 m 0.28 m 0.70 m 4.18e+04 3.62e-03 0.00 m 0 test.mzXML
16 12 1 259.157348 259.156403 259.157959 0.68 m 0.64 m 0.70 m 3.18e+04 2.75e-03 0.00 m 0 test.mzXML
17 13 1 258.832982 258.832306 258.833679 0.48 m 0.30 m 0.49 m 8.46e+03 7.32e-04 0.00 m 0 test.mzXML
18 14 1 256.235274 256.234772 256.235809 0.04 m 0.00 m 0.29 m 7.12e+03 6.16e-04 0.00 m 0 test.mzXML
19 15 1 257.174805 257.174347 257.175568 0.04 m 0.00 m 0.23 m 4.28e+03 3.71e-04 0.00 m 0 test.mzXML