public HalfLifeRowDataForm(Workspace workspace) : base(workspace) { InitializeComponent(); var viewContext = new TopographViewContext(workspace, typeof(HalfLifeCalculator.ProcessedRowData), new HalfLifeCalculator.ProcessedRowData[0]); bindingSource1.SetViewContext(viewContext); }
public ResultsPerGroupForm(Workspace workspace) : base(workspace) { InitializeComponent(); foreach (var evviesFilter in Enum.GetValues(typeof(EvviesFilterEnum))) { comboEvviesFilter.Items.Add(evviesFilter); } comboEvviesFilter.SelectedIndex = 0; bindingSource1.SetViewContext(_viewContext = new TopographViewContext(Workspace, typeof(DisplayRow), new DisplayRow[0], new[]{GetDefaultViewSpec(cbxByProtein.Checked)})); HalfLifeSettings = Settings.Default.HalfLifeSettings; }
private void btnRequery_Click(object sender, EventArgs e) { var halfLifeCalculator = new HalfLifeCalculator(Workspace, HalfLifeSettings) { ByFile = cbxGroupByFile.Checked, }; using (var longWaitDialog = new LongWaitDialog(TopLevelControl, "Calculating Half Lives")) { var longOperationBroker = new LongOperationBroker(halfLifeCalculator.Run, longWaitDialog); if (!longOperationBroker.LaunchJob()) { return; } } bool byCohort = cbxGroupByCohort.Checked; bool byTimePoint = cbxGroupByTimePoint.Checked; bool bySample = cbxGroupBySample.Checked; bool byFile = cbxGroupByFile.Checked; var displayRows = new List<DisplayRow>(); foreach (var resultRow in halfLifeCalculator.ResultRows) { var displayRow = new DisplayRow(halfLifeCalculator, resultRow); var rowDatasByCohort = new Dictionary<GroupKey, List<HalfLifeCalculator.ProcessedRowData>>(); foreach (var halfLife in resultRow.HalfLives) { if (resultRow.HalfLives.Count > 1 && string.IsNullOrEmpty(halfLife.Key) != byCohort) { continue; } foreach (var rowData in halfLife.Value.FilteredRowDatas) { GroupKey cohortKey = new GroupKey( byCohort ? rowData.RawRowData.MsDataFile.Cohort : null, byTimePoint ? rowData.RawRowData.MsDataFile.TimePoint : null, bySample ? rowData.RawRowData.MsDataFile.Sample : null, byFile ? rowData.RawRowData.MsDataFile.Name : null); List<HalfLifeCalculator.ProcessedRowData> list; if (!rowDatasByCohort.TryGetValue(cohortKey, out list)) { list = new List<HalfLifeCalculator.ProcessedRowData>(); rowDatasByCohort.Add(cohortKey, list); } list.Add(rowData); } } foreach (var cohortRowDatas in rowDatasByCohort) { displayRow.Results.Add(cohortRowDatas.Key, new GroupResult(this, displayRow, cohortRowDatas.Key, new ResultData(cohortRowDatas.Value))); } displayRows.Add(displayRow); } var viewInfo = bindingSource1.ViewInfo; var dataSchema = new TopographDataSchema(Workspace); if (viewInfo == null || "default" == viewInfo.Name) { viewInfo= new ViewInfo(ColumnDescriptor.RootColumn(dataSchema, typeof(DisplayRow)), GetDefaultViewSpec(halfLifeCalculator.ByProtein)); } var viewContext = new TopographViewContext(Workspace, typeof (DisplayRow), displayRows, GetDefaultViewSpec(halfLifeCalculator.ByProtein)); bindingSource1.SetViewContext(viewContext, viewInfo); bindingSource1.RowSource = displayRows; dataGridViewSummary.Rows.Clear(); SetSummary("Tracer %", displayRows.Select(dr=>dr.Results).SelectMany(r=>r.Values .Select(cohortResult=>cohortResult.GetResultData().TracerPercentByArea))); SetSummary("Precursor Enrichment", displayRows.Select(dr=>dr.Results).SelectMany(r=>r.Values .Select(cohortResult=>cohortResult.GetResultData().IndPrecursorEnrichment))); SetSummary("Turnover", displayRows.Select(dr=>dr.Results).SelectMany(r=>r.Values .Select(cohortResult=>cohortResult.GetResultData().IndTurnover))); SetSummary("Area Under Curve", displayRows.Select(dr=>dr.Results).SelectMany(r=>r.Values .Select(cohortResult=>cohortResult.GetResultData().AreaUnderCurve))); }