Hi,
I am using a script to convert my raw MS files to mzML format. It worked for all of my sample files and blanks but not for my QC pool or standards, even though all the files are in the same folder and I cannot understand the differences between them that would cause this issue. This is the script I have been given that has worked for other people in my lab group:
"
import os, sys
from subprocess import call
import glob
def MSConvertBatch():
path = os.getcwd()
for fn in os.listdir(path):
if ".d" in fn:
if os.path.isfile(path + '\\' + fn.replace('.d','.mzML')): print (path +"\\"+ fn + " already exists") else: print (path + '\\' + fn + " not converted yet!!") os.system('"C:\Program Files\ProteoWizard\ProteoWizard 3.0.20321.6df943caa\MSConvert.exe"' + " " + fn + " config.txt ") #print('"C:\Program Files\ProteoWizard\ProteoWizard 3.0.20321.6df943caa\MSConvert.exe"'+" " + fn + " config.txt ") print (path + '\\' + fn + " conversion completed!")
MSConvertBatch()
"
And this is the config.txt file contents:
"
mzML=true
zlib=true
filter="peakPicking true 1-"
filter="sortByScanTime"
"
When I run the script I see the progress of all the sample files being converted, but if I try using it on just the files it won't convert, the progress screen pops up for a second and disappears, without anything happening.
I would use the MSConvert app to convert them, but I read that the peakpicking algorithm would be different (with my script using a local maxima algorithm and the application using either vendor of CWT methods).
Any insights/help would be greatly appreciated, thank you.
This is incorrect. MSConvertGUI and MSConvert offer exactly the same peakpicking options as they are both interfaces to the same underlying code.
You should use SeeMS to try to understand why those files are not converting.
Also note that your script seems inconsistent in which file types it's looking for - is it .d or .raw?