public void TestMSGFFilter() { const string workDir = @"F:\My Documents\Projects\JoshAldrich\AScore\AScore_DLL\TestCase"; var fht = Path.Combine(workDir, "GmaxP_itraq_NiNTA_15_29Apr10_Hawk_03-10-09p_fht.txt"); var param = Path.Combine(workDir, "AScore_CID_0.5Da_ETD_0.5Da_HCD_0.05Da_MSGF1E-12.xml"); var dta = Path.Combine(workDir, "GmaxP_itraq_NiNTA_15_29Apr10_Hawk_03-10-09p_dta.txt"); var resultsFile = Path.Combine(workDir, "GmaxP_itraq_NiNTA_15_29Apr10_Hawk_03-10-09p_fht_ascore.txt"); var peptideMassCalculator = GetDefaultPeptideMassCalculator(); PsmResultsManager dfht = new SequestFHT(fht); var pfile = new ParameterFileManager(param); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(dta); var sw = System.Diagnostics.Stopwatch.StartNew(); var ascoreEngine = new AScore_DLL.AScoreProcessor(); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dfht, pfile, resultsFile); sw.Stop(); Console.WriteLine("Time elapsed: {0:F1} seconds", sw.Elapsed.TotalSeconds); Console.WriteLine("Results in " + resultsFile); }
public void TestMSGFPlusResults() { const string workDir = @"F:\My Documents\Projects\JoshAldrich\AScore\AScore_DLL\TestCase"; var fht = Path.Combine(workDir, "CPTAC_CompREF_00_iTRAQ_NiNTA_01b_22Mar12_Lynx_12-02-29_msgfdb_fht.txt"); var param = Path.Combine(workDir, "AScore_CID_0.5Da_ETD_0.5Da_HCD_0.05Da_MSGF1E-12.xml"); var dta = Path.Combine(workDir, "CPTAC_CompREF_00_iTRAQ_NiNTA_01b_22Mar12_Lynx_12-02-29_dta.txt"); var resultsFile = Path.Combine(workDir, "CPTAC_CompREF_00_iTRAQ_NiNTA_01b_22Mar12_Lynx_12-02-29_msgfdb_fht_ascore.txt"); var peptideMassCalculator = GetDefaultPeptideMassCalculator(); PsmResultsManager dfht = new MsgfdbFHT(fht); var pfile = new ParameterFileManager(param); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(dta); var sw = System.Diagnostics.Stopwatch.StartNew(); var ascoreEngine = new AScore_DLL.AScoreProcessor(); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dfht, pfile, resultsFile); sw.Stop(); Console.WriteLine("Time elapsed: {0:F1} seconds", sw.Elapsed.TotalSeconds); Console.WriteLine("Results in " + resultsFile); }
public void EcoliTest2() { var datasetname = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\SisiTopDown\E_coli_BW_70_bottom_up_23Sep11_Draco_11-07-12_fht.txt" }; var dtaname = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\SisiTopDown\E_coli_BW_70_bottom_up_23Sep11_Draco_11-07-12_dta.txt" }; var ascParam = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\SisiTopDown\parameterFileForMus.xml" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var i = 0; i < dtaname.Length; i++) { var outFile = datasetname[i].Substring(0, datasetname[i].Length - 8) + "_AScoreTry.txt"; PsmResultsManager datasetMan = new SequestFHT(datasetname[i]); //DtaManager dtaManager = new DtaManager(dtaname[i]); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(dtaname[i]); var paramFile = new ParameterFileManager(ascParam[i]); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtaManager, datasetMan, paramFile, outFile); ascoreEngine.RunAScoreOnSingleFile(spectraCache, datasetMan, paramFile, outFile); } }
public void FengTest2() { var datasetname = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\FengTest\ETD\B_Mus_con_15Oct10_Hawk_03-10-10p_fht.txt" }; var dtaname = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\FengTest\ETD\B_Mus_con_15Oct10_Hawk_03-10-10p_dta.txt" }; var ascParam = new string[] { @"C:\Documents and Settings\aldr699\My Documents2011\FengTest\parameterFileForMusETD2.xml" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var i = 0; i < dtaname.Length; i++) { var outFile = datasetname[i].Substring(0, datasetname[i].Length - 8) + "_AScoreTry.txt"; PsmResultsManager datasetMan = new SequestFHT(datasetname[i]); //DtaManager dtaManager = new DtaManager(dtaname[i]); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(dtaname[i]); var paramFile = new ParameterFileManager(ascParam[i]); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtaManager, datasetMan, paramFile, outFile); ascoreEngine.RunAScoreOnSingleFile(spectraCache, datasetMan, paramFile, outFile); } }
public void NewTest() { var ascore = new string[] { "SOSM_May_P1_R2_13Jun11_Hawk_11-04-02p_fht.txt" }; //"SOSM_May_G2_R2_13Jun11_Hawk_11-04-02p_fht.txt", //"SOSM_May_M_R2_6Jun11_Hawk_11-04-02p_fht.txt", //"SOSM_May_P1_R1_6Jun11_Hawk_11-04-02p_fht.txt", //"SOSM_May_P1_R2_6Jun11_Hawk_11-04-02p_fht.txt"}; const string fhtPath = @"C:\Documents and Settings\aldr699\My Documents2011\SOSM\CID\ForAScore"; const string dtapath = @"C:\Documents and Settings\aldr699\My Documents2011\SOSM"; const string parFile = @"C:\Documents and Settings\aldr699\My Documents2011\SOSM\parameterFile.xml"; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); foreach (var a in ascore) { var myFht = Path.Combine(fhtPath, a); var myDta = Path.Combine(dtapath, a.Substring(0, a.Length - 8) + "_dta.txt"); var outFile = Path.Combine(fhtPath, a.Substring(0, a.Length - 8) + "_AScore.txt"); PsmResultsManager datasetMan = new SequestFHT(myFht); //DtaManager dtaManager = new DtaManager(myDta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(myDta); var paramFile = new ParameterFileManager(parFile); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtaManager, datasetMan, paramFile, outFile); ascoreEngine.RunAScoreOnSingleFile(spectraCache, datasetMan, paramFile, outFile); } }
public void Sisi() { const string ascoreP = "parameterFile.xml"; const string direct = @"C:\Users\aldr699\Documents\2012\Sisi_ASCORE\Group2"; var fhtFiles = new List <string> { "NMR_HetR_UG_01_20Jul11_Andromeda_11-06-19_fhtf.txt", "NMR_HetR_UG_02_20Jul11_Andromeda_11-06-29_fhtf.txt", "NMR_HetR_UG_03_20Jul11_Andromeda_11-06-19_fhtf.txt", "NMR_HetR_LG_01_20Jul11_Andromeda_11-06-29_fhtf.txt", "NMR_HetR_LG_02_20Jul11_Andromeda_11-06-29_fhtf.txt", "NMR_HetR_LG_03_20Jul11_Andromeda_11-06-19_fhtf.txt", "NMR_LaR80a_01_20Jul11_Andromeda_11-02-54_fhtf.txt", "NMR_LaR80a_02_20Jul11_Andromeda_11-02-56_fhtf.txt", "NMR_LaR80a_03_20Jul11_Andromeda_11-02-54_fhtf.txt" }; var dtaFiles = new List <string> { "NMR_HetR_UG_01_20Jul11_Andromeda_11-06-19_dta.txt", "NMR_HetR_UG_02_20Jul11_Andromeda_11-06-29_dta.txt", "NMR_HetR_UG_03_20Jul11_Andromeda_11-06-19_dta.txt", "NMR_HetR_LG_01_20Jul11_Andromeda_11-06-29_dta.txt", "NMR_HetR_LG_02_20Jul11_Andromeda_11-06-29_dta.txt", "NMR_HetR_LG_03_20Jul11_Andromeda_11-06-19_dta.txt", "NMR_LaR80a_01_20Jul11_Andromeda_11-02-54_dta.txt", "NMR_LaR80a_02_20Jul11_Andromeda_11-02-56_dta.txt", "NMR_LaR80a_03_20Jul11_Andromeda_11-02-54_dta.txt" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var i = 0; i < fhtFiles.Count; i++) { var tempfht = Path.Combine(direct, fhtFiles[i]); var tempdta = Path.Combine(direct, dtaFiles[i]); var ascP = Path.Combine(direct, ascoreP); var tempout = Path.Combine(direct, fhtFiles[i].Substring(0, fhtFiles[i].Length - 4) + "_AScore2.txt"); PsmResultsManager dsman = new SequestFHT(tempfht); //DtaManager dtman = new DtaManager(tempdta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(tempdta); var pman = new ParameterFileManager(ascP); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtman, dsman, pman, tempout); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dsman, pman, tempout); } }
public void SisiConfirm() { var dtaname = new string[] { @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\09302010_MG1655_phospho_S_08_B_100930113735_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_S_09_B_101001105913_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_s06_101002094806_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_s10_101001105913_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_S11_rerun_101005165350_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_s12_101002094806_dta.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_s7_101002094806_dta.txt" }; var datasetname = new string[] { @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\09302010_MG1655_phospho_S_08_B_100930113735_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_S_09_B_101001105913_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_s06_101002094806_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10012010_MG1655_phospho_s10_101001105913_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_S11_rerun_101005165350_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_s12_101002094806_msgfdb_fht.txt", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\10022010_MG1655_phospho_s7_101002094806_msgfdb_fht.txt" }; var ascParam = new string[] { @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml", @"C:\Users\aldr699\Documents\2012\Sisi_Work\PhosphohistidineConfirmation\HistPhos.xml" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var i = 0; i < dtaname.Length; i++) { var outFile = Path.Combine( Path.GetDirectoryName(datasetname[i]), Path.GetFileNameWithoutExtension(datasetname[i]) + "_AScore.txt"); PsmResultsManager datasetMan = new MsgfdbFHT(datasetname[i]); //DtaManager dtaManager = new DtaManager(dtaname[i]); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(dtaname[i]); var paramFile = new ParameterFileManager(ascParam[i]); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtaManager, datasetMan, paramFile, outFile); ascoreEngine.RunAScoreOnSingleFile(spectraCache, datasetMan, paramFile, outFile); } }
/// <summary> /// Configure and run the AScore algorithm, optionally can add protein mapping information /// </summary> /// <param name="spectraManager"></param> /// <param name="psmResultsManager"></param> /// <param name="ascoreParams"></param> /// <param name="outputFilePath">Name of the output file</param> /// <param name="fastaFilePath">Path to FASTA file. If this is empty/null, protein mapping will not occur</param> /// <param name="outputDescriptions">Whether to include protein description line in output or not.</param> public void RunAScoreOnSingleFile( SpectraManagerCache spectraManager, PsmResultsManager psmResultsManager, ParameterFileManager ascoreParams, string outputFilePath, string fastaFilePath = "", bool outputDescriptions = false ) { var ascoreOptions = new AScoreOptions { FastaFilePath = fastaFilePath, OutputProteinDescriptions = outputDescriptions }; ascoreOptions.SetAScoreResultsFilePath(outputFilePath); RunAScoreOnSingleFile(ascoreOptions, spectraManager, psmResultsManager, ascoreParams); }
/// <summary> /// Configure and run the AScore algorithm, optionally can add protein mapping information /// </summary> /// <param name="ascoreOptions"></param> /// <param name="spectraManager"></param> /// <param name="psmResultsManager"></param> /// <param name="ascoreParams"></param> public void RunAScoreWithMappingFile( AScoreOptions ascoreOptions, SpectraManagerCache spectraManager, PsmResultsManager psmResultsManager, ParameterFileManager ascoreParams) { var requiredColumns = new List <string> { "Job", "Dataset" }; OnStatusEvent("Reading Job to Dataset Map File: " + PathUtils.CompactPathString(ascoreOptions.JobToDatasetMapFile, 80)); ReadJobToDatasetMapFile(ascoreOptions, requiredColumns, out var jobToDatasetNameMap); RunAScoreOnPreparedData(jobToDatasetNameMap, spectraManager, psmResultsManager, ascoreParams, ascoreOptions, false); ProteinMapperTestRun(ascoreOptions); }
public void ForJohnJacobs() { const string myfht = @"C:\DMS_WorkDir\Step_1_ASCORE\U54_HPp1_LoBMI_NS_11_5Sep08_Draco_08-07-15_xt.txt"; const string mydta = @"C:\DMS_WorkDir\Step_1_ASCORE\dtas\U54_HPp1_LoBMI_NS_11_5Sep08_Draco_08-07-15_dta.txt"; const string mypar = @"C:\DMS_WorkDir\Step_1_ASCORE\DynMWPYOx_EmH20_QmNH3_cid.xml"; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); PsmResultsManager dataman = new XTandemFHT(myfht); //DtaManager dta = new DtaManager(mydta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(mydta); var par = new ParameterFileManager(mypar); const string fileOutput = @"C:\DMS_WorkDir\Step_1_ASCORE\U54_HPp1_LoBMI_NS_11_5Sep08_Draco_08-07-15_xt_ascore.txt"; var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dta, dataman, par, fileOutput); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dataman, par, fileOutput); }
/// <summary> /// Configure and run the AScore algorithm, optionally can add protein mapping information /// </summary> /// <param name="ascoreOptions"></param> /// <param name="spectraManager"></param> /// <param name="psmResultsManager"></param> /// <param name="ascoreParams"></param> public void RunAScoreOnSingleFile( AScoreOptions ascoreOptions, SpectraManagerCache spectraManager, PsmResultsManager psmResultsManager, ParameterFileManager ascoreParams) { var jobToDatasetNameMap = new Dictionary <string, DatasetFileInfo> { { psmResultsManager.JobNum, new DatasetFileInfo(spectraManager.SpectrumFilePath, spectraManager.ModSummaryFilePath) } }; if (spectraManager == null || !spectraManager.Initialized) { throw new Exception( "spectraManager must be instantiated and initialized before calling RunAScoreOnSingleFile for a single source file"); } RunAScoreOnPreparedData(jobToDatasetNameMap, spectraManager, psmResultsManager, ascoreParams, ascoreOptions, true); ProteinMapperTestRun(ascoreOptions); }
/// <summary> /// Configure and run the AScore algorithm /// </summary> /// <param name="ascoreOptions"></param> /// <returns></returns> public int RunAScore(AScoreOptions ascoreOptions) { var paramManager = new ParameterFileManager(ascoreOptions.AScoreParamFile); RegisterEvents(paramManager); Console.WriteLine(); if (paramManager.DynamicMods.Count > 0 || paramManager.StaticMods.Count > 0) { OnStatusEvent("Loaded modifications from: " + ascoreOptions.AScoreParamFile); foreach (var mod in paramManager.StaticMods) { OnStatusEvent(Utilities.GetModDescription("Static, ", mod)); } foreach (var mod in paramManager.DynamicMods) { OnStatusEvent(Utilities.GetModDescription("Dynamic, ", mod)); } foreach (var mod in paramManager.TerminiMods) { OnStatusEvent(Utilities.GetModDescription("Terminus, ", mod)); } Console.WriteLine(); } PsmResultsManager psmResultsManager; switch (ascoreOptions.SearchType) { case AScoreOptions.SearchMode.XTandem: OnStatusEvent("Caching data in " + PathUtils.CompactPathString(ascoreOptions.DbSearchResultsFile, 80)); psmResultsManager = new XTandemFHT(ascoreOptions.DbSearchResultsFile); break; case AScoreOptions.SearchMode.Sequest: OnStatusEvent("Caching data in " + PathUtils.CompactPathString(ascoreOptions.DbSearchResultsFile, 80)); psmResultsManager = new SequestFHT(ascoreOptions.DbSearchResultsFile); break; case AScoreOptions.SearchMode.Inspect: OnStatusEvent("Caching data in " + PathUtils.CompactPathString(ascoreOptions.DbSearchResultsFile, 80)); psmResultsManager = new InspectFHT(ascoreOptions.DbSearchResultsFile); break; case AScoreOptions.SearchMode.Msgfdb: case AScoreOptions.SearchMode.Msgfplus: OnStatusEvent("Caching data in " + PathUtils.CompactPathString(ascoreOptions.DbSearchResultsFile, 80)); if (ascoreOptions.SearchResultsType == AScoreOptions.DbSearchResultsType.Mzid) { if (ascoreOptions.CreateUpdatedDbSearchResultsFile) { psmResultsManager = new MsgfMzidFull(ascoreOptions.DbSearchResultsFile); } else { psmResultsManager = new MsgfMzid(ascoreOptions.DbSearchResultsFile); } } else { psmResultsManager = new MsgfdbFHT(ascoreOptions.DbSearchResultsFile); } break; default: OnErrorEvent(string.Format( "Incorrect search type: {0} , supported values are {1}", ascoreOptions.SearchType, string.Join(", ", Enum.GetNames(typeof(AScoreOptions.SearchMode))) )); return(-13); } var peptideMassCalculator = new PeptideMassCalculator(); var spectraManager = new SpectraManagerCache(peptideMassCalculator); RegisterEvents(spectraManager); OnStatusEvent("Output directory: " + ascoreOptions.OutputDirectoryInfo.FullName); var ascoreEngine = new AScoreAlgorithm(); RegisterEvents(ascoreEngine); // Initialize the options FilterOnMSGFScore = ascoreOptions.FilterOnMSGFScore; // Run the algorithm if (ascoreOptions.MultiJobMode) { RunAScoreWithMappingFile(ascoreOptions, spectraManager, psmResultsManager, paramManager); } else { spectraManager.OpenFile(ascoreOptions.MassSpecFile, ascoreOptions.ModSummaryFile); RunAScoreOnSingleFile(ascoreOptions, spectraManager, psmResultsManager, paramManager); } OnStatusEvent("AScore Complete"); if (ascoreOptions.CreateUpdatedDbSearchResultsFile) { if (ascoreOptions.SearchResultsType == AScoreOptions.DbSearchResultsType.Fht) { CreateUpdatedFirstHitsFile(ascoreOptions); } else if (psmResultsManager is MsgfMzidFull mzidFull) { mzidFull.WriteToMzidFile(ascoreOptions.UpdatedDbSearchResultsFileName); OnStatusEvent("Results merged; new file: " + PathUtils.CompactPathString(ascoreOptions.UpdatedDbSearchResultsFileName, 80)); } } return(0); }
/// <summary> /// Runs the all the tools necessary to perform an ascore run /// </summary> /// <param name="jobToDatasetNameMap">Keys are job numbers (stored as strings); values are Dataset Names or the path to the _dta.txt file</param> /// <param name="spectraManager">Manager for reading _dta.txt or .mzML files; must have already been initialized by the calling class</param> /// <param name="psmResultsManager"></param> /// <param name="ascoreParams"></param> /// <param name="ascoreOptions"></param> /// <param name="spectraFileOpened">Set to true if processing a single dataset, and spectraManager.OpenFile() has already been called</param> private void RunAScoreOnPreparedData( IReadOnlyDictionary <string, DatasetFileInfo> jobToDatasetNameMap, SpectraManagerCache spectraManager, PsmResultsManager psmResultsManager, ParameterFileManager ascoreParams, AScoreOptions ascoreOptions, bool spectraFileOpened) { var totalRows = psmResultsManager.GetRowLength(); var dctPeptidesProcessed = new Dictionary <string, int>(); if (jobToDatasetNameMap == null || jobToDatasetNameMap.Count == 0) { const string errorMessage = "Error in AlgorithmRun: jobToDatasetNameMap cannot be null or empty"; OnErrorEvent(errorMessage); throw new ArgumentException(errorMessage); } ISpectraManager spectraFile = null; string spectraManagerCurrentJob = null; // Force open after first read from fht var modSummaryManager = new ModSummaryFileManager(); RegisterEvents(modSummaryManager); var peptideMassCalculator = new PeptideMassCalculator(); if (FilterOnMSGFScore) { OnStatusEvent("Filtering using MSGF_SpecProb <= " + ascoreParams.MSGFPreFilter.ToString("0.0E+00")); } Console.WriteLine(); var statsByType = new int[4]; var ascoreAlgorithm = new AScoreAlgorithm(); RegisterEvents(ascoreAlgorithm); while (psmResultsManager.CurrentRowNum < totalRows) { // Console.Clear(); if (psmResultsManager.CurrentRowNum % 100 == 0) { Console.Write("\rPercent Completion " + Math.Round((double)psmResultsManager.CurrentRowNum / totalRows * 100) + "%"); } int scanNumber; int scanCount; int chargeState; string peptideSeq; double msgfScore; if (FilterOnMSGFScore) { psmResultsManager.GetNextRow(out scanNumber, out scanCount, out chargeState, out peptideSeq, out msgfScore, ref ascoreParams); } else { psmResultsManager.GetNextRow(out scanNumber, out scanCount, out chargeState, out peptideSeq, ref ascoreParams); msgfScore = 1; } switch (ascoreParams.FragmentType) { case FragmentType.CID: statsByType[(int)FragmentType.CID]++; break; case FragmentType.ETD: statsByType[(int)FragmentType.ETD]++; break; case FragmentType.HCD: statsByType[(int)FragmentType.HCD]++; break; default: statsByType[(int)FragmentType.Unspecified]++; break; } if (string.IsNullOrEmpty(spectraManagerCurrentJob) || !string.Equals(spectraManagerCurrentJob, psmResultsManager.JobNum)) { // New dataset // Get the correct spectrum file for the match if (!jobToDatasetNameMap.TryGetValue(psmResultsManager.JobNum, out var datasetInfo)) { var errorMessage = "Input file refers to job " + psmResultsManager.JobNum + " but jobToDatasetNameMap does not contain that job; unable to continue"; OnWarningEvent(errorMessage); if (!psmResultsManager.JobColumnDefined) { OnWarningEvent( "If the input file includes results from multiple jobs, the first column must be job number with Job as the column heading"); } throw new Exception(errorMessage); } var datasetName = GetDatasetName(datasetInfo.SpectrumFilePath); OnStatusEvent("Dataset name: " + datasetName); if (!spectraFileOpened) { // This method was called from RunAScoreWithMappingFile // Open the spectrum file for this dataset spectraFile = spectraManager.GetSpectraManagerForFile( psmResultsManager.PSMResultsFilePath, datasetName, datasetInfo.ModSummaryFilePath); } else { spectraFile = spectraManager.GetCurrentSpectrumManager(); } spectraManagerCurrentJob = string.Copy(psmResultsManager.JobNum); Console.Write("\r"); if (string.IsNullOrWhiteSpace(datasetInfo.ModSummaryFilePath) && !string.IsNullOrWhiteSpace(ascoreOptions.ModSummaryFile)) { datasetInfo.ModSummaryFilePath = ascoreOptions.ModSummaryFile; } if (psmResultsManager is MsgfMzid mzid) { mzid.SetModifications(ascoreParams); } else if (psmResultsManager is MsgfMzidFull mzidFull) { mzidFull.SetModifications(ascoreParams); } else { if (string.IsNullOrEmpty(datasetInfo.ModSummaryFilePath)) { modSummaryManager.ReadModSummary(spectraFile.DatasetName, psmResultsManager.PSMResultsFilePath, ascoreParams); } else { var modSummaryFile = new FileInfo(datasetInfo.ModSummaryFilePath); modSummaryManager.ReadModSummary(modSummaryFile, ascoreParams); } } Console.WriteLine(); Console.Write("\rPercent Completion " + Math.Round((double)psmResultsManager.CurrentRowNum / totalRows * 100) + "%"); } // perform work on the match var peptideParts = peptideSeq.Split('.'); string sequenceWithoutSuffixOrPrefix; string front; string back; if (peptideParts.Length >= 3) { front = peptideParts[0]; sequenceWithoutSuffixOrPrefix = peptideParts[1]; back = peptideParts[2]; } else { front = "?"; sequenceWithoutSuffixOrPrefix = string.Copy(peptideSeq); back = "?"; } var sequenceClean = GetCleanSequence(sequenceWithoutSuffixOrPrefix, ref ascoreParams); var skipPSM = FilterOnMSGFScore && msgfScore > ascoreParams.MSGFPreFilter; var scanChargePeptide = scanNumber + "_" + chargeState + "_" + sequenceWithoutSuffixOrPrefix; if (dctPeptidesProcessed.ContainsKey(scanChargePeptide)) { // We have already processed this PSM skipPSM = true; } else { dctPeptidesProcessed.Add(scanChargePeptide, 0); } if (skipPSM) { psmResultsManager.IncrementRow(); continue; } //Get experimental spectra if (spectraFile == null) { const string errorMessage = "spectraFile is uninitialized in RunAScoreOnPreparedData; this indicates a programming bug"; OnErrorEvent(errorMessage); throw new Exception(errorMessage); } var expSpec = spectraFile.GetExperimentalSpectra(scanNumber, scanCount, chargeState); if (expSpec == null) { OnWarningEvent("Scan " + scanNumber + " not found in spectra file for peptide " + peptideSeq); psmResultsManager.IncrementRow(); continue; } // Assume monoisotopic for both hi res and low res spectra MolecularWeights.MassType = MassType.Monoisotopic; // Compute precursor m/z value var precursorMZ = peptideMassCalculator.ConvoluteMass(expSpec.PrecursorMass, 1, chargeState); // Set the m/z range var mzMax = maxRange; var mzMin = precursorMZ * lowRangeMultiplier; if (ascoreParams.FragmentType != FragmentType.CID) { mzMax = maxRange; mzMin = minRange; } //Generate all combination mixtures var modMixture = new Combinatorics.ModMixtureCombo(ascoreParams.DynamicMods, sequenceClean); var myPositionsList = GetMyPositionList(sequenceClean, modMixture); //If I have more than 1 modifiable site proceed to calculation if (myPositionsList.Count > 1) { ascoreAlgorithm.ComputeAScore(psmResultsManager, ascoreParams, scanNumber, chargeState, peptideSeq, front, back, sequenceClean, expSpec, mzMax, mzMin, myPositionsList); } else if (myPositionsList.Count == 1) { // Either one or no modifiable sites var uniqueID = myPositionsList[0].Max(); if (uniqueID == 0) { psmResultsManager.WriteToTable(peptideSeq, scanNumber, 0, myPositionsList[0], MOD_INFO_NO_MODIFIED_RESIDUES); } else { psmResultsManager.WriteToTable(peptideSeq, scanNumber, 0, myPositionsList[0], LookupModInfoByID(uniqueID, ascoreParams.DynamicMods)); } } else { // No modifiable sites psmResultsManager.WriteToTable(peptideSeq, scanNumber, 0, new int[0], MOD_INFO_NO_MODIFIED_RESIDUES); } psmResultsManager.IncrementRow(); } Console.WriteLine(); OnStatusEvent(string.Format("Writing {0:N0} rows to {1}", psmResultsManager.ResultsCount, PathUtils.CompactPathString(ascoreOptions.AScoreResultsFilePath, 80))); psmResultsManager.WriteToFile(ascoreOptions.AScoreResultsFilePath); Console.WriteLine(); if (statsByType.Sum() == 0) { OnWarningEvent("Input file appeared empty"); } else { OnStatusEvent("Stats by fragmentation ion type:"); ReportStatsForFragType(" CID", statsByType, FragmentType.CID); ReportStatsForFragType(" ETD", statsByType, FragmentType.ETD); ReportStatsForFragType(" HCD", statsByType, FragmentType.HCD); } Console.WriteLine(); }
public void Sisi_Kidneys() { const string ascoreP = "HCDPhos.xml"; const string directSeq = @"C:\Users\aldr699\Documents\2012\Sisi_Work\DarthVehDas\Sequest"; const string directMsg = @"C:\Users\aldr699\Documents\2012\Sisi_Work\DarthVehDas\MSGFDB"; var fhtFiles = new List <string> { "Kidney_ACHN_Das_1_pTyr_HCD_8May12_Lynx_12-02-29_fht.txt", "Kidney_ACHN_Veh_1_pTyr_HCD_10May12_Lynx_12-02-29_fht.txt", "Kidney_ACHN_Veh_2_IMAC_HCD_10May12_Lynx_12-02-31_fht.txt", "Kidney_ACHN_Das_2_IMAC_HCD_11May12_Lynx_12-02-31_fht.txt" }; var msgfdbFile = new List <string> { "Kidney_ACHN_Das_1_pTyr_HCD_8May12_Lynx_12-02-29_msgfdb_fht.txt", "Kidney_ACHN_Veh_1_pTyr_HCD_10May12_Lynx_12-02-29_msgfdb_fht.txt", "Kidney_ACHN_Veh_2_IMAC_HCD_10May12_Lynx_12-02-31_msgfdb_fht.txt", "Kidney_ACHN_Das_2_IMAC_HCD_11May12_Lynx_12-02-31_msgfdb_fht.txt" }; const string direct2 = @"C:\Users\aldr699\Documents\2012\Sisi_Work\DarthVehDas"; var dtaFiles = new List <string> { "Kidney_ACHN_Das_1_pTyr_HCD_8May12_Lynx_12-02-29_dta.txt", "Kidney_ACHN_Veh_1_pTyr_HCD_10May12_Lynx_12-02-29_dta.txt", "Kidney_ACHN_Veh_2_IMAC_HCD_10May12_Lynx_12-02-31_dta.txt", "Kidney_ACHN_Das_2_IMAC_HCD_11May12_Lynx_12-02-31_dta.txt" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var j = 1; j < 2; j++) { for (var i = 0; i < 4; i++) { string fht; string direct; if (j == 0) { direct = directSeq; fht = fhtFiles[i]; } else { direct = directMsg; fht = msgfdbFile[i]; } var tempfht = Path.Combine(direct, fht); var tempdta = Path.Combine(direct2, dtaFiles[i]); var ascP = Path.Combine(direct2, ascoreP); var tempout = Path.Combine(direct, fhtFiles[i].Substring(0, fhtFiles[i].Length - 4) + "_AScore.txt"); PsmResultsManager dsman; if (j == 0) { dsman = new SequestFHT(tempfht); } else { dsman = new MsgfdbFHT(tempfht); } if (dsman == null) { Console.WriteLine("Failed to load fht"); } //DtaManager dtman = new DtaManager(tempdta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(tempdta); var pman = new ParameterFileManager(ascP); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtman, dsman, pman, tempout); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dsman, pman, tempout); } } }
public void OsmaniRedux() { const string ascorePETD = "ETDPhos.xml"; const string ascorePCID = "CIDPhos.xml"; const string directETD = @"C:\Users\aldr699\Documents\2012\Osmani\ETD"; const string directCID = @"C:\Users\aldr699\Documents\2012\Osmani\CID"; var fhtFiles = new List <string> { "SOSM_May_G2_RR1_26Jan12_Hawk_11-11-03p_fhtf.txt", "SOSM_May_M_RR1_27Jan12_Hawk_11-11-03p_fhtf.txt", "SOSM_May_G2_RR2_27Jan12_Hawk_11-11-03p_fhtf.txt", "SOSM_May_M_RR2_29Jan12_Hawk_11-11-03p_fhtf.txt", "SOSM_May_G_RR1_31Jan12_Hawk_11-11-03p_fhtf.txt", "SOSM_May_P1_RR1_31Jan12_Hawk_11-11-03p_fhtf.txt" }; const string direct2 = @"C:\Users\aldr699\Documents\2012\Osmani"; var dtaFiles = new List <string> { "SOSM_May_G2_RR1_26Jan12_Hawk_11-11-03p_dta.txt", "SOSM_May_M_RR1_27Jan12_Hawk_11-11-03p_dta.txt", "SOSM_May_G2_RR2_27Jan12_Hawk_11-11-03p_dta.txt", "SOSM_May_M_RR2_29Jan12_Hawk_11-11-03p_dta.txt", "SOSM_May_G_RR1_31Jan12_Hawk_11-11-03p_dta.txt", "SOSM_May_P1_RR1_31Jan12_Hawk_11-11-03p_dta.txt" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var j = 0; j < 2; j++) { for (var i = 0; i < fhtFiles.Count; i++) { string direct; string ascoreP; if (j == 0) { direct = directETD; ascoreP = ascorePETD; } else { direct = directCID; ascoreP = ascorePCID; } var tempfht = Path.Combine(direct, fhtFiles[i]); var tempdta = Path.Combine(direct2, dtaFiles[i]); var ascP = Path.Combine(direct, ascoreP); var tempout = Path.Combine(direct, fhtFiles[i].Substring(0, fhtFiles[i].Length - 4) + "_AScore.txt"); PsmResultsManager dsman = new SequestFHT(tempfht); //DtaManager dtman = new DtaManager(tempdta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(tempdta); var pman = new ParameterFileManager(ascP); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtman, dsman, pman, tempout); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dsman, pman, tempout); } } }
public void QuYi() { const string direct = @"C:\Documents and Settings\aldr699\My Documents2011\EColiPhos"; const string ascoreP = "parameterFile.xml"; var fhtFiles = new List <string> { "775945_10012010_MG1655_phospho_s05_101002094806_msgfdb_fht.txt", "775946_10012010_MG1655_phospho_s11_101002094806_msgfdb_fht.txt", "775947_10022010_MG1655_phospho_s7_101002094806_msgfdb_fht.txt", "775948_10012010_MG1655_phospho_s10_101001105913_msgfdb_fht.txt", "775949_10012010_MG1655_phospho_s06_101002094806_msgfdb_fht.txt", "775950_10022010_MG1655_phospho_s12_101002094806_msgfdb_fht.txt", "775951_10022010_MG1655_phospho_S8FT_101005165350_msgfdb_fht.txt", "775944_10012010_MG1655_phospho_S_09_B_101001105913_msgfdb_fht.txt", "775942_09302010_MG1655_phospho_S_08_B_100930113735_msgfdb_fht.txt", "775952_10022010_MG1655_phospho_S11_rerun_101005165350_msgfdb_fht.txt", "775955_MG1655_phospho_S-01FT_5Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775956_MG1655_phospho_S-02FT_5Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775957_MG1655_phospho_S-03FT_8Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775958_MG1655_phospho_S-06FT_8Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775959_MG1655_phospho_S-09FT_12Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775960_MG1655_phospho_S-10FT_12Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775961_MG1655_phospho_S-12FT_15Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775962_MG1655_phospho_S-01_15Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775963_MG1655_phospho_S-02_17Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775964_MG1655_phospho_S-03_17Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775965_MG1655_phospho_S-04_17Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775966_MG1655_phospho_S-07_17Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775967_MG1655_phospho_S-12_19Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775968_MG1655_phospho_S-10_19Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775969_MG1655_phospho_S-09_19Nov10_Hawk_10-11-02p_msgfdb_fht.txt", "775953_10022010_MG1655_phospho_S05_rerun_101005165350_msgfdb_fht.txt", "775943_09302010_MG1655_phospho_S_04_B_100930113735_msgfdb_fht.txt", "775954_10022010_MG1655_phospho_S06_rerun_101005165350_msgfdb_fht.txt" }; var dtaFiles = new List <string> { "10012010_MG1655_phospho_s05_101002094806_dta.txt", "10012010_MG1655_phospho_s11_101002094806_dta.txt", "10022010_MG1655_phospho_s7_101002094806_dta.txt", "10012010_MG1655_phospho_s10_101001105913_dta.txt", "10012010_MG1655_phospho_s06_101002094806_dta.txt", "10022010_MG1655_phospho_s12_101002094806_dta.txt", "10022010_MG1655_phospho_S8FT_101005165350_dta.txt", "10012010_MG1655_phospho_S_09_B_101001105913_dta.txt", "09302010_MG1655_phospho_S_08_B_100930113735_dta.txt", "10022010_MG1655_phospho_S11_rerun_101005165350_dta.txt", "MG1655_phospho_S-01FT_5Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-02FT_5Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-03FT_8Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-06FT_8Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-09FT_12Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-10FT_12Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-12FT_15Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-01_15Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-02_17Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-03_17Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-04_17Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-07_17Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-12_19Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-10_19Nov10_Hawk_10-11-02p_dta.txt", "MG1655_phospho_S-09_19Nov10_Hawk_10-11-02p_dta.txt", "10022010_MG1655_phospho_S05_rerun_101005165350_dta.txt", "09302010_MG1655_phospho_S_04_B_100930113735_dta.txt", "10022010_MG1655_phospho_S06_rerun_101005165350_dta.txt" }; var peptideMassCalculator = GetDefaultPeptideMassCalculator(); for (var i = 0; i < fhtFiles.Count; i++) { var tempfht = Path.Combine(direct, fhtFiles[i]); var tempdta = Path.Combine(direct, dtaFiles[i]); var ascP = Path.Combine(direct, ascoreP); var tempout = Path.Combine(direct, fhtFiles[i].Substring(0, fhtFiles[i].Length - 4) + "_AScore.txt"); PsmResultsManager dsman = new MsgfdbFHT(tempfht); //DtaManager dtman = new DtaManager(tempdta); var spectraCache = new SpectraManagerCache(peptideMassCalculator); spectraCache.OpenFile(tempdta); var pman = new ParameterFileManager(ascP); var ascoreEngine = new AScore_DLL.AScoreProcessor(); //ascoreEngine.AlgorithmRun(dtman, dsman, pman, tempout); ascoreEngine.RunAScoreOnSingleFile(spectraCache, dsman, pman, tempout); } }