Skip to contents

Reads chromatograms from specified folders or vector of paths using either an internal parser or bindings to an external library, such as Aston, Entab, ThermoRawFileParser, OpenChrom, rainbow.

Usage

read_chroms(
  paths,
  find_files,
  format_in = c("agilent_d", "agilent_dx", "chemstation", "chemstation_fid",
    "chemstation_ch", "chemstation_csv", "chemstation_uv", "masshunter_dad",
    "chromeleon_uv", "shimadzu_ascii", "shimadzu_fid", "shimadzu_dad", "shimadzu_lcd",
    "thermoraw", "mzml", "mzxml", "waters_arw", "waters_raw", "msd", "csd", "wsd", "mdf",
    "other"),
  pattern = NULL,
  parser = c("", "chromconverter", "aston", "entab", "thermoraw", "openchrom", "rainbow"),
  format_out = c("matrix", "data.frame"),
  data_format = c("wide", "long"),
  export = FALSE,
  path_out = NULL,
  export_format = c("csv", "chemstation_csv", "cdf", "mzml", "animl"),
  read_metadata = TRUE,
  metadata_format = c("chromconverter", "raw"),
  progress_bar,
  cl = 1,
  verbose = getOption("verbose"),
  sample_names = NULL,
  dat = NULL,
  ...
)

Arguments

paths

Paths to data files or directories containing the files.

find_files

Logical. Set to TRUE (default) if you are providing the function with a folder or vector of folders containing the files. Otherwise, set toFALSE.

format_in

Format of files to be imported/converted. Current options include: agilent_d, agilent_dx, chemstation, chemstation_uv, chemstation_ch, chemstation_csv, masshunter, masshunter_dad, chromeleon_uv, shimadzu_ascii, shimadzu_fid, shimadzu_dad, thermoraw, waters_arw, waters_raw, mzml, mzxml, cdf, mdf, msd, csd, wsd, or other.

pattern

pattern (e.g. a file extension). Defaults to NULL, in which case file extension will be deduced from format_in.

parser

What parser to use (optional). Current option are chromconverter, aston, entab, thermoraw, openchrom, or rainbow.

format_out

Class of output (i.e. data.frame or matrix).

data_format

Whether to output data in wide or long format. Either wide or long.

export

Logical. If TRUE, the program will export files in the format specified by export_format in the directory specified by path_out.

path_out

Path for exporting files. If path not specified, files will export to current working directory.

export_format

Export format. Currently the options include .csv, chemstation_csv (utf-16 encoding), and cdf, unless you are using OpenChrom parsers, where there are two additional options: mzml, and animl.

read_metadata

Logical, whether to attach metadata (if it's available). Defaults to TRUE.

metadata_format

Format to output metadata. Either chromconverter or raw.

progress_bar

Logical. Whether to show progress bar. Defaults to TRUE if pbapply is installed.

cl

Argument to pbapply specifying the number of clusters to use or a cluster object created by makeCluster. Defaults to 1.

verbose

Logical. Whether to print output from external parsers to the R console.

sample_names

An optional character vector of sample names. Otherwise sample names default to the basename of the specified files.

dat

Existing list of chromatograms to append results. (Defaults to NULL).

...

Additional arguments to parser.

Value

A list of chromatograms in matrix or data.frame format, according to the value of format_out. Chromatograms may be returned in either wide or long format according to the value of data_format.

Details

Provides a unified interface to all chromConverter parsers. Currently recognizes 'Agilent ChemStation' (.uv, .ch, .dx), 'Agilent MassHunter' (.dad), 'Thermo RAW' (.raw), 'Waters ARW' (.arw), 'Waters RAW' (.raw), 'Chromeleon ASCII' (.txt), 'Shimadzu ASCII' (.txt), and 'Shimadzu LCD' files (preliminary support). Also, wraps 'OpenChrom' parsers, which include many additional formats. To use 'Entab', 'ThermoRawFileParser', or 'OpenChrom' parsers, they must be manually installed. Please see the instructions in the README for further details.

If paths to individual files are provided, read_chroms will try to infer the file format and select an appropriate parser. However, when providing paths to directories, the file format must be specified using the format_in argument.

Side effects

If export is TRUE, chromatograms will be exported in the format specified by export_format in the folder specified by path_out. Currently, the most versatile option for exporting files is csv. However, unidimensional chromatograms can also be exported in ANDI Chromatography (netCDF) format by selecting cdf. If an openchrom parser is selected, ANIML and mzML are available as additional options.

Author

Ethan Bass

Examples

if (FALSE) { # interactive()
path <- "tests/testthat/testdata/dad1.uv"
chr <- read_chroms(path, find_files = FALSE, format_in = "chemstation_uv")
}