Пример #1
0
        private static PScan GetPScan(ScanStatistics scanStats, CentroidStream centroidStream, int msOrder,
                                      string fileName, double?precursorMz = null, int?precursorCharge = null)
        {
            var scan = new PScan
            {
                FileName          = fileName,
                BasePeakMass      = scanStats.BasePeakMass,
                ScanType          = scanStats.ScanType,
                BasePeakIntensity = scanStats.BasePeakIntensity,
                PacketType        = scanStats.PacketType,
                ScanNumber        = scanStats.ScanNumber,
                RetentionTime     = scanStats.StartTime,
                Masses            = centroidStream.Masses.ToArray(),
                Intensities       = centroidStream.Intensities.ToArray(),
                LowMass           = scanStats.LowMass,
                HighMass          = scanStats.HighMass,
                TIC             = scanStats.TIC,
                FileId          = fileName + ".raw",
                PrecursorMz     = precursorMz,
                PrecursorCharge = precursorCharge,
                MsOrder         = msOrder
            };

            return(scan);
        }
Пример #2
0
        public ScanStatistics getScansStatistics(long scanId, resultClass token)
        {
            ScanStatistics scanStatistics = new ScanStatistics();
            string         path           = String.Empty;

            try
            {
                get    httpGet      = new get();
                secure token_secure = new secure(token);
                token_secure.findToken(token);
                path = token_secure.get_rest_Uri(String.Format(CxConstant.CxScanStatistics, scanId));
                if (token.debug && token.verbosity > 1)
                {
                    Console.WriteLine("API: {0}", path);
                }


                httpGet.get_Http(token, path);
                if (token.status == 0)
                {
                    scanStatistics = JsonConvert.DeserializeObject <ScanStatistics>(token.op_result);
                }
            }
            catch (Exception ex)
            {
                if (token.debug && token.verbosity > 0)
                {
                    Console.Error.WriteLine("getScansStatistics: {0}, Message: {1} Trace: {2}", path, ex.Message, ex.StackTrace);
                }
            }
            return(scanStatistics);
        }
Пример #3
0
        /// <summary>
        /// Get and set data from the mass spectrum
        /// </summary>
        /// <param name="inputRawFile"></param>
        private void GetSpectrumData(IRawDataPlus inputRawFile)
        {
            // Get the first and last scan from the RAW file
            int    firstScanNumber = inputRawFile.RunHeaderEx.FirstSpectrum;
            int    lastScanNumber  = inputRawFile.RunHeaderEx.LastSpectrum;
            string itHeaderParam   = "Ion Injection Time (ms)";

            // Set up empty variables to populate with mass spectrum data
            TICList           = new double[lastScanNumber];
            ITList            = new double[lastScanNumber];
            RetentionTimeList = new double[lastScanNumber];

            try
            {
                //get out information from mass spectra for each scan
                for (int scan = 0; scan <= (ScanNumList.Length - 1); scan++)
                {
                    int thisScan = ScanNumList[scan];
                    // get the scan statistics for this scan number
                    ScanStatistics scanStatistic = inputRawFile.GetScanStatsForScanNumber(thisScan);

                    //get the TIC
                    TICList[scan] = scanStatistic.TIC;
                    //get retention time
                    RetentionTimeList[scan] = inputRawFile.RetentionTimeFromScanNumber(thisScan);
                    ITList[scan]            = GetScanExtraDouble(inputRawFile, thisScan, itHeaderParam);

                    //TODO: get out noise for peaks
                }
            }
            catch (Exception ex)
            {
                Console.Write("Error in accessing spectrum data: " + ex);
            }
        }
Пример #4
0
        /*
         *     public List<ScanObject> projectId_in_scan(List<ScanObject> scans, string project_name)
         *     {
         *         if (String.IsNullOrEmpty(project_name))
         *         {
         *             return scans;
         *         }
         *         List<ScanObject> pclass = new List<ScanObject>();
         *         foreach (ScanObject scan in scans)
         *         {
         *             if (scan.Project.Name.Contains(project_name))
         *             {
         *                 pclass.Add(scan);
         *             }
         *         }
         *         return pclass;
         *     }
         *
         */
        public bool get_result_statistics(resultClass token, long scanId)
        {
            getScans scans = new getScans();

            if (!CxSettings.ContainsKey(scanId))
            {
                ScanStatistics scanStatistics = scans.getScansStatistics(scanId, token);
                CxResultStatistics.Add(scanId, scanStatistics);
            }
            return(true);
        }
