def detect_one_run(run, args): infile = os.path.join(args.indir, run) print "processing GC-MS file:", infile # sys.stdout("processing GCSM run:", run) # load the input GC-MS file try: if args.ftype == 'CDF': from pyms.GCMS.IO.ANDI.Function import ANDI_reader data = ANDI_reader(infile) elif args.ftype == 'JDX': #data = JCAMP_reader(in_file) data = pyms.GCMS.IO.JCAMP.Function.JCAMP_OpenChrom_reader(infile) else: raise ValueError('can only load ANDI (CDF) or JDX files!') except: print "Failure to load input file ", infile else: data.trim(args.trimstart + "m", args.trimend + "m") # get TIC. Would prefer to get from smoothed IM but API is faulty! tic = data.get_tic() # integer mass im = build_intensity_matrix_i(data) # would be nice to do noise_mult*noise_level using the noise level AFTER smoothing, # but i can't seem to get the TIC for the smoothed IM. peak_list = call_peaks(im, tic, True, args) return peak_list, run
def detect_one_run(run, args): infile = os.path.join(args.indir, run) print "processing GC-MS file:", infile # sys.stdout("processing GCSM run:", run) # load the input GC-MS file try: if args.ftype == 'CDF': from pyms.GCMS.IO.ANDI.Function import ANDI_reader data = ANDI_reader(infile) elif args.ftype == 'JDX': #data = JCAMP_reader(in_file) data = pyms.GCMS.IO.JCAMP.Function.JCAMP_OpenChrom_reader(infile) else: raise ValueError('can only load ANDI (CDF) or JDX files!') except: print "Failure to load input file ", infile else: data.trim(args.trimstart+"m",args.trimend+"m") # get TIC. Would prefer to get from smoothed IM but API is faulty! tic = data.get_tic() # integer mass im = build_intensity_matrix_i(data) # would be nice to do noise_mult*noise_level using the noise level AFTER smoothing, # but i can't seem to get the TIC for the smoothed IM. peak_list = call_peaks(im, tic, True, args) return peak_list, run
def matrix_from_cdf(cdffile, name): data = ANDI_reader(cdffile) print(name) data.info() tic = data.get_tic() noise_lvl = window_analyzer(tic) return build_intensity_matrix(data), noise_lvl
def matrix_from_cdf(cdffile, name): ''' Intakes a .cdf file and produces an intensity matrix and a noise level . The noise level info is obtained by producing a tic and using the window_analyzer method to extract a noise approximation. @param cdffile: Absolutepath to a .cdf file to be processed @param name: file name associated with .cdf file @return: An intensity matrix and a corresponding noise level value ''' data = ANDI_reader(cdffile) print(name) data.info() tic = data.get_tic() noise_lvl = window_analyzer(tic) print('nz=', noise_lvl) return build_intensity_matrix(data), noise_lvl
def load_run(infile): try: if args.ftype == 'CDF': from pyms.GCMS.IO.ANDI.Function import ANDI_reader data = ANDI_reader(infile) elif args.ftype == 'JDX': #data = JCAMP_reader(in_file) data = pyms.GCMS.IO.JCAMP.Function.JCAMP_OpenChrom_reader(infile) else: raise ValueError('can only load ANDI (CDF) or JDX files!') except: print "Failure to load input file ", infile else: data.trim("4.0m", "20.0m") # get TIC. Would prefer to get from smoothed IM but API is faulty! tic = data.get_tic() # integer mass return build_intensity_matrix_i(data), tic
"""proc.py """ import sys sys.path.append("/x/PyMS/") from pyms.GCMS.IO.ANDI.Function import ANDI_reader from pyms.Noise.SavitzkyGolay import savitzky_golay from pyms.Baseline.TopHat import tophat # read the raw data andi_file = "/x/PyMS/data/gc01_0812_066.cdf" data = ANDI_reader(andi_file) # get the TIC tic = data.get_tic() # apply noise smoothing and baseline correction tic1 = savitzky_golay(tic) tic2 = tophat(tic1, struct="1.5m") # save smoothed/baseline corrected TIC tic.write("output/tic.dat", minutes=True) tic1.write("output/tic_smooth.dat", minutes=True) tic2.write("output/tic_smooth_bc.dat", minutes=True)
from pyms.GCMS.Function import build_intensity_matrix from pyms.Display.Function import plot_ic # read the raw data as a GCMS_data object andi_file = "/x/PyMS/data/gc01_0812_066.cdf" data = ANDI_reader(andi_file) # IntensityMatrix # must build intensity matrix before accessing any intensity matrix methods. # default, float masses with interval (bin interval) of one from min mass print "default intensity matrix, bin interval = 1, boundary +/- 0.5" im = build_intensity_matrix(data) # # IonChromatogram # # TIC from raw data tic = data.get_tic() # save TIC to a file #Call function to store a plot of the TIC plot_ic(tic, line_label = 'TIC', plot_title = 'TIC for gc01_0812_066')