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; }
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); }
/// <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); }