From 718b36e546f1f4257fdc1a532a59eebfacf853f4 Mon Sep 17 00:00:00 2001 From: Chris Mitchell Date: Wed, 15 Nov 2017 12:48:59 -0500 Subject: [PATCH 1/2] Skip targets outside of scanrange --- R/xcmsRaw.R | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/R/xcmsRaw.R b/R/xcmsRaw.R index 76ddb5f..5d8a32a 100644 --- a/R/xcmsRaw.R +++ b/R/xcmsRaw.R @@ -1172,6 +1172,14 @@ setMethod("findPeaks.centWave", "xcmsRaw", function(object, ppm=25, peakwidth=c( for (ti in 1:length(targets)) { target <- targets[[ti]] rtrange <- target$rtrange + if(rtrange[1] < scanrange[1]) { + cat("Warning: scanrange of ", rtrange[1], "less than minimum rtrange in file. Target ignored.\n") + next + } + if(rtrange[2] > scanrange[2]) { + cat("Warning: scanrange of ", rtrange[2], "greater than maximum rtrange in file. Target ignored.\n") + next + } mzrange <- target$mzrange t_peakwidth <- target$peakwidth if (is.null(t_peakwidth)) t_peakwidth <- peakwidth From 9cb36f6018f08d92f7e7d9d8f40fee7661c30c59 Mon Sep 17 00:00:00 2001 From: Chris Mitchell Date: Wed, 15 Nov 2017 14:04:32 -0500 Subject: [PATCH 2/2] Check scmin and scmax instead of scan indices --- R/xcmsRaw.R | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/R/xcmsRaw.R b/R/xcmsRaw.R index 5d8a32a..de08abb 100644 --- a/R/xcmsRaw.R +++ b/R/xcmsRaw.R @@ -1172,14 +1172,6 @@ setMethod("findPeaks.centWave", "xcmsRaw", function(object, ppm=25, peakwidth=c( for (ti in 1:length(targets)) { target <- targets[[ti]] rtrange <- target$rtrange - if(rtrange[1] < scanrange[1]) { - cat("Warning: scanrange of ", rtrange[1], "less than minimum rtrange in file. Target ignored.\n") - next - } - if(rtrange[2] > scanrange[2]) { - cat("Warning: scanrange of ", rtrange[2], "greater than maximum rtrange in file. Target ignored.\n") - next - } mzrange <- target$mzrange t_peakwidth <- target$peakwidth if (is.null(t_peakwidth)) t_peakwidth <- peakwidth @@ -1195,6 +1187,11 @@ setMethod("findPeaks.centWave", "xcmsRaw", function(object, ppm=25, peakwidth=c( scmin <- si[1] scmax <- si[length(si)] + if(is.na(scmin) || is.na(scmax)) { + cat("Warning: scanrange ", rtrange, "outside rtrange in file. Target ignored.\n") + next + } + rawmz <- rawMZ(object, mzrange=mzrange, scanrange=c(scmin, scmax)) gz <- which(rawmz > 0) if (length(gz) > 0) {