Beispiel #1
0
        private void bgWorker_Process_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                //  _MultiNGlycan.ExportParametersToExcel();
                if (DoLog)
                {
                    Logger.WriteLog("Start merge peaks");
                }
                lblStatus.Text = "Mergeing Peaks";
                if (_MultiNGlycan.LabelingMethod == enumGlycanLabelingMethod.MultiplexPermethylated)
                {
                    SecondPassedForMultiplexPermethylated.Processing(ref _MultiNGlycan);
                }
                //if (_MultiNGlycan.TwoPassedID)
                //{
                //   // _MultiNGlycan.Merge2PassedCluster();
                //    _MultiNGlycan.MergeSingleScanResultToPeak();
                //}
                //else
                //{
                // _MultiNGlycan.MergeCluster();
                _MultiNGlycan.MergeSingleScanResultToPeak();
                _MultiNGlycan.SolveDuplicateAssignment();
                _MultiNGlycan.MergeSingleScanResultToPeak();
                //}


                if (DoLog)
                {
                    Logger.WriteLog("End merge peaks");
                }
                if (_MultiNGlycan.GlycanLCorderExist)
                {
                    _MultiNGlycan.ApplyLCordrer();
                }

                if (!Directory.Exists(_MultiNGlycan.ExportFilePath + "\\Pic") && (_MultiNGlycan.IndividualImgs || _MultiNGlycan.QuantificationImgs))
                {
                    Directory.CreateDirectory(_MultiNGlycan.ExportFilePath + "\\Pic");
                }


                if (_MultiNGlycan.LabelingMethod == GlycoLib.enumGlycanLabelingMethod.MultiplexPermethylated)
                {
                    _MultiNGlycan.EstimatePurity();
                    foreach (GlycoLib.enumLabelingTag tag in _MultiNGlycan.LabelingRatio.Keys)
                    {
                        if (tag == enumLabelingTag.MP_CH3 || !_MultiNGlycan.HasEstimatePurity((tag)))
                        {
                            continue;
                        }
                        _MultiNGlycan.GetPurityEstimateImage(tag, _MultiNGlycan.ExportFilePath + "\\Pic\\EstimatePurity_" + tag.ToString() + ".png");
                    }

                    //Correct Intensity;
                    //_MultiNGlycan.CorrectIntensityByIsotope();
                }
                if (DoLog)
                {
                    ;
                    Logger.WriteLog("Start export");
                }
                lblStatus.Text = "Exporting";
                _MultiNGlycan.ExportToCSV();

                //Get individual image
                if (_MultiNGlycan.IndividualImgs &&
                    File.Exists(_MultiNGlycan.ExportFilePath + "\\" + Path.GetFileName(_MultiNGlycan.ExportFilePath) +
                                "_FullList.csv"))
                {
                    //GenerateImages.GenGlycanLcImg(
                    //    _MultiNGlycan.ExportFilePath + "\\" + Path.GetFileName(_MultiNGlycan.ExportFilePath) +"_FullList.csv",
                    //    _MultiNGlycan.ExportFilePath);
                    GenerateImages.GenGlycanLcImg(_MultiNGlycan);
                }
                //Get Quant Image
                if (_MultiNGlycan.LabelingMethod != enumGlycanLabelingMethod.None && _MultiNGlycan.QuantificationImgs &&
                    File.Exists(_MultiNGlycan.ExportFilePath + "\\" + Path.GetFileName(_MultiNGlycan.ExportFilePath) +
                                "_Quant.csv"))
                {
                    GenerateImages.GenQuantImg(
                        _MultiNGlycan.ExportFilePath + "\\" + Path.GetFileName(_MultiNGlycan.ExportFilePath) + "_Quant.csv",
                        _MultiNGlycan.LabelingMethod,
                        _MultiNGlycan.ExportFilePath);
                }


                //_MultiNGlycan.ExportToExcel();
                if (DoLog)
                {
                    Logger.WriteLog("End export");
                }
                TimeSpan TDiff = DateTime.Now.Subtract(Start);
                lblStatus.Text        = "Finish in " + TDiff.TotalMinutes.ToString("0.00") + " mins";
                lblNumberOfMerge.Text = _MultiNGlycan.MergedResultList.Count.ToString();
                progressBar1.Value    = 100;
                lblPercentage.Text    = "100%";
                FlashWindow.Flash(this);
                this.Text = "Done";
                if (DoLog)
                {
                    Logger.WriteLog("End process each scan");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }