private static Tracks ComputeSpectraTracks(Spectra spectra, DBOptions options, string outputFilename, int missingScan, int centroid, int minPeaks, double valleyFactor, MaxQuant.CentroidPosition centroidMethod) { //Trail.RemoveFinished(ref trails, spectra, -1); double[] centerMassArray; float[] centerMassErrorArray; float[] intensityArray; float[] minTimeArray; float[] maxTimeArray; long[] filePosArray; //TODO Cycle values to optimize missing scans and centroid values string file = null; if (options.WriteMaxQuantPeakFile) { file = options.OutputFolder + vsCSV.GetFileName_NoExtension(outputFilename) + "_Peaks.txt"; } MaxQuant.PeakDetection.Detect(file, missingScan, //*1-2-3-4-5 centroid, //*1-2-3-4-5-6-7-8-9-10 centroidMethod, //* false, 0, options.precursorMassTolerance.Value, //TODO ensure its always in ppm minPeaks, //*1-2-3-4-5-6-7-8-9-10 valleyFactor, //*0.1-0.2-0.3-...-3.0 true, 0, new Trinity.MaxQuant.RawFileWrapper(spectra), true, null, out centerMassArray, out centerMassErrorArray, out intensityArray, out minTimeArray, out maxTimeArray, out filePosArray); Tracks tracks = new Tracks(); for (int i = 0; i < centerMassArray.Length; i++) { tracks.AddTrack(centerMassArray[i], (minTimeArray[i] + maxTimeArray[i]) * 0.5, minTimeArray[i], maxTimeArray[i], intensityArray[i]); } return(tracks); }
public static Tracks Import(string filename, DBOptions dbOptions) { vsCSV csv = new vsCSV(filename); if (csv.LINES_LIST.Count == 0 || csv.LINES_LIST[0].CompareTo(Track.TITLE) != 0) { return(null); } Tracks tracks = new Tracks(); for (int i = 1; i < csv.LINES_LIST.Count; i++) { try { string[] splits = csv.LINES_LIST[i].Split(vsCSV._Generic_Separator); tracks.AddTrack(double.Parse(splits[0]), double.Parse(splits[1]), double.Parse(splits[3]), double.Parse(splits[4]), double.Parse(splits[2])); } catch (Exception) { dbOptions.ConSole.WriteLine("Error parsing line : " + csv.LINES_LIST[i]); } } return(tracks); }