\name{writeMSData} \alias{writeMSData} \alias{writeMSData,list,character-method} \title{ Write MS spectrum data to an MS file } \usage{ \S4method{writeMSData}{list,character}(object, file, header, backend = "pwiz", outformat = "mzml", rtime_seconds = TRUE, software_processing) } \arguments{ \item{object}{ \code{list} containing for each spectrum one \code{matrix} with columns \code{mz} (first column) and \code{intensity} (second column). See also \code{\link{peaks}} for the method that reads such data from an MS file. } \item{file}{ \code{character(1)} defining the name of the file. } \item{header}{ \code{data.frame} with the header data for the spectra. Has to be in the format as the \code{data.frame} returned by the \code{\link{header}} method. } \item{backend}{ \code{character(1)} defining the backend that should be used for writing. Currently only \code{"pwiz"} backend is supported. } \item{outformat}{ \code{character(1)} the format of the output file. One of \code{"mzml"} or \code{"mzxml"}. } \item{rtime_seconds}{ \code{logical(1)} whether the retention time is provided in seconds or minutes (defaults to \code{TRUE}). } \item{software_processing}{ \code{list} of \code{character} vectors (or single \code{character} vector). Each \code{character} vector providing information about the software that was used to process the data with optional additional description of processing steps. The length of each \code{character} vector has to be >= 3: the first element being the name of the software, the second string its version and the third element the MS CV ID of the software (or \code{"MS:-1"} if not known). All additional elements are optional and represent the MS CV ID of each processing step performed with the software. } } \description{ \code{writeMSData} exports the MS spectrum data provided with parameters \code{header} and \code{data} to an MS file in mzML or mzXML format. } \author{ Johannes Rainer } \seealso{ \code{\link{copyWriteMSData}} for a function to copy general information from a MS data file and writing eventually modified MS data from that originating file. } \examples{ ## Open a MS file and read the spectrum and header information library(msdata) fl <- system.file("threonine", "threonine_i2_e35_pH_tree.mzXML", package = "msdata") ms_fl <- openMSfile(fl, backend = "pwiz") ## Get the spectra pks <- spectra(ms_fl) ## Get the header hdr <- header(ms_fl) ## Modify the spectrum data adding 100 to each intensity. pks <- lapply(pks, function(z) { z[, 2] <- z[, 2] + 100 z }) ## Write the data to a mzML file. out_file <- tempfile() writeMSData(object = pks, file = out_file, header = hdr) }