Пример #5
0
        private string getLanguages(List <ScanObject> scans, Dictionary <long, ScanStatistics> scannedStatistics, long scanId)
        {
            ScanStatistics scanStatistics = scannedStatistics[scanId];
            List <string>  lang           = new List <string>();

            LanguageStateCollection[] lstates = getScanObject(scans, scanId).ScanState.LanguageStateCollection;
            foreach (LanguageStateCollection state in lstates)
            {
                lang.Add(state.LanguageName);
            }
            return(String.Join(",", lang.ToArray()));
        }
Пример #6
0
        private bool findFirstorLastScan(long projectId, ScanObject scan, Dictionary <string, Teams> teams, Dictionary <long, ReportStaging> keyValuePairs, bool operation)
        {
            getScans scans = new getScans();

            string fullName = teams[scan.OwningTeamId].fullName;

            if (keyValuePairs.ContainsKey(scan.Project.Id))
            {
                bool          start         = false;
                ReportStaging reportStaging = keyValuePairs[scan.Project.Id];
                long          diff          = DateTimeOffset.Compare(reportStaging.dateTime, (DateTimeOffset)scan.DateAndTime.StartedOn);
                if (operation)
                {
                    start = (diff > 0) ? true : false;
                }
                else
                {
                    start = (diff < 0) ? true : false;
                }
                if (start)
                {
                    ScanStatistics scanStatistics = scans.getScansStatistics(scan.Id, token);
                    ReportStaging  staging        = new ReportStaging()
                    {
                        ProjectId   = scan.Project.Id,
                        ProjectName = scan.Project.Name,
                        TeamName    = fullName,
                        dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                        High        = scanStatistics.HighSeverity,
                        Medium      = scanStatistics.MediumSeverity,
                        Low         = scanStatistics.LowSeverity,
                        ScanId      = scan.Id
                    };
                    keyValuePairs[scan.Project.Id] = staging;
                }
            }
            else
            {
                ScanStatistics scanStatistics = scans.getScansStatistics(scan.Id, token);
                keyValuePairs.Add(scan.Project.Id, new ReportStaging()
                {
                    ProjectId   = scan.Project.Id,
                    ProjectName = scan.Project.Name,
                    TeamName    = fullName,
                    dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                    High        = scanStatistics.HighSeverity,
                    Medium      = scanStatistics.MediumSeverity,
                    Low         = scanStatistics.LowSeverity,
                    ScanId      = scan.Id
                });
            }
            return(true);
        }
Пример #7
0
        public ScanStatistics getScansStatistics(long scanId, resultClass token)
        {
            get            httpGet        = new get();
            ScanStatistics scanStatistics = new ScanStatistics();
            secure         token_secure   = new secure(token);

            token_secure.findToken(token);
            string path = token_secure.get_rest_Uri(String.Format(CxConstant.CxScanStatistics, scanId));

            httpGet.get_Http(token, path);
            if (token.status == 0)
            {
                scanStatistics = JsonConvert.DeserializeObject <ScanStatistics>(token.op_result);
            }
            return(scanStatistics);
        }
