Skip to contents

This function imports multiple .mzXML/.mzML files into a named list. It takes a data frame containing the basic information of metabolites such as file name (including the file path), Chemical formula, Ionization mode, and Collision Energy, as required fields. Additionally, Region Of Interest (ROI) can be provided to narrow down the elution window.

Usage

batch_import_mzxml(compounds_dt)

Arguments

compounds_dt

a data frame containing the following columns.

Name

The name of the compound

Formula

The compound's chemical formula

Ionization_mode

The ionization mode set in data collection (only Positive and Negative mode allowed).

File

The filename of the .mzXML/.mzML file inluding the path

COLLISIONENERGY

Collision energy applied in MS/MS fragmentation

Additionally, you can provide the ROI by adding two columns in the data frame.

min_rt

a double, minumim retention time to keep

max_rt

a double maximum retention time to keep

Value

a list with n elements, where n is the number of compounds provided in the compounds_dt

Examples


# Select the csv file name and path
batch_file <- system.file("extdata", "batch_read.csv",
  package = "MS2extract"
)
# Read the data frame
batch_data <- read.csv(batch_file)

# File paths for Procyanidin A2 and Rutin
ProcA2_file <- system.file("extdata",
  "ProcyanidinA2_neg_20eV.mzXML",
  package = "MS2extract"
)
Rutin_file <- system.file("extdata",
  "Rutin_neg_20eV.mzXML",
  package = "MS2extract"
)

# Add file path - User should specified the file path -
batch_data$File <- c(ProcA2_file, Rutin_file)

# Checking batch_data data frame
batch_data
#>             Name   Formula Ionization_mode min_rt max_rt COLLISIONENERGY
#> 1 Procyanidin A2 C30H24O12        Negative    163    180           20 eV
#> 2          Rutin C27H30O16        Negative    162    171           20 eV
#>                                                                              File
#> 1 /home/runner/work/_temp/Library/MS2extract/extdata/ProcyanidinA2_neg_20eV.mzXML
#> 2         /home/runner/work/_temp/Library/MS2extract/extdata/Rutin_neg_20eV.mzXML

# Using batch import to import multiple compounds
batch_compounds <- batch_import_mzxml(batch_data)
#> 
#> ── Begining batch import ───────────────────────────────────────────────────────
#> 
#> ── -- ──
#> 
#> • Processing: ProcyanidinA2_neg_20eV.mzXML
#> • Found 1 CE value: 20
#> • Remember to match CE velues in spec_metadata when exporting your library
#> • m/z range given 10 ppm: 575.11376 and 575.12526
#> • Compound name: Procyanidin A2_Negative_20
#> 
#> ── -- ──
#> 
#> • Processing: Rutin_neg_20eV.mzXML
#> • Found 1 CE value: 20
#> • Remember to match CE velues in spec_metadata when exporting your library
#> • m/z range given 10 ppm: 609.14002 and 609.15221
#> • Compound name: Rutin_Negative_20
#> 
#> ── End batch import ────────────────────────────────────────────────────────────

# Checking dimension by compound
# Procyanidin A2: 24249 ions
# Rutin: 22096 ions
purrr::map(batch_compounds, dim)
#> $`Procyanidin A2_Negative_20`
#> [1] 17829     6
#> 
#> $Rutin_Negative_20
#> [1] 11475     6
#>