示例#1
0
 private static void CheckNumberResults(ComparePeakPickingDlg comparePeakPickingDlg, int numResults)
 {
     foreach (var comparer in comparePeakPickingDlg.ComparePeakBoundariesList)
     {
         Assert.AreEqual(comparer.Matches.Count, numResults);
     }
 }
示例#2
0
        private static void CheckNumberComparisons(ComparePeakPickingDlg comparePeakPickingDlg,
                                                   int rocCurves,
                                                   int qCurves,
                                                   int detailsChoices,
                                                   int compareChoices)
        {
            TryWaitForConditionUI(() => Equals(rocCurves, Math.Max(comparePeakPickingDlg.CountRocCurves - 1, 0)));  // Use WaitForCondition instead of Assert.AreEqual to avoid race conditions
            int actualRocCurves = Math.Max(comparePeakPickingDlg.CountRocCurves - 1, 0);

            if (!Equals(rocCurves, actualRocCurves))
            {
                var alertDlg = FindOpenForm <AlertDlg>();
                if (alertDlg != null)
                {
                    Assert.Fail("Unexpected alert found: {0}", alertDlg.Message);
                }

                Assert.Fail(TextUtil.LineSeparate(string.Format("Expecting {0} ROC curves - 1, found {1}", rocCurves, actualRocCurves),
                                                  TextUtil.LineSeparate(comparePeakPickingDlg.ZedGraphRoc.GraphPane.CurveList.Select(c => c.Label.Text))));
            }
            Assert.AreEqual(Math.Max(comparePeakPickingDlg.CountQCurves - 2, 0), qCurves);
            Assert.AreEqual(comparePeakPickingDlg.CountDetailsItems, detailsChoices);
            Assert.AreEqual(comparePeakPickingDlg.CountCompare1Items, compareChoices);
            Assert.AreEqual(comparePeakPickingDlg.CountCompare2Items, compareChoices);
        }
示例#3
0
            private static void AddFile(ComparePeakPickingDlg dlg, string fileName, string filePath, int dialogSkip = 0)
            {
                var addPeakCompareDlg = ShowDialog <AddPeakCompareDlg>(dlg.Add);

                RunUI(() =>
                {
                    addPeakCompareDlg.IsModel  = false;
                    addPeakCompareDlg.FileName = fileName;
                    addPeakCompareDlg.FilePath = filePath;
                });
                if (dialogSkip == 0)
                {
                    RunUI(addPeakCompareDlg.OkDialog);
                }
                else
                {
                    var messageDlg = ShowDialog <MultiButtonMsgDlg>(addPeakCompareDlg.OkDialog);
                    for (int i = 0; i < dialogSkip; ++i)
                    {
                        if (i > 0)
                        {
                            messageDlg = WaitForOpenForm <MultiButtonMsgDlg>();
                        }
                        RunUI(messageDlg.Btn1Click);
                        WaitForClosedForm <MultiButtonMsgDlg>();
                    }
                }
                WaitForClosedForm <AddPeakCompareDlg>();
            }
示例#4
0
        public static void RemoveComparer(ComparePeakPickingDlg dlg, string comparerName)
        {
            var editListDlgRemove = ShowDialog <EditListDlg <ComparePeakBoundariesList, ComparePeakBoundaries> >(dlg.EditList);

            RunUI(() =>
            {
                editListDlgRemove.SelectItem(comparerName);
                editListDlgRemove.RemoveItem();
            });
            OkDialog(editListDlgRemove, editListDlgRemove.OkDialog);
        }
示例#5
0
        private static void AddModel(ComparePeakPickingDlg dlg, string modelName)
        {
            var addPeakCompareDlg = ShowDialog <AddPeakCompareDlg>(dlg.Add);

            RunUI(() =>
            {
                addPeakCompareDlg.IsModel = true;
                addPeakCompareDlg.PeakScoringModelSelected = modelName;
            });
            OkDialog(addPeakCompareDlg, addPeakCompareDlg.OkDialog);
        }
示例#6
0
        private static void AddFile(ComparePeakPickingDlg dlg, string fileName, string filePath)
        {
            var addPeakCompareDlg = ShowDialog <AddPeakCompareDlg>(dlg.Add);

            RunUI(() =>
            {
                addPeakCompareDlg.IsModel  = false;
                addPeakCompareDlg.FileName = fileName;
                addPeakCompareDlg.FilePath = filePath;
            });
            OkDialog(addPeakCompareDlg, addPeakCompareDlg.OkDialog);
        }
示例#7
0
 private static void CheckNumberComparisons(ComparePeakPickingDlg comparePeakPickingDlg,
                                            int rocCurves,
                                            int qCurves,
                                            int detailsChoices,
                                            int compareChoices)
 {
     WaitForConditionUI(() => Equals(Math.Max(comparePeakPickingDlg.CountRocCurves - 1, 0), rocCurves), "unexpected rocCurves count");  // Use WaitForCondition instead of Assert.AreEqual to avoid race conditions
     Assert.AreEqual(Math.Max(comparePeakPickingDlg.CountQCurves - 2, 0), qCurves);
     Assert.AreEqual(comparePeakPickingDlg.CountDetailsItems, detailsChoices);
     Assert.AreEqual(comparePeakPickingDlg.CountCompare1Items, compareChoices);
     Assert.AreEqual(comparePeakPickingDlg.CountCompare2Items, compareChoices);
 }
