public static ProteinProphetResult RunProteinProphet(String cometFilePath, String outputFolder, Boolean keepResults) { Logger.debug("Post processing comet file: "); Console.WriteLine("Runnign protein prophet, if program doesn't respond for a long time, try pressing a typing a few keys into the command line"); String proteinProphetOutput = ProteinProphetSearch(cometFilePath, outputFolder, keepResults); ProteinProphetResult ppr = ProteinProphetEvaluator.getProteinProphetResult(proteinProphetOutput); ppr.SetProteinGroup(ProteinProphetEvaluator.ExtractPositiveProteinGroups(proteinProphetOutput)); return(ppr); }
/* * Returns the ProteinProphetFile... this gives us a query-able object which can * determine if a protein accession was identified by an experiment, as well as * specific peptides. */ private static ProteinProphetFile processProteinProphetFile(String protXMLFileName) { const double fdr_threshold = 0.01; // 1% false discovery rate double fdr = setFDRThreshold(protXMLFileName, fdr_threshold); List <String> proteinGroupsData = extractProteinGroupsData(protXMLFileName); List <String> filteredProteinsData = filterProteinsData(proteinGroupsData); Dictionary <String, List <String> > proteinsToPeptides = extractPeptides(filteredProteinsData); ProteinProphetFile ppf = new ProteinProphetFile(protXMLFileName, proteinsToPeptides, fdr, protein_probablity_threshold); ppf.getProteinProphetResult().SetProteinGroup(ProteinProphetEvaluator.ExtractPositiveProteinGroups(protXMLFileName)); return(ppf); }