private void CreatSpectralCountTablesSEQSYN(ICollection <string> datasetNames, DoWorkEventArgs e) { var dir = new DirectoryInfo(mstrAnalysisFolder); foreach (var f in dir.GetFiles()) { if (!f.Name.EndsWith("_syn.txt", StringComparison.CurrentCultureIgnoreCase)) { continue; } var dName = f.Name.Substring(0, f.Name.IndexOf("_syn.txt", StringComparison.CurrentCultureIgnoreCase)); if (datasetNames.Contains(dName)) { successfulDataSets.Add(dName); } } if (successfulDataSets.Count > 1) { var fileList = @"c(""" + successfulDataSets[0]; var rcmd = "X <- createMSMSdt.SpectralCount("; var dataFolder = mstrAnalysisFolder.Replace("\\", "/"); for (var i = 1; i < successfulDataSets.Count; i++) { fileList = fileList + @""",""" + successfulDataSets[i]; } fileList += @""")"; rcmd += fileList + @",""" + dataFolder + @""",XcRank=" + XcRank + "," + XCorrTh + "," + DelCn2Th + "," + TrypState + ")"; try { backgroundWorker1.ReportProgress(70, "Creating peptide count table ... may take a while for large datasets ..."); rConnector.EvaluateNoReturn(rcmd); rConnector.EvaluateNoReturn("Eset <- X$eset"); rConnector.EvaluateNoReturn("EsetRows <- X$rows"); var rows = rConnector.GetSymbolAsNumbers("EsetRows"); if ((int)rows[0] > 0) { if (rConnector.GetTableFromRmatrix("Eset")) { mDTEset = rConnector.DataTable.Copy(); mDTEset.TableName = "Eset"; rConnector.EvaluateNoReturn("cat(\"Spectral count data obtained.\n\")"); e.Result = enmDataType.ESET; } else { e.Result = null; } } else { e.Result = null; } } catch (Exception ex) { MessageBox.Show("R.Net failed: " + ex.Message, "Error!"); e.Result = null; e.Cancel = true; } backgroundWorker1.ReportProgress(100, "Done."); } else { backgroundWorker1.ReportProgress(100, "You need at leaset two unique datasets... Giving up."); } }