Пример #1
0
/// <summary>
/// Process user input, create QueryManager, Query, DataTable and build chart definition
/// </summary>

        void SummarizeDataUsingFormParameters()
        {
            AssayHeatmapProperties p = View.AssayHeatmapProperties;

            if (p == null)
            {
                return;
            }

            p.ColsToSum = ColsWithCfOnly.Checked ? ColumnsToTransform.ColsWithCondFormat : ColumnsToTransform.PrimaryResults;
            p.SumLevel  = SummarizeByAssay.Checked ? TargetAssaySummarizationLevel.Assay : TargetAssaySummarizationLevel.Target;
            p.SumMethod = MeanSummarization.Checked ? SummarizationType.BioResponseMean : SummarizationType.MostPotent;

            p.PivotFormat = TargetAssayPivotFormat.QueryOrder;
            if (ByAssay.Checked)
            {
                p.PivotFormat = TargetAssayPivotFormat.ByAssay;
            }
            else if (ByTargetGene.Checked)
            {
                p.PivotFormat = TargetAssayPivotFormat.ByGeneSymbol;
            }
            else if (ByGeneFamily.Checked)
            {
                p.PivotFormat = TargetAssayPivotFormat.ByGeneFamily;
            }

            Qm2 = View.BuildAssayResultsHeatMapSubqueryResults();
            return;
        }
Пример #2
0
        /// <summary>
        /// Build the Qm, DataTable, etc derived from the root query
        /// </summary>

        internal QueryManager BuildAssayResultsHeatMapSubqueryResults()
        {
            Query        rootQuery = BaseQuery.Root;                         // get root query
            QueryManager rootQm    = rootQuery.QueryManager as QueryManager; // and assoc manager

            AssayHeatmapProperties p = AssayHeatmapProperties;

            Query subQuery = null;             // the assay results heat map query

            if (BaseQuery.Parent != null)      // is Query a subQuery
            {
                subQuery = BaseQuery;
                QueryManager.RemoveSubQuery(subQuery, false, false);                 // remove any existing subquery but not assoc views
            }

            OutputDest   outputDest = OutputDest.Grid; // fix later
            QueryManager sqm        =                  // summarize root data
                                      rootQm.DataTableManager.Summarize(p.SumLevel, p.SumMethod, p.ColsToSum, outputDest, null);

            subQuery = sqm.Query;               // this is the new query and associated data

            rootQuery.Subqueries.Add(subQuery); // add subquery to root
            subQuery.Parent = rootQuery;        // link subquery to parent query
            BaseQuery       = subQuery;         // link view to subquery
            return(sqm);
        }
Пример #3
0
        /// <summary>
        /// Build the data table of unpivoted results
        /// </summary>
        /// <param name="includeActivityClass"></param>
        /// <returns></returns>

        internal bool BuildUnpivotedResults(
            bool includeActivityClass)
        {
            int fi;

            DialogResult dr = Qm.DataTableManager.CompleteRetrieval();

            if (dr == DialogResult.Cancel)
            {
                return(false);
            }

            DataIncludesDates = false;

            int tables = 0, tablesWithDates = 0;             // see what percentage of tables have dates

            foreach (ResultsTable rt in Rf.Tables)
            {
                for (fi = 0; fi < rt.Fields.Count; fi++)
                {
                    if (fi == 1)
                    {
                        tables++;                              // count if more that just key field
                    }
                    ResultsField rfld = rt.Fields[fi];
                    if (rfld.MetaColumn.DataType == MetaColumnType.Date)
                    {
                        tablesWithDates++;
                        break;
                    }
                }

                if (fi < rt.Fields.Count)
                {
                    break;
                }
            }

            if (tables > 0 && (float)tablesWithDates / tables >= .5)
            {
                DataIncludesDates = true;
            }

            SetupActivityClassCondFormat();

            if (Math.Sqrt(4) == 4)             // todo: determine when to do this
            {
                AssayHeatmapProperties p          = AssayHeatmapProperties;
                OutputDest             outputDest = OutputDest.WinForms;
                QueryManager           sqm        = Qm.DataTableManager.Summarize(p.SumLevel, p.SumMethod, p.ColsToSum, outputDest, null);
            }

            //string name = rootQuery.UserObject.Name; // (don't change name of base query)
            //if (!Lex.StartsWith(name, "Pivot View of "))
            //  name = "Pivot View of " + name;
            //Qm.Query.UserObject.Name = name;

            return(true);
        }
Пример #4
0
/// <summary>
/// BeginSerialization
/// </summary>
/// <param name="tw"></param>

        public override void BeginSerialization(XmlTextWriter tw)
        {
            base.BeginSerialization(tw);

            AssayHeatmapProperties p = AssayHeatmapProperties;

            if (p == null)
            {
                return;
            }

            tw.WriteStartElement("AssayResultsHeatMap");
            tw.WriteAttributeString("ColsToSum", p.ColsToSum.ToString());
            tw.WriteAttributeString("SumLevel", p.SumLevel.ToString());
            tw.WriteAttributeString("SumMethod", p.SumMethod.ToString());
            tw.WriteAttributeString("PivotFormat", p.PivotFormat.ToString());
            tw.WriteEndElement();

            return;
        }
Пример #5
0
        /// <summary>
        /// Basic constructor
        /// </summary>

        public AssayResultsHeatMapView()
        {
            ViewType = ViewTypeMx.AssayResultsHeatmap;
            Title    = "Assay Results Heatmap";
            AssayHeatmapProperties = new AssayHeatmapProperties();
        }