public void SetData(NHibernate.ISession session, DataModel.Protein protein, DataFilter viewFilter)
        {
            if (session == null)
            {
                return;
            }

            this.session    = session.SessionFactory.OpenSession();
            this.viewFilter = viewFilter;

            var workerThread = new BackgroundWorker()
            {
                WorkerReportsProgress      = true,
                WorkerSupportsCancellation = true
            };

            workerThread.DoWork += setData;
            if (protein == Protein)
            {
                workerThread.RunWorkerCompleted += refreshFilter;
            }
            else
            {
                workerThread.RunWorkerCompleted += renderData;
            }
            workerThread.RunWorkerAsync(protein);
        }
        public SequenceCoverageControl(NHibernate.ISession session, DataModel.Protein protein, DataFilter viewFilter)
        {
            ResizeRedraw   = true;
            DoubleBuffered = true;
            AutoScroll     = true;

            ResidueGroupSize = 10;
            lineSpacing      = 3;

            HeaderColor            = Color.FromKnownColor(KnownColor.WindowText);
            OffsetColor            = Color.FromKnownColor(KnownColor.GrayText);
            CoveredSequenceColor   = Color.FromKnownColor(KnownColor.WindowText);
            UncoveredSequenceColor = Color.FromKnownColor(KnownColor.GrayText);
            HoverSequenceColor     = Color.FromKnownColor(KnownColor.HotTrack);
            ModifiedSequenceColor  = Color.Red;

            HeaderFont             = new Font(new FontFamily(GenericFontFamilies.Monospace), 12);
            OffsetFont             = new Font(new FontFamily(GenericFontFamilies.Monospace), 12);
            SequenceFont           = new Font(new FontFamily(GenericFontFamilies.Monospace), 12);
            FilteredInSequenceFont = new Font(SequenceFont, FontStyle.Bold);
            HoverFont = new Font(SequenceFont, FontStyle.Bold | FontStyle.Underline);

            SetData(session, protein, viewFilter);

            ContextMenuStrip = new ContextMenuStrip();
            ContextMenuStrip.Items.Add("Save image", null, (s, e) => bitmapSave());
            ContextMenuStrip.Items.Add("Copy image", null, (s, e) => bitmapCopyToClipboard());
            ContextMenuStrip.Items.Add("Copy sequence", null, (s, e) => sequenceCopyToClipboard());
        }
Exemplo n.º 3
0
        public void Add(Protein pro)
        {
            insertRow(Table.Protein, new object[] { pro.Id, pro.Accession, pro.Length });
            insertRow(Table.ProteinMetadata, new object[] { pro.Id, pro.Description });
            insertRow(Table.ProteinData, new object[] { pro.Id, pro.Sequence });

            long length = pro.Sequence != null ? pro.Sequence.Length : 0;

            for (long i = currentMaxSequenceLength + 1; i <= length; ++i)
            {
                insertRow(Table.IntegerSet, new object[] { i });
            }
            currentMaxSequenceLength = Math.Max(length, currentMaxSequenceLength);
        }
        public SequenceCoverageForm(NHibernate.ISession session, DataModel.Protein protein, DataFilter viewFilter)
        {
            StartPosition = FormStartPosition.CenterParent;
            ShowIcon      = false;
            WindowState   = FormWindowState.Maximized;
            Text          = protein.Accession;

            ResizeRedraw   = true;
            DoubleBuffered = true;

            BackColor = SystemColors.Window;

            control = new SequenceCoverageControl(session, protein, viewFilter)
            {
                Dock      = DockStyle.Fill,
                BackColor = this.BackColor
            };

            control.SequenceCoverageFilter += (s, e) => OnSequenceCoverageFilter(e);

            Controls.Add(control);
        }
 public void SetData(NHibernate.ISession session, DataModel.Protein protein, DataFilter viewFilter)
 {
     Text = protein.Accession;
     control.SetData(session, protein, viewFilter);
 }