## load library
library("readBrukerFlexData");
## get examples directory
exampleDirectory <- system.file("Examples", package="readBrukerFlexData");
## read example spectra
## please note: filterZeroIntensities=TRUE is used for compatibility reasons.
## You should NOT use it!
spec <- readBrukerFlexFile(file.path(exampleDirectory,
"hpc/fid/0_A20/1/1SRef/fid"), filterZeroIntensities=TRUE);
## plot spectrum
plot(spec$metaData$backup$mass, spec$spectrum$intensity, type="l", col="red",
xlim=c(1296, 1300));
lines(spec$spectrum$mass, spec$spectrum$intensity, type="l", col="green",
xlim=c(1296, 1300));
legend(x="topright", legend=c("no hpc", "hpc"), col=c("red", "green"), lwd=1);
## show difference between .hpc and original HPC
## load mzXML generated by Bruker Daltonics' CompassXport 1.3.5
## you could do it like this:
#library("readMzXmlData");
#cpSpecHpcMzXml <- readMzXmlFile(file.path(exampleDirectory,
# "hpc/mzXML/hpc.mzXML"));
## or easily use:
data(cpSpecHpcMzXml);
## reduce R double precision to single precision because our CompassXport 1.3.5
## supports only mzXML with precision=32 (only for compatibility reasons)
spec$metaData$backup$mass32 <-
readBrukerFlexData:::.double2singlePrecision(spec$metaData$backup$mass);
spec$spectrum$mass32 <- readBrukerFlexData:::.double2singlePrecision(spec$spectrum$mass);
## calculate deviance
d <- spec$metaData$backup$mass32-cpSpecHpcMzXml$spectrum$mass;
dHPC <- spec$spectrum$mass32-cpSpecHpcMzXml$spectrum$mass;
## a little summary
cat("without .hpc:
",
"not matching: ", length(cpSpecHpcMzXml$spectrum$mass[d!=0]), "of ",
length(cpSpecHpcMzXml$spectrum$mass), "; range: ", range(abs(d[d!=0])),
"with .hpc:
",
"not matching: ", length(cpSpecHpcMzXml$spectrum$mass[dHPC!=0]), "of ",
length(cpSpecHpcMzXml$spectrum$mass), "; range: ", range(abs(d[dHPC!=0])),
"");
##
## doing things manually
##
hpcMass <- .hpc(mass=spec$metaData$backup$mass,
minMass=spec$metaData$hpc$limits["minMass"],
maxMass=spec$metaData$hpc$limits["maxMass"],
hpcCoefficients=spec$metaData$hpc$coefficients);Run the code above in your browser using DataLab