Пример #8
0
        public List <ReportLastScan> reportLastScan(resultClass token, List <ScanObject> scans, Dictionary <string, Teams> allTeams, Dictionary <long, ScanStatistics> scannedStatistics, Dictionary <long, ScanSettings> settings, Dictionary <long, Presets> presets)
        {
            List <ReportLastScan> reportScan = new List <ReportLastScan>();

            foreach (ScanObject scan in scans)
            {
                ScanStatistics            scanStatistics = scannedStatistics[scan.Id];
                List <string>             lang           = new List <string>();
                LanguageStateCollection[] lstates        = scan.ScanState.LanguageStateCollection;
                foreach (LanguageStateCollection state in lstates)
                {
                    lang.Add(state.LanguageName);
                }
                ReportLastScan oneScan = new ReportLastScan()
                {
                    Comment         = scan.Comment,
                    ScanId          = scan.Id,
                    Preset          = presets[settings[scan.Project.Id].preset.id].name,
                    ProjectId       = scan.Project.Id,
                    ProjectName     = scan.Project.Name,
                    ScanFinishDate  = scan.DateAndTime.FinishedOn.ToString(),
                    ScanStartDate   = scan.DateAndTime.StartedOn.ToString(),
                    EngineStartDate = scan.DateAndTime.EngineStartedOn.ToString(),
                    TeamName        = allTeams[scan.OwningTeamId].fullName,
                    ScanType        = scan.ScanType.Value,
                    Owner           = scan.Owner,
                    LOC             = scan.ScanState.LinesOfCode,
                    FailedLOC       = scan.ScanState.FailedLinesOfCode,
                    FileCount       = scan.ScanState.FilesCount,
                    Origin          = scan.Origin,
                    Languages       = String.Join(",", lang.ToArray()),
                    isIncremental   = scan.IsIncremental ? "true" : "false",
                    High            = scanStatistics.HighSeverity,
                    Medium          = scanStatistics.MediumSeverity,
                    Low             = scanStatistics.LowSeverity,
                    Info            = scanStatistics.InfoSeverity
                };
                reportScan.Add(oneScan);
            }

            return(reportScan);
        }
Пример #9
0
        private bool findFirstandLastScan(long projectId, ScanObject scan, ScanStatistics scanStatistics, Dictionary <long, ReportStaging> keyStartPairs, Dictionary <long, ReportStaging> keyLastPairs)
        {
            getScans scans = new getScans();

            if (keyStartPairs.ContainsKey(scan.Project.Id))
            {
                ReportStaging reportStaging = keyStartPairs[scan.Project.Id];
                long          diff          = DateTimeOffset.Compare(reportStaging.dateTime, (DateTimeOffset)scan.DateAndTime.StartedOn);
                if (diff > 0)
                {
                    ReportStaging staging = new ReportStaging()
                    {
                        ProjectId   = scan.Project.Id,
                        ProjectName = scan.Project.Name,
                        dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                        High        = scanStatistics.HighSeverity,
                        Medium      = scanStatistics.MediumSeverity,
                        Low         = scanStatistics.LowSeverity,
                        ScanId      = scan.Id
                    };
                    keyStartPairs[scan.Project.Id] = staging;
                }
            }
            else
            {
                keyStartPairs.Add(scan.Project.Id, new ReportStaging()
                {
                    ProjectId   = scan.Project.Id,
                    ProjectName = scan.Project.Name,
                    dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                    High        = scanStatistics.HighSeverity,
                    Medium      = scanStatistics.MediumSeverity,
                    Low         = scanStatistics.LowSeverity,
                    ScanId      = scan.Id
                });
            }

            if (keyLastPairs.ContainsKey(scan.Project.Id))
            {
                ReportStaging reportStaging = keyLastPairs[scan.Project.Id];
                long          diff          = DateTimeOffset.Compare(reportStaging.dateTime, (DateTimeOffset)scan.DateAndTime.StartedOn);
                if (diff < 0)
                {
                    ReportStaging staging = new ReportStaging()
                    {
                        ProjectId   = scan.Project.Id,
                        ProjectName = scan.Project.Name,
                        dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                        High        = scanStatistics.HighSeverity,
                        Medium      = scanStatistics.MediumSeverity,
                        Low         = scanStatistics.LowSeverity,
                        ScanId      = scan.Id
                    };
                    keyLastPairs[scan.Project.Id] = staging;
                }
            }
            else
            {
                keyLastPairs.Add(scan.Project.Id, new ReportStaging()
                {
                    ProjectId   = scan.Project.Id,
                    ProjectName = scan.Project.Name,
                    dateTime    = (DateTimeOffset)scan.DateAndTime.StartedOn,
                    High        = scanStatistics.HighSeverity,
                    Medium      = scanStatistics.MediumSeverity,
                    Low         = scanStatistics.LowSeverity,
                    ScanId      = scan.Id
                });
            }

            return(true);
        }