public FormForDescriptorInfo(cDescriptorsType CurrentDesc) { this.CurrentDesc = CurrentDesc; InitializeComponent(); this.textBoxNameDescriptor.Text = CurrentDesc.GetName(); this.labelDataType.Text = CurrentDesc.GetDataType(); }
public FormForDescriptorInfo(cDescriptorsType CurrentDesc) { this.CurrentDesc = CurrentDesc; InitializeComponent(); this.textBoxNameDescriptor.Text = CurrentDesc.GetName(); if (CurrentDesc.DataType == eDataType.SINGLE) { this.numericUpDownBinValue.Visible = false; this.labelDataType.Text = "Single"; } else { this.labelDataType.Text = "Histogram"; } this.numericUpDownBinValue.Value = CurrentDesc.GetBinNumber(); this.OriginalBinNumber = CurrentDesc.GetBinNumber(); if (CurrentDesc.IsConnectedToDatabase) { this.labelDataBaseConnection.Text = "DataBase Connection."; panelForColor.BackColor = Color.LightGreen; } else { this.labelDataBaseConnection.Text = "No DataBase connection."; panelForColor.BackColor = Color.Red; } }
private void AverageDescItem(object sender, EventArgs e) { //int NumBin = CompleteScreening.ListDescriptors[IntToTransfer].GetBinNumber(); // first we update the descriptor cDescriptorsType NewAverageType = new cDescriptorsType("Average(" + CompleteScreening.ListDescriptors[IntToTransfer].GetName() + ")", true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(NewAverageType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); cDescriptor NewDesc = new cDescriptor(Tmpwell.ListDescriptors[IntToTransfer].Histogram.GetAverageValue(), NewAverageType, CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); }
private void AddCorrelatedSquareDescItem(object sender, EventArgs e) { cDescriptorsType ColumnType = new cDescriptorsType("Square(" + CompleteScreening.ListDescriptors[IntToTransfer].GetName() + ")", true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(ColumnType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); cDescriptor NewDesc = new cDescriptor(Math.Pow(Tmpwell.ListDescriptors[IntToTransfer].GetValue(), 2), ColumnType, CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); }
private void SumCheckedDescToDescriptorItem(object sender, EventArgs e) { string NewName = ""; for (int Idx = 0; Idx < CompleteScreening.GlobalInfo.WindowHCSAnalyzer.checkedListBoxActiveDescriptors.Items.Count; Idx++) { if (CompleteScreening.ListDescriptors[Idx].IsActive()) if (CompleteScreening.ListDescriptors[Idx].GetBinNumber() == 1) { NewName += CompleteScreening.ListDescriptors[Idx].GetName() + "+"; } else { MessageBox.Show("Descriptor length not consistent (" + CompleteScreening.ListDescriptors[Idx].GetName() + " : " + CompleteScreening.ListDescriptors[Idx].GetBinNumber() + " bins", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } cDescriptorsType ColumnType = new cDescriptorsType(NewName.Remove(NewName.Length - 1), true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(ColumnType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); double NewValue = 0; for (int IdxActiveDesc = 0; IdxActiveDesc < CompleteScreening.ListDescriptors.Count - 1; IdxActiveDesc++) { if (CompleteScreening.ListDescriptors[IdxActiveDesc].IsActive()) NewValue += Tmpwell.ListDescriptors[IdxActiveDesc].GetValue(); } cDescriptor NewDesc = new cDescriptor(NewValue, ColumnType, CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); }
public string GeneratePCADescriptor(cExtendPlateList PlatesToProcess, int NumberOfAxis, int NeutralClass) { int NumWell = 0; int NumWellForLearning = 0; foreach (cPlate CurrentPlate in PlatesToProcess) { NumWellForLearning += CurrentPlate.GetNumberOfWellOfClass(NeutralClass); NumWell += CompleteScreening.GetCurrentDisplayPlate().GetNumberOfActiveWells(); } if (NumWellForLearning == 0) { MessageBox.Show("No well identified !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } int NumDesc = CompleteScreening.GetNumberOfActiveDescriptor(); if (NumDesc <= 1) { MessageBox.Show("More than one descriptor are required for this operation", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } double[,] DataForLDA = new double[NumWellForLearning, CompleteScreening.GetNumberOfActiveDescriptor() + 1]; // return; Matrix EigenVectors = PCAComputation(DataForLDA, NumWellForLearning, NumWell, NumDesc, NeutralClass, PlatesToProcess); string AxeName = ""; int IDxDesc = 0; //for (int Desc = 0; Desc < CompleteScreening.ListDescriptors.Count; Desc++) //{ // if (CompleteScreening.ListDescriptors[Desc].IsActive() == false) continue; // // AxeName += String.Format("{0:0.##}", EigenVectors.getElement(CompleteScreening.ListDescriptors.Count - 1, 0)) + "x" + CompleteScreening.ListDescriptorName[CompleteScreening.ListDescriptors.Count - 1]; //} int OriginalDescNumber = CompleteScreening.GlobalInfo.WindowHCSAnalyzer.checkedListBoxActiveDescriptors.Items.Count; for (int AxesIdx = 0; AxesIdx < NumberOfAxis; AxesIdx++) { //for (int Idx = 0; Idx < CompleteScreening.GlobalInfo.WindowHCSAnalyzer.checkedListBoxActiveDescriptors.Items.Count; Idx++) //{ // if (CompleteScreening.ListDescriptors[Idx].IsActive()) // if (CompleteScreening.ListDescriptors[Idx].GetBinNumber() == 1) // { // AxeName += String.Format("{0:0.###}", EigenVectors.getElement(IDxDesc++, AxesIdx)) + "x" + CompleteScreening.ListDescriptors[Idx].GetName() + " + "; // } // else // { // MessageBox.Show("Descriptor length not consistent (" + CompleteScreening.ListDescriptors[Idx].GetName() + " : " + CompleteScreening.ListDescriptors[Idx].GetBinNumber() + " bins", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; // } // } //cDescriptorsType ColumnType = new cDescriptorsType(AxeName.Remove(AxeName.Length - 3), true, 1); cDescriptorsType ColumnType = new cDescriptorsType("PCA_" + (AxesIdx + 1), true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(ColumnType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); double NewValue = 0; IDxDesc = 0; // AxeName += "\nPCA_" + (AxesIdx + 1); for (int Idx = 0; Idx < OriginalDescNumber - 1; Idx++) { if (CompleteScreening.ListDescriptors[Idx].IsActive()) // AxeName += String.Format("{0:0.###}", EigenVectors.getElement(IDxDesc, AxesIdx)) + "x" + CompleteScreening.ListDescriptors[Idx].GetName() + " + "; NewValue += EigenVectors.getElement(IDxDesc++, AxesIdx) * Tmpwell.ListDescriptors[Idx].GetValue(); } cDescriptor NewDesc = new cDescriptor(NewValue, ColumnType, CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); StartingUpDateUI(); return AxeName; }
private void RowToDescriptorItem(object sender, EventArgs e) { cDescriptorsType RowType = new cDescriptorsType("Row", true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(RowType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); cDescriptor NewDesc = new cDescriptor(Tmpwell.GetPosY(), RowType, CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); }
private void generateHitsDistributionMapToolStripMenuItem_Click(object sender, EventArgs e) { if (CompleteScreening == null) return; List<cPanelForDisplayArray> ListPlates = new List<cPanelForDisplayArray>(); foreach (cPlate CurrentPlate in CompleteScreening.ListPlatesActive) { ListPlates.Add(new FormToDisplayPlate(CurrentPlate, CompleteScreening)); } cWindowToDisplayEntireScreening WindowToDisplayArray = new cWindowToDisplayEntireScreening(ListPlates, CompleteScreening.ListDescriptors[CompleteScreening.ListDescriptors.CurrentSelectedDescriptor].GetName(), 6); WindowToDisplayArray.checkBoxDisplayClasses.Checked = true; WindowToDisplayArray.Text = "Generate Hits Distribution Maps"; WindowToDisplayArray.Show(); System.Windows.Forms.DialogResult ResWin = MessageBox.Show("By applying this process, the current screening will be entirely updated ! Proceed ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (ResWin == System.Windows.Forms.DialogResult.No) { WindowToDisplayArray.Close(); return; } WindowToDisplayArray.Close(); if (CompleteScreening != null) CompleteScreening.Close3DView(); // CompleteScreening.ListDescriptors.RemoveDesc(CompleteScreening.ListDescriptors[IntToTransfer], CompleteScreening); cScreening MergedScreening = new cScreening("Class Screen", GlobalInfo); MergedScreening.PanelForPlate = this.panelForPlate; MergedScreening.Rows = CompleteScreening.Rows; MergedScreening.Columns = CompleteScreening.Columns; MergedScreening.ListPlatesAvailable = new cExtendPlateList(); // create the descriptor MergedScreening.ListDescriptors.Clean(); List<cDescriptorsType> ListDescType = new List<cDescriptorsType>(); List<int[][]> Values = new List<int[][]>(); for (int i = 0; i < GlobalInfo.GetNumberofDefinedClass(); i++) { cDescriptorsType DescClass = new cDescriptorsType("Class_" + i, true, 1, GlobalInfo); ListDescType.Add(DescClass); MergedScreening.ListDescriptors.AddNew(DescClass); int[][] TMpVal = new int[MergedScreening.Columns][]; for (int ii = 0; ii < MergedScreening.Columns; ii++) TMpVal[ii] = new int[MergedScreening.Rows]; Values.Add(TMpVal); } MergedScreening.ListDescriptors.CurrentSelectedDescriptor = 0; foreach (cPlate CurrentPlate in CompleteScreening.ListPlatesActive) { foreach (cWell TmpWell in CurrentPlate.ListActiveWells) { int Class = TmpWell.GetClass(); if (Class >= 0) Values[Class][TmpWell.GetPosX() - 1][TmpWell.GetPosY() - 1]++; } } cPlate NewPlate = new cPlate("Cpds", CompleteScreening.Name, MergedScreening); for (int X = 0; X < CompleteScreening.Columns; X++) for (int Y = 0; Y < CompleteScreening.Rows; Y++) { List<cDescriptor> LDesc = new List<cDescriptor>(); for (int i = 0; i < GlobalInfo.GetNumberofDefinedClass(); i++) { cDescriptor Desc = new cDescriptor(Values[i][X][Y], ListDescType[i], CompleteScreening); LDesc.Add(Desc); } cWell NewWell = new cWell(LDesc, X + 1, Y + 1, MergedScreening, NewPlate); NewWell.Name = "Well [" + (X + 1) + ":" + (Y + 1) + "]"; NewPlate.AddWell(NewWell); } // check if the plate exist already MergedScreening.AddPlate(NewPlate); MergedScreening.ListPlatesActive = new cExtendPlateList(); MergedScreening.GlobalInfo.WindowHCSAnalyzer.toolStripcomboBoxPlateList.Items.Clear(); for (int i = 0; i < MergedScreening.ListPlatesAvailable.Count; i++) { MergedScreening.ListPlatesActive.Add(MergedScreening.ListPlatesAvailable[i]); MergedScreening.GlobalInfo.WindowHCSAnalyzer.toolStripcomboBoxPlateList.Items.Add(NewPlate.Name); } CompleteScreening.ListDescriptors = MergedScreening.ListDescriptors; CompleteScreening.ListPlatesAvailable = MergedScreening.ListPlatesAvailable; CompleteScreening.ListPlatesActive = MergedScreening.ListPlatesActive; CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); CompleteScreening.CurrentDisplayPlateIdx = 0; CompleteScreening.GetCurrentDisplayPlate().DisplayDistribution(CompleteScreening.ListDescriptors.CurrentSelectedDescriptor, true); ListPlates = new List<cPanelForDisplayArray>(); for (int DescIdx = 0; DescIdx < CompleteScreening.ListDescriptors.Count; DescIdx++) { if (CompleteScreening.ListDescriptors[DescIdx].IsActive()) ListPlates.Add(new FormToDisplayDescriptorPlate(CompleteScreening.GetCurrentDisplayPlate(), CompleteScreening, DescIdx)); } cWindowToDisplayEntireDescriptors WindowToDisplayDesc = new cWindowToDisplayEntireDescriptors(ListPlates, CompleteScreening.GetCurrentDisplayPlate().Name, GlobalInfo.GetNumberofDefinedClass()); WindowToDisplayDesc.checkBoxGlobalNormalization.Checked = true; WindowToDisplayDesc.Show(); }
private void generateDRCsToolStripMenuItem_Click(object sender, EventArgs e) { int nbrofdrugs = 6; int nbrofconcentrations = 10; int nbrofdesc = 3; double[, ,] DRC = new double[nbrofconcentrations, nbrofdrugs, nbrofdesc]; float[] X1 = new float[nbrofconcentrations]; X1[0] = 1000; for (int i = 1; i < X1.Length; i++) { X1[i] = X1[i - 1] / 3; } Random Bot = new Random(); Random To = new Random(); Random Ec5 = new Random(); Random Slop = new Random(); CompleteScreening = new cScreening("Current Screen", this.GlobalInfo); CompleteScreening.Columns = nbrofconcentrations; CompleteScreening.Rows = nbrofdrugs; for (int j = 0; j < nbrofdrugs; j++) { for (int k = 0; k < nbrofdesc; k++) { float Bottom = Bot.Next(10); float Top = To.Next(80, 100); float Ec50 = Ec5.Next(40, 60); float Slope = Slop.Next(1, 5); for (int i = 0; i < X1.Length; i++) { //DRC[i, j, k] = Bottom + (Top - Bottom) / (1 + Math.Pow(((Math.Pow(10, Ec50) / Math.Pow(10, X1[0]))), Slope)); DRC[i, j, k] = Bottom + (Top - Bottom) / (1 + Math.Pow((X1[i] / Ec50), -Slope)); } } } cPlate NewPlate = new cPlate("Cpds", "Plate0", CompleteScreening); CompleteScreening.AddPlate(NewPlate); CompleteScreening.ListDescriptors.Clean(); for (int k = 0; k < nbrofdesc; k++) { cDescriptorsType DescType = new cDescriptorsType("Desc" + k, true, 1, GlobalInfo); CompleteScreening.ListDescriptors.AddNew(DescType); } for (int j = 0; j < nbrofdrugs; j++) { for (int i = 0; i < nbrofconcentrations; i++) { List<cDescriptor> LDesc = new List<cDescriptor>(); for (int k = 0; k < nbrofdesc; k++) { //DRC[i, j, k] = Bottom + (Top - Bottom) / (1 + Math.Pow(((Math.Pow(10, Ec50) / Math.Pow(10, X1[0]))), Slope)); cDescriptor CurrentDesc = new cDescriptor(DRC[i, j, k], CompleteScreening.ListDescriptors[k], CompleteScreening); LDesc.Add(CurrentDesc); } cWell NewWell = new cWell(LDesc, i+1, j+1, CompleteScreening, NewPlate); NewWell.Concentration = X1[i]; NewPlate.AddWell(NewWell); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); StartingUpDateUI(); this.toolStripcomboBoxPlateList.Items.Clear(); for (int IdxPlate = 0; IdxPlate < CompleteScreening.ListPlatesActive.Count; IdxPlate++) { string Name = CompleteScreening.ListPlatesActive.GetPlate(IdxPlate).Name; this.toolStripcomboBoxPlateList.Items.Add(Name); PlateListWindow.listBoxPlateNameToProcess.Items.Add(Name); PlateListWindow.listBoxAvaliableListPlates.Items.Add(Name); } CompleteScreening.CurrentDisplayPlateIdx = 0; CompleteScreening.SetSelectionType(comboBoxClass.SelectedIndex - 1); UpdateUIAfterLoading(); }
private void convertDRCToWellToolStripMenuItem1_Click(object sender, EventArgs e) { System.Windows.Forms.DialogResult ResWin = MessageBox.Show("By applying this process, the current screening will be entirely updated ! Proceed ?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (ResWin == System.Windows.Forms.DialogResult.No) return; //foreach (cDescriptorsType DescType in CompleteScreening.ListDescriptors) //{ // CompleteScreening.ListDescriptors.RemoveDescUnSafe(DescType, CompleteScreening); //} if (CompleteScreening != null) CompleteScreening.Close3DView(); // CompleteScreening.ListDescriptors.RemoveDesc(CompleteScreening.ListDescriptors[IntToTransfer], CompleteScreening); cScreening MergedScreening = new cScreening("Merged Screen", GlobalInfo); MergedScreening.PanelForPlate = this.panelForPlate; MergedScreening.Rows = CompleteScreening.Rows; MergedScreening.Columns = CompleteScreening.Columns; MergedScreening.ListPlatesAvailable = new cExtendPlateList(); // create the descriptor MergedScreening.ListDescriptors.Clean(); int Idesc = 0; List<cDescriptorsType> ListDescType = new List<cDescriptorsType>(); for (int i = 0; i < CompleteScreening.ListDescriptors.Count; i++) { if (!CompleteScreening.ListDescriptors[i].IsActive()) continue; cDescriptorsType DescEC50 = new cDescriptorsType("EC50_" + CompleteScreening.ListDescriptors[i].GetName(), true, 1, GlobalInfo); ListDescType.Add(DescEC50); MergedScreening.ListDescriptors.AddNew(DescEC50); cDescriptorsType DescTop = new cDescriptorsType("Top_" + CompleteScreening.ListDescriptors[i].GetName(), true, 1, GlobalInfo); ListDescType.Add(DescTop); MergedScreening.ListDescriptors.AddNew(DescTop); cDescriptorsType DescBottom = new cDescriptorsType("Bottom_" + CompleteScreening.ListDescriptors[i].GetName(), true, 1, GlobalInfo); ListDescType.Add(DescBottom); MergedScreening.ListDescriptors.AddNew(DescBottom); cDescriptorsType DescSlope = new cDescriptorsType("Slope_" + CompleteScreening.ListDescriptors[i].GetName(), true, 1, GlobalInfo); ListDescType.Add(DescSlope); MergedScreening.ListDescriptors.AddNew(DescSlope); Idesc++; } MergedScreening.ListDescriptors.CurrentSelectedDescriptor = 0; foreach (cPlate CurrentPlate in CompleteScreening.ListPlatesAvailable) { cPlate NewPlate = new cPlate("Cpds", CurrentPlate.Name + " Merged", MergedScreening); // check if the plate exist already MergedScreening.AddPlate(NewPlate); foreach (cDRC_Region CurrentRegion in CurrentPlate.ListDRCRegions) { List<cDescriptor> LDesc = new List<cDescriptor>(); Idesc = 0; int IDESCBase = 0; for (int i = 0; i < CompleteScreening.ListDescriptors.Count; i++) { if (!CompleteScreening.ListDescriptors[i].IsActive()) continue; cDRC CurrentDRC = CurrentRegion.GetDRC(CompleteScreening.ListDescriptors[IDESCBase++]); cDescriptor Desc_EC50 = new cDescriptor(CurrentDRC.EC50, ListDescType[Idesc++], CompleteScreening); LDesc.Add(Desc_EC50); cDescriptor Desc_Top = new cDescriptor(CurrentDRC.Top, ListDescType[Idesc++], CompleteScreening); LDesc.Add(Desc_Top); cDescriptor Desc_Bottom = new cDescriptor(CurrentDRC.Bottom, ListDescType[Idesc++], CompleteScreening); LDesc.Add(Desc_Bottom); cDescriptor Desc_Slope = new cDescriptor(CurrentDRC.Slope, ListDescType[Idesc++], CompleteScreening); LDesc.Add(Desc_Slope); } cWell NewWell = new cWell(LDesc, CurrentRegion.PosXMin + 1, CurrentRegion.PosYMin + 1, MergedScreening, NewPlate); NewWell.Name = "DRC [" + CurrentRegion.PosXMin + ":" + CurrentRegion.PosYMin + "]"; NewPlate.AddWell(NewWell); } } // PanelList[0].CurrentScreening.ListPlatesActive.Clear(); // PanelList[0].CurrentScreening.GlobalInfo.WindowHCSAnalyzer.RefreshInfoScreeningRichBox(); MergedScreening.ListPlatesActive = new cExtendPlateList(); for (int i = 0; i < MergedScreening.ListPlatesAvailable.Count; i++) { MergedScreening.ListPlatesActive.Add(MergedScreening.ListPlatesAvailable[i]); // MergedScreening.GlobalInfo.WindowHCSAnalyzer.toolStripcomboBoxPlateList.Items.Add(PanelList[0].CurrentScreening.ListPlatesActive[i].Name); } //PanelList[0].CurrentScreening.CurrentDisplayPlateIdx = 0; //PanelList[0].CurrentScreening.GlobalInfo.WindowHCSAnalyzer.toolStripcomboBoxPlateList.SelectedIndex = 0; //PanelList[0].CurrentScreening.GetCurrentDisplayPlate().DisplayDistribution(PanelList[0].CurrentScreening.ListDescriptors.CurrentSelectedDescriptor, false); CompleteScreening.ListDescriptors = MergedScreening.ListDescriptors; CompleteScreening.ListPlatesAvailable = MergedScreening.ListPlatesAvailable; CompleteScreening.ListPlatesActive = MergedScreening.ListPlatesActive; CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); CompleteScreening.GetCurrentDisplayPlate().DisplayDistribution(CompleteScreening.ListDescriptors.CurrentSelectedDescriptor, true); }
private void ConcentrationToDescriptorItem(object sender, EventArgs e) { cDescriptorsType ConcentrationType = new cDescriptorsType("Concentration", true, 1); CompleteScreening.ListDescriptors.AddNew(ConcentrationType); foreach (cPlate TmpPlate in CompleteScreening.ListPlatesAvailable) { foreach (cWell Tmpwell in TmpPlate.ListActiveWells) { List<cDescriptor> LDesc = new List<cDescriptor>(); cDescriptor NewDesc = new cDescriptor(Tmpwell.Concentration, ConcentrationType,CompleteScreening); LDesc.Add(NewDesc); Tmpwell.AddDescriptors(LDesc); } } CompleteScreening.ListDescriptors.UpDateDisplay(); CompleteScreening.UpDatePlateListWithFullAvailablePlate(); for (int idxP = 0; idxP < CompleteScreening.ListPlatesActive.Count; idxP++) CompleteScreening.ListPlatesActive[idxP].UpDataMinMax(); StartingUpDateUI(); }