public void GenerateDtas()
{
try
{
if (!Directory.Exists(outputFolder))
{
Directory.CreateDirectory(outputFolder);
}
if (IncludeLog)
{
using (StreamWriter overall_log = new StreamWriter(Path.Combine(outputFolder, "DTA_Generator_log.txt")))
{
overall_log.WriteLine("DTA Generator PARAMETERS");
overall_log.WriteLine("Assumed Precursor Charge State Range: " + minimumAssumedPrecursorChargeState +
'-' + maximumAssumedPrecursorChargeState);
overall_log.WriteLine("Clean Precursor: " + cleanPrecursor);
overall_log.WriteLine("Enable ETD Pre-Processing: " + enableEtdPreProcessing);
overall_log.WriteLine("Clean TMT Duplex: " + cleanTmtDuplex);
overall_log.WriteLine("Clean iTRAQ 4-Plex: " + cleanItraq4Plex);
overall_log.WriteLine("Clean TMT 6-Plex: " + cleanTmt6Plex);
overall_log.WriteLine("Clean iTRAQ 8-Plex: " + cleanItraq8Plex);
overall_log.WriteLine("Neutral Losses: " + NeutralLossesIncluded);
overall_log.WriteLine();
foreach (string raw_filepath in rawFilepaths)
{
overall_log.WriteLine(raw_filepath);
}
}
if (!Directory.Exists(LogFolder))
{
Directory.CreateDirectory(LogFolder);
}
}
_totalProgress = rawFilepaths.Count * 1000;
_currentProgress = 0;
if (rawFilepaths.Count == 1)
{
ProcessFile(rawFilepaths[0], IncludeLog, groupByActivationEnergyTime);
}
else
{
Parallel.ForEach(rawFilepaths, msDataFile => ProcessFile(msDataFile, IncludeLog, groupByActivationEnergyTime));
}
}
catch (Exception ex)
{
onThrowException(new ExceptionEventArgs(ex));
}
finally
{
onFinished(EventArgs.Empty);
}
}