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()); }
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); }