Ejemplo n.º 1
0
        public PHRPReaderParser(string synopsisFilePath, FragmentLadderOptions fragLadderOptions)
        {
            m_fragLadderOptions = fragLadderOptions;
            m_fragLadderOptions.modificationList.Clear();
            using (var reader = new StreamReader(synopsisFilePath))
            {
                m_firstLine = reader.ReadLine().Split('\t');
                for (int i = 0; i < m_firstLine.Length; i++)
                {
                    if (m_firstLine[i] == "Peptide")
                    {
                        m_peptideColumnIndex = i;
                        break;
                    }
                }
            }
            var oStartupOptions = new clsPHRPStartupOptions
            {
                LoadModsAndSeqInfo = true,
                LoadMSGFResults    = true,
                LoadScanStatsData  = false,
                MaxProteinsPerPSM  = 100
            };

            m_reader = new clsPHRPReader(synopsisFilePath, oStartupOptions);
            //m_reader.FastReadMode = true;
            m_reader.SkipDuplicatePSMs = true;
            m_parser = m_reader.PHRPParser;
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <PrSm> > ReadAsync(IEnumerable <string> modIgnoreList = null, IProgress <double> progress = null)
        {
            var oStartupOptions = new clsPHRPStartupOptions {
                LoadModsAndSeqInfo = true
            };
            var phrpReader = new clsPHRPReader(filePath, oStartupOptions);

            if (!string.IsNullOrEmpty(phrpReader.ErrorMessage))
            {
                throw new Exception(phrpReader.ErrorMessage);
            }

            var identifications = await Task.Run(
                () =>
            {
                var ids = new List <PrSm>();
                while (phrpReader.MoveNext())
                {
                    phrpReader.FinalizeCurrentPSM();
                    var psm      = phrpReader.CurrentPSM;
                    var proteins = psm.Proteins;

                    var parsedSequence = ParseSequence(psm.PeptideCleanSequence, psm.ModifiedResidues);
                    foreach (var protein in proteins)
                    {
                        var prsm = new PrSm
                        {
                            Heavy          = false,
                            ProteinName    = protein,
                            ProteinDesc    = string.Empty,
                            Charge         = psm.Charge,
                            Sequence       = parsedSequence,
                            Scan           = psm.ScanNumber,
                            Score          = Convert.ToDouble(psm.MSGFSpecProb),
                            UseGolfScoring = true,
                            QValue         = 0,
                        };

                        prsm.SetSequence(GetSequenceText(parsedSequence), parsedSequence);

                        ids.Add(prsm);
                    }
                }

                return(ids);
            });

            return(identifications);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// PHRPReader configuration
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        protected clsPHRPReader InitializeReader(string path)
        {
            AbortRequested = false;

            var oStartupOptions = new clsPHRPStartupOptions
            {
                LoadModsAndSeqInfo = true,
                LoadMSGFResults    = true,
                LoadScanStatsData  = false,
                MaxProteinsPerPSM  = 100
            };

            UpdateProgress(0, "Initializing reader");

            var reader = new clsPHRPReader(path, oStartupOptions)
            {
                SkipDuplicatePSMs = true,
                FastReadMode      = true
            };

            return(reader);
        }