Ejemplo n.º 1
0
        private void buttonLoad_Click(object sender, EventArgs e)
        {
            openFileDialog1.Title  = "Indicate the GO (DAG) file";
            openFileDialog1.Filter = "OBO file (*.OBO)|*.OBO";

            if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            gt.LoadFile(openFileDialog1.FileName);
            richTextBoxLog.AppendText("Nodes loaded :" + gt.Terms.Count.ToString() + "\n");

            int prunnedNodes = gt.pruneObsoleteTerms();

            richTextBoxLog.AppendText("Prunned nodes (obsolete): " + prunnedNodes.ToString() + "\n");
            richTextBoxLog.AppendText("We now have " + gt.Terms.Count.ToString() + "nodes\n");

            gt.buildTreeNodes();

            //Lets give them a friendly wait advice
            waitWindow = new WaitWindow();
            waitWindow.ChangeLable("Performing Optimizations...");
            System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(waitWindow.ShowWindow));
            t.Start();

            tabControlGOTools.Enabled = true;
            tabControlRight.Enabled   = true;

            treeViewGO2.ShowPlusMinus = false;

            treeNodes.Clear();
            treeNodes = gt.getNodesCategory(GO.GOTerms.GOCategories.all);

            addRoots();

            //Perform Precalculations
            //We could let this computing in a sepatared thread
            gt.ComputeAllNodesBelowForAllNodes();

            dagLoaded = true;

            if (dagLoaded && associationTableloaded)
            {
                buttonSavePreCalc.Enabled    = true;
                groupBoxTreeControls.Enabled = true;
                groupBoxGOPlot.Enabled       = true;
            }
            openFileDialog1.Filter = "";

            //Turn off the button so the user wont fo mess
            buttonLoad.Enabled        = false;
            groupBoxGOPrecomp.Enabled = false;

            t.Abort();
        }
Ejemplo n.º 2
0
        private void buttonLoadPreCalc_Click(object sender, EventArgs e)
        {
            waitWindow = new WaitWindow();
            System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(waitWindow.ShowWindow));

            try
            {
                openFileDialog1.Filter   = "GO Precomputed (*.GOprecomp)|*.GOprecomp";
                openFileDialog1.FileName = "";
                if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                openFileDialog1.Filter = "";

                //Lets give them a friendly wait advice
                t.Start();
                System.IO.FileStream flStream = new System.IO.FileStream(openFileDialog1.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                BinaryFormatter      bf       = new BinaryFormatter();
                this.gt = (GOTerms)bf.Deserialize(flStream);
                flStream.Close();
                richTextBoxLog.AppendText("Object deserialized!\n");


                gt.buildTreeNodes();
                tabControlGOTools.Enabled = true;

                treeViewGO2.ShowPlusMinus = false;
                tabControlRight.Enabled   = true;

                treeNodes.Clear();
                treeNodes = gt.getNodesCategory(GO.GOTerms.GOCategories.all);

                addRoots();

                //Disable some stuff to keep the user on track
                buttonLoadPreCalc.Enabled = false;
                groupBoxLoadGODAG.Enabled = false;

                groupBoxTreeControls.Enabled = true;
                groupBoxGOPlot.Enabled       = true;
            }
            catch (Exception e2)
            {
                richTextBoxLog.AppendText(e2.InnerException + "\n");
            }
            finally
            {
                //Lets shut down our wait window
                t.Abort();
            }
        }