Is the a way to 'covert RAW to mzXML' on RAWs that contain multiple negative polarity mode scans?
We were having problems with an interfering substance (at 93. ) in our negative polarity mode scans, which was causing our real signals to get lost in the noise. So it was decided to work around the issue by splitting the the scan into two parts, to omit the signal between 93.0 and 93.5.
But the raw-file converter doesn't seem to pick up on the third scan mode (one positive and two negative), and cannot find any peaks.
Is there a way to convert (and then process) data from both negative polarity mode scans, onto one or more peakML files?
If not, can I force the converter to use one particular of the two negative polarity mode scans, depending on which mass-range has the more interesting content?
Rgui outputs:
Converting RAWs:
Type 'q()' to quit R.
> setwd("C:/Users/3125319/Desktop/EZ20140612")
> converter <- c("C:/Program_Files/ProteoWizard/ProteoWizard_3.0.6090/msconvert.exe")
> FILES <- list.files(recursive=TRUE,full.names=TRUE,pattern="\\.raw")
> for (i in 1:length(FILES)){system (paste(converter," --mzXML --32 --filter \"peakPicking true 1\" --filter \"polarity positive\" -o Positive -v",FILES[i]))}
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Positive
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity positive
filenames:
.\QC_01.raw
processing file: .\QC_01.raw
writing output file: Positive\QC_01.mzXML
1/1127
100/1127
200/1127
300/1127
400/1127
500/1127
600/1127
700/1127
800/1127
900/1127
1000/1127
1100/1127
1127/1127
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Positive
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity positive
filenames:
.\QC_02.raw
processing file: .\QC_02.raw
writing output file: Positive\QC_02.mzXML
1/1133
100/1133
200/1133
300/1133
400/1133
500/1133
600/1133
700/1133
800/1133
900/1133
1000/1133
1100/1133
1133/1133
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Positive
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity positive
filenames:
.\QC_03.raw
processing file: .\QC_03.raw
writing output file: Positive\QC_03.mzXML
1/1134
100/1134
200/1134
300/1134
400/1134
500/1134
600/1134
700/1134
800/1134
900/1134
1000/1134
1100/1134
1134/1134
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Positive
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity positive
filenames:
.\QC_04.raw
processing file: .\QC_04.raw
writing output file: Positive\QC_04.mzXML
1/1090
100/1090
200/1090
300/1090
400/1090
500/1090
600/1090
700/1090
800/1090
900/1090
1000/1090
1090/1090
> for (i in 1:length(FILES)){system (paste(converter," --mzXML --32 --filter \"peakPicking true 1\" --filter \"polarity negative\" -o Negative -v",FILES[i]))}
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Negative
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity negative
filenames:
.\QC_01.raw
processing file: .\QC_01.raw
writing output file: Negative\QC_01.mzXML
1/2254
100/2254
200/2254
300/2254
400/2254
500/2254
600/2254
700/2254
800/2254
900/2254
1000/2254
1100/2254
1200/2254
1300/2254
1400/2254
1500/2254
1600/2254
1700/2254
1800/2254
1900/2254
2000/2254
2100/2254
2200/2254
2254/2254
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Negative
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity negative
filenames:
.\QC_02.raw
processing file: .\QC_02.raw
writing output file: Negative\QC_02.mzXML
1/2266
100/2266
200/2266
300/2266
400/2266
500/2266
600/2266
700/2266
800/2266
900/2266
1000/2266
1100/2266
1200/2266
1300/2266
1400/2266
1500/2266
1600/2266
1700/2266
1800/2266
1900/2266
2000/2266
2100/2266
2200/2266
2266/2266
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Negative
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity negative
filenames:
.\QC_03.raw
processing file: .\QC_03.raw
writing output file: Negative\QC_03.mzXML
1/2268
100/2268
200/2268
300/2268
400/2268
500/2268
600/2268
700/2268
800/2268
900/2268
1000/2268
1100/2268
1200/2268
1300/2268
1400/2268
1500/2268
1600/2268
1700/2268
1800/2268
1900/2268
2000/2268
2100/2268
2200/2268
2268/2268
format: mzXML
m/z: Compression-None, 32-bit
intensity: Compression-None, 32-bit
rt: Compression-None, 32-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: Negative
extension: .mzXML
contactFilename:
filters:
peakPicking true 1
polarity negative
filenames:
.\QC_04.raw
processing file: .\QC_04.raw
writing output file: Negative\QC_04.mzXML
1/2180
100/2180
200/2180
300/2180
400/2180
500/2180
600/2180
700/2180
800/2180
900/2180
1000/2180
1100/2180
1200/2180
1300/2180
1400/2180
1500/2180
1600/2180
1700/2180
1800/2180
1900/2180
2000/2180
2100/2180
2180/2180
>()q
Running XCMS:
> for (i in 1:length(rawfiles)){xset <- xcmsSet(rawfiles[i], method='centWave', ppm=2, peakwidth=c(5,100), snthresh=3, prefilter=c(3,1000), integrate=1, mzdiff=0.001, verbose.columns=TRUE, fitgauss=FALSE, nSlaves=1)
+ PeakML.xcms.write.SingleMeasurement (xset=xset,filename=outputfiles[i],ionisation="negative",addscans=2,writeRejected=FALSE,ApodisationFilter=TRUE)}
Detecting mass traces at 2 ppm ...
% finished: 0 10 20 30 40 50 60 70 80 90 100
0 m/z ROI's.
No ROIs found !
negative
retrieving raw data
- C:/Users/3125319/Desktop/EZ20140612/Negative/./QC_01.mzXML
Error in xset@peaks[peakid, ] : subscript out of bounds
In addition: Warning messages:
1: In .local(object, ...) :
It looks like this file is in profile mode. centWave can process only centroid mode data !
2: No peaks found in sample QC_01