public void WriteResults(string peaksOutputPath, string modPeptideOutputPath, string baseSeqPeptideOutputPath, string proteinOutputPath) { if (peaksOutputPath != null) { using (StreamWriter output = new StreamWriter(peaksOutputPath)) { output.WriteLine(ChromatographicPeak.TabSeparatedHeader); foreach (var peak in Peaks.SelectMany(p => p.Value)) { output.WriteLine(peak.ToString()); } } } if (modPeptideOutputPath != null) { using (StreamWriter output = new StreamWriter(modPeptideOutputPath)) { output.WriteLine(Peptide.TabSeparatedHeader(SpectraFiles)); foreach (var peptide in PeptideModifiedSequences.OrderBy(p => p.Key)) { output.WriteLine(peptide.Value.ToString(SpectraFiles)); } } } if (baseSeqPeptideOutputPath != null) { using (StreamWriter output = new StreamWriter(baseSeqPeptideOutputPath)) { output.WriteLine(Peptide.TabSeparatedHeader(SpectraFiles)); foreach (var peptide in PeptideBaseSequences.OrderBy(p => p.Key)) { output.WriteLine(peptide.Value.ToString(SpectraFiles)); } } } if (proteinOutputPath != null) { using (StreamWriter output = new StreamWriter(proteinOutputPath)) { output.WriteLine(ProteinGroup.TabSeparatedHeader(SpectraFiles)); foreach (var protein in ProteinGroups.OrderBy(p => p.Key)) { output.WriteLine(protein.Value.ToString(SpectraFiles)); } } } }
public void WriteResults(string peaksOutputPath, string modPeptideOutputPath, string proteinOutputPath, string bayesianProteinQuantOutput, bool silent) { if (!silent) { Console.WriteLine("Writing output..."); } if (peaksOutputPath != null) { using (StreamWriter output = new StreamWriter(peaksOutputPath)) { output.WriteLine(ChromatographicPeak.TabSeparatedHeader); foreach (var peak in Peaks.SelectMany(p => p.Value) .OrderBy(p => p.SpectraFileInfo.FilenameWithoutExtension) .ThenByDescending(p => p.Intensity)) { output.WriteLine(peak.ToString()); } } } if (modPeptideOutputPath != null) { using (StreamWriter output = new StreamWriter(modPeptideOutputPath)) { output.WriteLine(Peptide.TabSeparatedHeader(SpectraFiles)); foreach (var peptide in PeptideModifiedSequences.OrderBy(p => p.Key)) { output.WriteLine(peptide.Value.ToString(SpectraFiles)); } } } if (proteinOutputPath != null) { using (StreamWriter output = new StreamWriter(proteinOutputPath)) { output.WriteLine(ProteinGroup.TabSeparatedHeader(SpectraFiles)); foreach (var protein in ProteinGroups.OrderBy(p => p.Key)) { output.WriteLine(protein.Value.ToString(SpectraFiles)); } } } if (bayesianProteinQuantOutput != null) { StringBuilder header = new StringBuilder(); StringBuilder[] proteinStringBuilders = new StringBuilder[ProteinGroups.Count]; for (int i = 0; i < proteinStringBuilders.Length; i++) { proteinStringBuilders[i] = new StringBuilder(); } using (StreamWriter output = new StreamWriter(bayesianProteinQuantOutput)) { if (!ProteinGroups.Any()) { return; } var firstProteinQuantResults = ProteinGroups.First().Value.ConditionToQuantificationResults; if (!firstProteinQuantResults.Any()) { return; } string tabSepHeader = null; if (firstProteinQuantResults.First().Value is PairedProteinQuantResult) { tabSepHeader = PairedProteinQuantResult.TabSeparatedHeader(); } else { tabSepHeader = UnpairedProteinQuantResult.TabSeparatedHeader(); } foreach (var condition in firstProteinQuantResults.Keys) { header.Append(tabSepHeader); int p = 0; // sort by protein false discovery rate, then by number of measurements foreach (var protein in ProteinGroups .OrderByDescending(v => v.Value.ConditionToQuantificationResults[condition].IsStatisticallyValid) .ThenByDescending(v => v.Value.ConditionToQuantificationResults[condition].BayesFactor) .ThenByDescending(v => v.Value.ConditionToQuantificationResults[condition].Peptides.Count)) { proteinStringBuilders[p].Append( protein.Value.ConditionToQuantificationResults[condition].ToString()); p++; } } output.WriteLine(header); foreach (var proteinStringBuilder in proteinStringBuilders) { output.WriteLine(proteinStringBuilder); } } } if (!silent) { Console.WriteLine("Finished writing output"); } }
public void WriteResults(string peaksOutputPath, string modPeptideOutputPath, string proteinOutputPath, string bayesianProteinQuantOutput, bool silent) { if (!silent) { Console.WriteLine("Writing output..."); } if (peaksOutputPath != null) { using (StreamWriter output = new StreamWriter(peaksOutputPath)) { output.WriteLine(ChromatographicPeak.TabSeparatedHeader); foreach (var peak in Peaks.SelectMany(p => p.Value)) { output.WriteLine(peak.ToString()); } } } if (modPeptideOutputPath != null) { using (StreamWriter output = new StreamWriter(modPeptideOutputPath)) { output.WriteLine(Peptide.TabSeparatedHeader(SpectraFiles)); foreach (var peptide in PeptideModifiedSequences.OrderBy(p => p.Key)) { output.WriteLine(peptide.Value.ToString(SpectraFiles)); } } } if (proteinOutputPath != null) { using (StreamWriter output = new StreamWriter(proteinOutputPath)) { output.WriteLine(ProteinGroup.TabSeparatedHeader(SpectraFiles)); foreach (var protein in ProteinGroups.OrderBy(p => p.Key)) { output.WriteLine(protein.Value.ToString(SpectraFiles)); } } } if (bayesianProteinQuantOutput != null) { StringBuilder header = new StringBuilder(); StringBuilder[] proteinStringBuilders = new StringBuilder[ProteinGroups.Count]; for (int i = 0; i < proteinStringBuilders.Length; i++) { proteinStringBuilders[i] = new StringBuilder(); } using (StreamWriter output = new StreamWriter(bayesianProteinQuantOutput)) { if (!ProteinGroups.Any()) { return; } var firstProteinQuantResults = ProteinGroups.First().Value.ConditionToQuantificationResults; if (!firstProteinQuantResults.Any()) { return; } foreach (var condition in firstProteinQuantResults.Keys) { header.Append(ProteinQuantificationEngineResult.TabSeparatedHeader()); int p = 0; // sort by protein false discovery rate, then by number of fold-change measurements foreach (var protein in ProteinGroups .OrderBy(v => v.Value.ConditionToQuantificationResults[condition].FalseDiscoveryRate) .ThenByDescending(v => v.Value.ConditionToQuantificationResults[condition].PeptideFoldChangeMeasurements.SelectMany(b => b.foldChanges).Count())) { proteinStringBuilders[p].Append( protein.Value.ConditionToQuantificationResults[condition].ToString()); p++; } } output.WriteLine(header); foreach (var proteinStringBuilder in proteinStringBuilders) { output.WriteLine(proteinStringBuilder); } } } if (!silent) { Console.WriteLine("Finished writing output"); } }