コード例 #1
0
        /// <summary>
        /// Apply the filter to the selected result set
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdApplyFilterRes_Click(object sender, EventArgs e)
        {
            AssayResults ar = SelectedAssayResult();

            if (SelectedAssayResult() != null)
            {
                AssayResultsFilter arf = new AssayResultsFilter();
                // TODO implement checking of box values
                try
                {
                    if (txtExcludeText.Text != "")
                    {
                        arf.ExcludeString = txtExcludeText.Text;
                    }
                    if (txtExHighCutoff.Text != "")
                    {
                        arf.HighCutoff = Convert.ToInt32(txtExHighCutoff.Text);
                    }
                    if (txtExLowCutoff.Text != "")
                    {
                        arf.LowCutoff = Convert.ToInt32(txtExLowCutoff.Text);
                    }
                    if (cmbExSDsBelow.SelectedItem != null)
                    {
                        if (cmbExSDsBelow.SelectedItem.ToString() != "")
                        {
                            arf.LowSDCutoff = Convert.ToInt32(cmbExSDsBelow.SelectedItem.ToString());
                        }
                    }
                    if (cmbExSDsAbove.SelectedItem != null)
                    {
                        if (cmbExSDsAbove.SelectedItem.ToString() != "")
                        {
                            arf.HighSDCutoff = Convert.ToInt32(cmbExSDsAbove.SelectedItem.ToString());
                        }
                    }
                    ar.ApplyFilter(arf);
                    lblFilteredResultProperties.Text = ar.FilteredResults.propertyString + "\r\nLibrary Coverage: " + ar.FilteredResults.Coverage(_env.subsLib.FilteredLibrary);
                } catch (Exception ex) {
                    MessageBox.Show("One or more filter parameters was not in the correct format.");
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// When the selected index is changed, load the file
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lstAssayResults_SelectedIndexChanged(object sender, EventArgs e)
        {
            AssayResults ar = SelectedAssayResult();

            // set the property string
            lblResultProperties.Text = ar.propertyString + "\r\nLibrary Coverage: " + ar.Coverage(_env.subsLib.FilteredLibrary);
            if (ar.FilteredResults != ar)
            {
                lblFilteredResultProperties.Text = ar.FilteredResults.propertyString + "\r\nLibrary Coverage: " + ar.FilteredResults.Coverage(_env.subsLib);
                // set filter
                AssayResultsFilter arf = ar.Filter;
                txtExcludeText.Text        = arf.ExcludeString;
                txtExHighCutoff.Text       = arf.HighCutoff == arf.DEFAULT_CUTOFF ? "" : arf.HighCutoff.ToString();
                txtExLowCutoff.Text        = arf.LowCutoff == -arf.DEFAULT_CUTOFF ? "" : arf.LowCutoff.ToString();
                cmbExSDsAbove.SelectedText = arf.HighSDCutoff == arf.DEFAULT_CUTOFF ? "" : arf.HighSDCutoff.ToString();
                cmbExSDsBelow.Text         = arf.LowSDCutoff == arf.DEFAULT_CUTOFF ? "" : arf.LowSDCutoff.ToString();
            }
            else
            {
                lblFilteredResultProperties.Text = "No filter.";
            }
        }
コード例 #3
0
ファイル: AssayResults.cs プロジェクト: iestyn-lewis/SEA
        /// <summary>
        /// Construct an AssayResults object from an existing assay results object and a filter
        /// </summary>
        /// <param name="original"></param>
        /// <param name="filter"></param>
        public AssayResults(AssayResults original, AssayResultsFilter filter) : this(original.Name, "")
        {
            // copy all values that match the filter criteria
            bool   pass = true;
            double mean = original.meanValue;
            double sd   = original.sdValue;

            foreach (string s in original.ResultHash.Keys)
            {
                pass = true;
                double val = (double)original.ResultHash[s];
                if (val > filter.HighCutoff)
                {
                    pass = false;
                }
                if (val < filter.LowCutoff)
                {
                    pass = false;
                }
                if (val > mean + filter.HighSDCutoff * sd)
                {
                    pass = false;
                }
                if (val < mean - filter.LowSDCutoff * sd)
                {
                    pass = false;
                }
                if (filter.ExcludeString != "" && original.OmitHash[s].ToString() == filter.ExcludeString)
                {
                    pass = false;
                }
                if (pass)
                {
                    _hsResults.Add(s, val);
                }
            }
            // convert hashtable values to array
            _results = (double[])(new ArrayList(_hsResults.Values).ToArray(typeof(double)));
        }
コード例 #4
0
ファイル: AssayResults.cs プロジェクト: iestyn-lewis/SEA
 public AssayResults ApplyFilter(AssayResultsFilter filter)
 {
     _filter          = filter;
     _filteredResults = new AssayResults(this, filter);
     return(_filteredResults);
 }