static int Main(string[] args) { var options = new ConverterOptions(); var asmName = typeof(Program).GetTypeInfo().Assembly.GetName(); var programVersion = typeof(Program).GetTypeInfo().Assembly.GetName().Version; var version = string.Format("version {0}.{1}.{2}", programVersion.Major, programVersion.Minor, programVersion.Build); if (!CommandLineParser <ConverterOptions> .ParseArgs(args, options, asmName.Name, version) || !options.ValidateArgs()) { System.Threading.Thread.Sleep(1500); return(-1); } options.OutputSetOptions(); #if !DEBUG try { #endif var converter = new MzidToTsvConverter(); converter.ConvertToTsv(options); Console.WriteLine("Conversion finished!"); System.Threading.Thread.Sleep(700); return(0); #if !DEBUG } catch (Exception e) { Console.WriteLine("Conversion failed: " + e.Message); Console.WriteLine(e.StackTrace); System.Threading.Thread.Sleep(1500); var errorCode = e.Message.GetHashCode(); if (errorCode == 0) { return(-1); } return(errorCode); } #endif }
// Ignore Spelling: Bryson, Conf private static int Main(string[] args) { var asmName = typeof(Program).GetTypeInfo().Assembly.GetName(); var exeName = Path.GetFileName(Assembly.GetExecutingAssembly().Location); // Alternatively: System.AppDomain.CurrentDomain.FriendlyName var programVersion = typeof(Program).GetTypeInfo().Assembly.GetName().Version; var version = $"version {programVersion.Major}.{programVersion.Minor}.{programVersion.Build}"; var parser = new CommandLineParser <ConverterOptions>(asmName.Name, version) { ProgramInfo = "This program converts a .mzid file created by MS-GF+ into a tab-delimited text file.", ContactInfo = "Program written by Bryson Gibbons for the Department of Energy " + Environment.NewLine + "(PNNL, Richland, WA)" + Environment.NewLine + Environment.NewLine + string.Format( "Version: {0}.{1}.{2} ({3})", programVersion.Major, programVersion.Minor, programVersion.Build, ConverterOptions.PROGRAM_DATE) + Environment.NewLine + Environment.NewLine + "E-mail: [email protected] or [email protected]" + Environment.NewLine + "Website: https://github.com/PNNL-Comp-Mass-Spec/ or https://panomics.pnnl.gov/ or https://www.pnnl.gov/integrative-omics", UsageExamples = { exeName + " Results.mzid", exeName + " Results.mzid -unroll", exeName + " Results.mzid -unroll -showDecoy", } }; parser.AddParamFileKey("Conf"); var parseResults = parser.ParseArgs(args); var options = parseResults.ParsedResults; if (!parseResults.Success) { Thread.Sleep(1500); return(-1); } if (!options.ValidateArgs(out var errorMessage)) { parser.PrintHelp(); Console.WriteLine(); ConsoleMsgUtils.ShowWarning("Validation error:"); ConsoleMsgUtils.ShowWarning(errorMessage); Thread.Sleep(1500); return(-1); } options.OutputSetOptions(); try { var converter = new MzidToTsvConverter(); converter.ConvertToTsv(options); Console.WriteLine(); Console.WriteLine("Conversion finished!"); Thread.Sleep(700); return(0); } catch (Exception ex) { ConsoleMsgUtils.ShowError("Conversion failed", ex); Thread.Sleep(1500); var errorCode = ex.Message.GetHashCode(); if (errorCode == 0) { return(-1); } return(errorCode); } }