private void btnReset_Click(object sender, EventArgs e) { if (ccb_Added.Items.Count != 0) { mz_id_to_process.Clear(); ccb_Added.Items.Clear(); R_matrix.refresh(); update_figure(threshold); } }
public void save_data() { try { string fileNameofNet = file; string data_name = String.Format("{0}\\{1}_{2}_{3}_{4}.txt", Path.GetDirectoryName(file), Path.GetFileNameWithoutExtension(file), X.ToString(), Y.ToString(), DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss")); using (StreamWriter file_stream = new StreamWriter(data_name)) { file_stream.WriteLine("selected X and Y"); file_stream.WriteLine("{0}\t{1}", X.ToString(), Y.ToString()); file_stream.WriteLine("X selected file"); file_stream.WriteLine(scanNamesListSelected[X] + " — " + sampleScanListSelected[X]); file_stream.WriteLine("Y selected file"); file_stream.WriteLine(scanNamesListSelected[Y] + " — " + sampleScanListSelected[Y]); file_stream.WriteLine("Threshold value and outliers level"); file_stream.WriteLine("{0}\t{1}", threshold.ToString(), threshold_outliers.ToString()); file_stream.WriteLine("m/z array values"); file_stream.WriteLine(R_matrix.mz_array.ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan X included values"); file_stream.WriteLine(R_matrix.scan(X).Multiply(mz_id_to_process).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan X excluded values"); file_stream.WriteLine(R_matrix.scan(X).Multiply(mz_id_to_process.Multiply(-1).Add(1)).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan Y included values"); file_stream.WriteLine(R_matrix.scan(Y).Multiply(mz_id_to_process).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("scan Y excluded values"); file_stream.WriteLine(R_matrix.scan(Y).Multiply(mz_id_to_process.Multiply(-1).Add(1)).ToString <double>().Replace(' ', '\t')); file_stream.WriteLine("Similarity matrix"); for (int i = 0; i < R_matrix.matrix.Rows(); i++) { file_stream.WriteLine(R_matrix.matrix.GetRow(i).ToString <double>().Replace(' ', '\t')); } file_stream.Close(); } } catch (Exception) { } }
public void clicked_pixel(int X, int Y) { picture_R.Refresh(); GraphPane plot1 = master.PaneList[0]; GraphPane plot2 = master.PaneList[1]; plot1.CurveList.Clear(); plot2.CurveList.Clear(); plot1.YAxis.Scale.Min = 0; plot2.YAxis.Scale.Min = 0; LineItem myCurve1 = plot1.AddCurve("Included in calculations", R_matrix.mz_array, R_matrix.scan(Y).Multiply(mz_id_to_process.Add(-0.5).Multiply(2)), Color.Blue, SymbolType.None); LineItem myCurve2 = plot2.AddCurve("", R_matrix.mz_array, R_matrix.scan(X).Multiply(mz_id_to_process.Add(-0.5).Multiply(2)), Color.Blue, SymbolType.None); LineItem myCurve3 = plot1.AddCurve("Excluded from calculations", R_matrix.mz_array, R_matrix.scan(Y).Multiply(mz_id_to_process.Add(-0.5).Multiply(-2)), Color.Red, SymbolType.None); LineItem myCurve4 = plot2.AddCurve("", R_matrix.mz_array, R_matrix.scan(X).Multiply(mz_id_to_process.Add(-0.5).Multiply(-2)), Color.Red, SymbolType.None); plot1.Legend.Position = LegendPos.Float; plot1.Legend.Location.CoordinateFrame = CoordType.ChartFraction; plot1.Legend.Location.AlignH = AlignH.Right; plot1.Legend.Location.AlignV = AlignV.Top; plot1.Legend.Location.TopLeft = new PointF(1.0f - 0.02f, 0.02f); plot1.XAxis.Title.FontSpec.Size = 20.0f; plot2.XAxis.Title.FontSpec.Size = 20.0f; plot1.YAxis.Title.FontSpec.Size = 20.0f; plot2.YAxis.Title.FontSpec.Size = 20.0f; plot1.Title.FontSpec.Size = 20.0f; plot2.Title.FontSpec.Size = 20.0f; plot1.XAxis.Title.Text = "m/z, Th"; plot2.XAxis.Title.Text = "m/z, Th"; plot1.YAxis.Title.Text = "intensity"; plot2.YAxis.Title.Text = "intensity"; plot1.Title.Text = scanNamesListSelected[Y] + " — " + sampleScanListSelected[Y]; plot2.Title.Text = scanNamesListSelected[X] + " — " + sampleScanListSelected[X]; labelR.Text = "R=" + (R_matrix.matrix[X, Y]).ToString(); zgc.AxisChange(); zgc.Invalidate(); zgc.Refresh(); }
public void update_ccbox() { ccb_Added.Items.Clear(); int st_inc = 0; int st_exc = 0; if (mz_id_to_process.Sum() > 0 && mz_id_to_process.Sum() < R_matrix.mz_array.Length) { for (int i = 1; i < mz_id_to_process.Length; i++) { if (mz_id_to_process[i] != mz_id_to_process[i - 1]) { if (mz_id_to_process[i - 1] == 0) { CCBoxItem item = new CCBoxItem(R_matrix.mz_array[st_exc], R_matrix.mz_array[i - 1], false); ccb_Added.Items.Add(item); st_inc = i; } else { CCBoxItem item = new CCBoxItem(R_matrix.mz_array[st_inc], R_matrix.mz_array[i - 1], true); ccb_Added.Items.Add(item); st_exc = i; } } } if (mz_id_to_process[mz_id_to_process.Length - 1] == 0) { CCBoxItem item = new CCBoxItem(R_matrix.mz_array[st_exc], R_matrix.mz_array[mz_id_to_process.Length - 1], false); ccb_Added.Items.Add(item); } else { CCBoxItem item = new CCBoxItem(R_matrix.mz_array[st_inc], R_matrix.mz_array[mz_id_to_process.Length - 1], true); ccb_Added.Items.Add(item); } } else { R_matrix.refresh(); } }
public void read_r_matrix(string fileName) { try { //var mzxml = new LIMPFileReader.LimpXml(fileName, (float)0, true); Cursor = Cursors.WaitCursor; var reader = new MatReader(fileName); var structure = reader["data"]; var cType = structure["spectra"].ValueType; var fields = structure.Fields; //var scans = (reader["result"]["scans"].GetValue<int[,]>()).ToDouble(); var scans = reader["data"]["spectra"].GetValue <double[, ]>().Transpose(); R_matrix.mz_array = reader["data"]["mz"].GetValue <double[, ]>().ToJagged()[0]; mzmin = R_matrix.mz_array[0]; mzmax = R_matrix.mz_array[R_matrix.mz_array.Length - 1]; n_precision = (int)(Math.Round(1.0 / (R_matrix.mz_array[1] - R_matrix.mz_array[0]))); rf = new double[scans.Columns(), scans.Columns()]; R_matrix.matrix = rf; rf2 = new double[rf.Columns(), rf.Rows()]; R_matrix.scans = scans.Transpose(); int mzlength = scans.GetLength(0); var scannames = reader["data"]["filenames"]; var scan_of_file = (reader["data"]["scan_of_file"].GetValue <double[, ]>()).ToInt32(); scannames_count = scan_of_file.Length; sampleNameList.Clear(); sampleNameList.Add(scannames[scan_of_file[0, 0]].Value.ToString()); sampleCoordList.Clear(); sampleCoordList.Add(0.0); scanNamesList.Clear(); int intercept = 0; for (int i = 0; i < scannames_count; i++) { scanNamesList.Add(scannames[scan_of_file[0, i]].Value.ToString()); if (i > 0) { if (scannames[scan_of_file[0, i]].Value.ToString() != scannames[scan_of_file[0, i - 1]].Value.ToString()) { sampleNameList.Add(scannames[scan_of_file[0, i]].Value.ToString()); sampleCoordList.Add(i); intercept = i; } } sampleScanList.Add(Convert.ToString(i + 1 - intercept)); } R_matrix.scan_names = sampleScanList; R_matrix.file_names = sampleNameList; R_matrix.refresh(); update_figure(threshold); Cursor = Cursors.Arrow; } catch (Exception e) { var msg = e.Message; Cursor = Cursors.Arrow; MessageBox.Show(msg, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); return; } }