MSnbase (version 1.20.7)

writeMgfData-methods: Write an experiment or spectrum to an mgf file

Description

Methods writeMgfData write individual "Spectrum" instances of whole "MSnExp" experiments to a file in Mascot Generic Format (mgf) (see http://www.matrixscience.com/help/data_file_help.html for more details). Function readMgfData read spectra from and mgf file and creates an "MSnExp" object.

Arguments

object
An instance of class "Spectrum" or "MSnExp".
con
A valid connection or a character string with the name of the file to save the object. In case of the latter, a file connection is created. If not specified, 'spectrum.mgf' or 'experiment.mgf' are used depending on the class of object. Note that existing files are overwritted.
COM
Optional character vector with the value for the 'COM' field.
TITLE
Optional character vector with the value for the spectrum 'TITLE' field. Not applicable for experiments.

Methods

signature(object = "MSnExp")
Writes the full exeriment to an mgf file.
signature(object = "Spectrum")
Writes an individual spectrum to an mgf file.

Details

Note that when reading an mgf file, the original order of the spectra is lost. Thus, if the data was originally written to mgf from an MSnExp object using writeMgfData, although the feature names will be identical, the spectra are not as a result of the reordering. See example below.

See Also

readMgfData function to read data from and mgf file.

Examples

Run this code
  ## Not run: 
#     data(itraqdata)
#     writeMgfData(itraqdata,file="itraqdata.mgf",COM="MSnbase itraqdata")
#     itraqdata2 <- readMgfData("itraqdata.mgf")
#     ## note that the order of the spectra 
#     ## and precision of some values (precursorMz for instance)
#     ## are altered
#     match(signif(precursorMz(itraqdata2),4),signif(precursorMz(itraqdata),4))
#     ## [1]  1 10 11 12 13 14 15 16 17 18 ...
#     ## ... but all the precursors are there
#     all.equal(sort(precursorMz(itraqdata2)),sort(precursorMz(itraqdata)),
#               check.attributes=FALSE,
#               tolerance=10e-5)
#     ## is TRUE
#     all.equal(as.data.frame(itraqdata2[[1]]),as.data.frame(itraqdata[[1]]))
#     ## is TRUE
#     all.equal(as.data.frame(itraqdata2[[3]]),as.data.frame(itraqdata[[11]]))
#     ## is TRUE
#     ## But, beware that
#     all(featureNames(itraqdata2)==featureNames(itraqdata))
#     ## is TRUE too!
#   ## End(Not run)

Run the code above in your browser using DataLab