示例#8
0
            private static void AddFile(ComparePeakPickingDlg dlg, string fileName, string filePath, string outDir, int dialogSkip = 0)
            {
                string intlPath = Path.Combine(outDir, fileName + "Intl" + Path.GetExtension(filePath));

                if (TextUtil.WriteDsvToCsvLocal(filePath, intlPath, true))
                {
                    filePath = intlPath;
                }

                var addPeakCompareDlg = ShowDialog <AddPeakCompareDlg>(dlg.Add);

                RunUI(() =>
                {
                    addPeakCompareDlg.IsModel  = false;
                    addPeakCompareDlg.FileName = fileName;
                    addPeakCompareDlg.FilePath = filePath;
                });
                if (dialogSkip == 0)
                {
                    RunUI(addPeakCompareDlg.OkDialog);
                }
                else
                {
                    var messageDlg = ShowDialog <MultiButtonMsgDlg>(addPeakCompareDlg.OkDialog);
                    for (int i = 0; i < dialogSkip; ++i)
                    {
                        if (i > 0)
                        {
                            messageDlg = WaitForOpenForm <MultiButtonMsgDlg>();
                        }
                        OkDialog(messageDlg, messageDlg.Btn1Click);
                    }
                }
                var messageDlgExtra = TryWaitForOpenForm <MultiButtonMsgDlg>(100);

                if (messageDlgExtra != null)
                {
                    string message = messageDlgExtra.Message;
                    OkDialog(messageDlgExtra, messageDlgExtra.BtnCancelClick);
                    Assert.Fail("Unexpected message dialog after {0}: {1}", dialogSkip, message);
                }
                WaitForClosedForm <AddPeakCompareDlg>();
            }
示例#9
0
        public void ShowCompareModelsDlg()
        {
            var document = DocumentUI;

            if (!document.Settings.HasResults)
            {
                MessageDlg.Show(SkylineWindow, Resources.SkylineWindow_ShowReintegrateDialog_The_document_must_have_imported_results_);
                return;
            }
            if (document.MoleculeCount == 0)
            {
                MessageDlg.Show(SkylineWindow, Resources.SkylineWindow_ShowCompareModelsDlg_The_document_must_have_targets_in_order_to_compare_model_peak_picking_);
                return;
            }
            if (!document.IsLoaded)
            {
                MessageDlg.Show(SkylineWindow, Resources.SkylineWindow_ShowCompareModelsDlg_The_document_must_be_fully_loaded_in_order_to_compare_model_peak_picking_);
                return;
            }
            var dlg = new ComparePeakPickingDlg(document);

            dlg.Show(SkylineWindow);
        }
示例#10
0
            public DataSetAnalyzer(string skylineDocument,
                                   IList <string> modelNames,
                                   IEnumerable <string> filePaths,
                                   string outDir,
                                   IList <int> dialogSkips,
                                   TextWriter resultsWriter,
                                   bool rescorePeaks)
            {
                OutDir = outDir;
                Settings.Default.PeakScoringModelList.Clear();
                RunUI(() => SkylineWindow.OpenFile(skylineDocument));
                WaitForDocumentLoaded();
                if (rescorePeaks)
                {
                    RescorePeaks();
                }
                CreateModels();
                foreach (var modelName in modelNames)
                {
                    TrainModel(modelName);
                }
                var comparePeakPickingDlg = ShowDialog <ComparePeakPickingDlg>(SkylineWindow.ShowCompareModelsDlg);

                foreach (var modelName in modelNames)
                {
                    AddModel(comparePeakPickingDlg, modelName);
                }
                int i = 0;

                foreach (var filePath in filePaths)
                {
                    var fileName = Path.GetFileNameWithoutExtension(filePath);
                    Assert.IsNotNull(fileName);
                    AddFile(comparePeakPickingDlg, fileName, filePath, dialogSkips[i]);
                    ++i;
                }
                comparePeakPickingDlg.ComboYAxis = Resources.ComparePeakPickingDlg_ComparePeakPickingDlg_Fraction_of_Manual_ID_s;
                var trimmedDoc = Path.GetFileNameWithoutExtension(skylineDocument);

                foreach (var comparePeakBoundaries in comparePeakPickingDlg.ComparePeakBoundariesList)
                {
                    PointPairList rocPoints;
                    PointPairList qqPoints;
                    ComparePeakPickingDlg.MakeRocLists(comparePeakBoundaries, ComparePeakPickingDlg.NormalizeType.frac_manual, out rocPoints);
                    ComparePeakPickingDlg.MakeQValueLists(comparePeakBoundaries, out qqPoints);
                    double peptides01  = GetCurveThreshold(rocPoints, LOW_SIG);
                    double peptides05  = GetCurveThreshold(rocPoints, HIGH_SIG);
                    double peptidesAll = GetCurveThreshold(rocPoints, Double.MaxValue);
                    double qValue01    = GetCurveThreshold(qqPoints, LOW_SIG);
                    double qValue05    = GetCurveThreshold(qqPoints, HIGH_SIG);
                    WriteLine(resultsWriter, trimmedDoc, comparePeakBoundaries.Name, peptides01, peptides05, peptidesAll, qValue01, qValue05);
                }
                var sbRoc = new StringBuilder(trimmedDoc);

                sbRoc.Append("-roc.bmp");
                comparePeakPickingDlg.ZedGraphRoc.MasterPane.GetImage().Save(Path.Combine(outDir, sbRoc.ToString()));
                var sbQq = new StringBuilder(trimmedDoc);

                sbQq.Append("-qq.bmp");
                comparePeakPickingDlg.ZedGraphQq.MasterPane.GetImage().Save(Path.Combine(outDir, sbQq.ToString()));
                var sbFiles = new StringBuilder(trimmedDoc);

                sbFiles.Append("-files.bmp");
                comparePeakPickingDlg.ZedGraphFile.MasterPane.GetImage().Save(Path.Combine(outDir, sbFiles.ToString()));
                // TODO: How can I copy the data using commands?
                OkDialog(comparePeakPickingDlg, comparePeakPickingDlg.OkDialog);
            }