示例#1
0
        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);
        }
示例#2
0
        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);
        }