set_master(
false);
130 "Can not select the master sequence. Alignment can not be used.");
176: wxPanel(parent,
wxID_ANY, wxDefaultPosition,
size, wxSIMPLE_BORDER),
177m_Params(params), m_Lambda(0.0), m_Border(10), m_Start(0), m_Lone(0), m_Lold(0), m_Lupd(0)
183wxPaintDC dc(
this);
200 intAln = (Aln_old > Aln_upd) ? Aln_old : Aln_upd;
202 intLaln = (
int) floor((
double)Aln/
m_Lambda);
216 if(Left_old > Left_upd) {
217z1 += (
int)floor((
double)(Left_old - Left_upd) /
m_Lambda);
218x0 += (
int)floor((
double)(Left_old) /
m_Lambda);
220y1 += (
int)floor((
double)(Left_upd - Left_old) /
m_Lambda);
221x0 += (
int)floor((
double)(Left_upd) /
m_Lambda);
229 inty2 = x1 + (
int) floor((
double)(Right_old)/
m_Lambda);
230 intz2 = x1 + (
int) floor((
double)(Right_upd)/
m_Lambda);
233 intrect_height = 15;
239 stringstr_left(
"1"), str_right(
"1");
250dc.SetBrush(*wxTRANSPARENT_BRUSH);
251dc.SetPen(*wxBLACK_PEN);
253dc.DrawRectangle(y1, coord_Y, x1 - y1, rect_height);
254dc.DrawRectangle(x0, coord_Y, y2 - x0, rect_height);
255wxRegion rg_old1(y1 , coord_Y, x1 - y1, rect_height);
256wxRegion rg_old2(x0, coord_Y, y2 - x0, rect_height);
258rg_old1.Intersect(rg_old2);
259wxRect old_aln_rg = rg_old1.GetBox();
260dc.SetDeviceClippingRegion(rg_old1);
261dc.SetBrush(*wxGREEN_BRUSH);
262dc.DrawRectangle(old_aln_rg);
263dc.DestroyClippingRegion();
266 intmid_align = x0 + (x1 - x0) / 2 - 4;
271str_left.assign(
"1"); str_right.assign(
"1");
282dc.SetBrush(*wxTRANSPARENT_BRUSH);
283dc.SetPen(*wxBLACK_PEN);
285dc.DrawRectangle(z1 , coord_Y +
offset, x1 - z1 , rect_height);
286dc.DrawRectangle(x0, coord_Y +
offset, z2 - x0, rect_height);
287wxRegion rg_upd1(z1, coord_Y +
offset, x1 - z1, rect_height);
288wxRegion rg_upd2(x0, coord_Y +
offset, z2 - x0, rect_height);
290rg_upd1.Intersect(rg_upd2);
291wxRect upd_aln_rg = rg_upd1.GetBox();
292dc.SetDeviceClippingRegion(rg_upd1);
293dc.SetBrush(*wxGREEN_BRUSH);
294dc.DrawRectangle(upd_aln_rg);
295dc.DestroyClippingRegion();
306 intAln = (Aln_old > Aln_upd) ? Aln_old : Aln_upd;
310 intLeft_max = (Left_old > Left_upd) ? Left_old : Left_upd;
314 intRight_max = (Right_old > Right_upd) ? Right_old : Right_upd;
318 m_Lambda= (double)(Left_max + Aln + Right_max) / (double)width;
326dc.GetTextExtent(
wxT(
"1"), &
m_Lone, &height_txt);
332 intLeftMax = (Left_old >= Left_upd) ? Left_old : Left_upd;
336 intRightMax = (Right_old >= Right_upd) ? Right_old : Right_upd;
340 intwidth = GetClientRect().GetWidth() -
m_Start- End;
341 if(width < 0)
return0;
428:
m_Scope(0), m_UpdSeqInput(0)
434wxWindowID
id,
constwxPoint& pos,
constwxSize&
size,
longstyle )
435:
m_Scope(0), m_UpdSeqInput(updseq_in)
453 #ifdef __WXOSX_COCOA__ 454SetBackgroundStyle(wxBG_STYLE_COLOUR);
455SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_FRAMEBK));
458wxPanel::Create( parent,
id, pos,
size, style );
463GetSizer()->SetSizeHints(
this);
514 static const string kRegPath=
"Dialogs.UpdateSequencePanel";
524wxStaticBox* itemStaticBoxSizer3Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Alignment"));
528wxBoxSizer* itemBoxSizer4 =
newwxBoxSizer(wxHORIZONTAL);
531wxBoxSizer* itemBoxSizer5 =
newwxBoxSizer(wxVERTICAL);
532itemBoxSizer4->Add(itemBoxSizer5, 0, wxALIGN_CENTER_VERTICAL, 2);
535itemBoxSizer5->Add(
m_OldSeqName, 0, wxALIGN_LEFT|wxALL, 5);
538itemBoxSizer5->Add(
m_NewSeqName, 0, wxALIGN_LEFT|wxALL, 5);
540 m_NoAlignmentText=
newwxStaticText(
m_AlignStaticBoxSizer->GetStaticBox(), wxID_STATIC,
_(
"Could not form alignment between old and update sequence"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
544itemBoxSizer4->Add(0, 0, 1, wxALIGN_TOP, 0);
557 m_Toolbar->SetToolBitmapSize(wxSize(16, 16));
559 m_Toolbar->SetToolBitmapSize(wxSize(35, 35));
562itemBoxSizer4->Add(
m_Toolbar, 0, wxALIGN_BOTTOM | wxRIGHT, 5);
567wxBoxSizer* itemBoxSizer12 =
newwxBoxSizer(wxHORIZONTAL);
571itemStaticText13->SetForegroundColour(wxColour(0, 0, 0));
572itemStaticText13->SetFont(wxFont(wxNORMAL_FONT->GetPointSize(), wxNORMAL_FONT->GetFamily(), wxNORMAL_FONT->GetStyle(), wxFONTWEIGHT_BOLD, wxNORMAL_FONT->GetUnderlined(), wxNORMAL_FONT->GetFaceName()));
573itemBoxSizer12->Add(itemStaticText13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
576itemBoxSizer12->Add(itemWindow14, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
578wxBoxSizer* itemBoxSizer15 =
newwxBoxSizer(wxHORIZONTAL);
579 m_MainSizer->Add(itemBoxSizer15, 0, wxALIGN_LEFT|wxALL, 0);
581wxStaticBox* itemStaticBoxSizer16Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Sequence Update"));
582wxStaticBoxSizer* itemStaticBoxSizer16 =
newwxStaticBoxSizer(itemStaticBoxSizer16Static, wxVERTICAL);
583itemBoxSizer15->Add(itemStaticBoxSizer16, 0, wxALIGN_TOP|wxALL, 5);
585wxBoxSizer* itemBoxSizer17 =
newwxBoxSizer(wxVERTICAL);
586itemStaticBoxSizer16->Add(itemBoxSizer17, 0, wxALIGN_LEFT|wxALL, 0);
588 m_NoChange=
newwxRadioButton( itemStaticBoxSizer16->GetStaticBox(),
ID_SEQUPD_BTN1,
_(
"No change"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
590itemBoxSizer17->Add(
m_NoChange, 0, wxALIGN_LEFT|wxALL, 5);
592 m_Replace=
newwxRadioButton( itemStaticBoxSizer16->GetStaticBox(),
ID_SEQUPD_BTN2,
_(
"Replace"), wxDefaultPosition, wxDefaultSize, 0 );
594itemBoxSizer17->Add(
m_Replace, 0, wxALIGN_LEFT|wxALL, 5);
597 RunningInsideNCBI() ?
_(
"Patch") :
_(
"Patch aligned region"), wxDefaultPosition, wxDefaultSize, 0 );
599itemBoxSizer17->Add(
m_Patch, 0, wxALIGN_LEFT|wxALL, 5);
601 m_Extend5=
newwxRadioButton( itemStaticBoxSizer16->GetStaticBox(),
ID_SEQUPD_BTN4,
_(
"Extend 5'"), wxDefaultPosition, wxDefaultSize, 0 );
603itemBoxSizer17->Add(
m_Extend5, 0, wxALIGN_LEFT|wxALL, 5);
605 m_Extend3=
newwxRadioButton( itemStaticBoxSizer16->GetStaticBox(),
ID_SEQUPD_BTN5,
_(
"Extend 3'"), wxDefaultPosition, wxDefaultSize, 0 );
607itemBoxSizer17->Add(
m_Extend3, 0, wxALIGN_LEFT|wxALL, 5);
609itemBoxSizer17->Add(7, 8, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 0);
614 m_IgnoreAlignChk->SetToolTip(
wxT(
"When checked, the update sequence is attached to the old sequence with no overlap. " 615 "Existing and imported features are shifted accordingly."));
619wxStaticBox* itemStaticBoxSizer25Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Existing Features"));
620wxStaticBoxSizer* itemStaticBoxSizer25 =
newwxStaticBoxSizer(itemStaticBoxSizer25Static, wxVERTICAL);
621itemBoxSizer15->Add(itemStaticBoxSizer25, 0, wxALIGN_TOP|wxALL, 5);
623wxRadioButton* itemRadioButton26 =
newwxRadioButton( itemStaticBoxSizer25->GetStaticBox(),
ID_SEQUPD_DELFEAT_BTN1,
_(
"Do not remove"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
624itemRadioButton26->SetValue(
true);
625itemStaticBoxSizer25->Add(itemRadioButton26, 0, wxALIGN_LEFT|wxALL, 5);
627wxRadioButton* itemRadioButton27 =
newwxRadioButton( itemStaticBoxSizer25->GetStaticBox(),
ID_SEQUPD_DELFEAT_BTN2,
_(
"Remove in aligned area"), wxDefaultPosition, wxDefaultSize, 0 );
628itemRadioButton27->SetValue(
false);
629itemStaticBoxSizer25->Add(itemRadioButton27, 0, wxALIGN_LEFT|wxALL, 5);
631wxRadioButton* itemRadioButton28 =
newwxRadioButton( itemStaticBoxSizer25->GetStaticBox(),
ID_SEQUPD_DELFEAT_BTN3,
_(
"Remove outside aligned area"), wxDefaultPosition, wxDefaultSize, 0 );
632itemRadioButton28->SetValue(
false);
633itemStaticBoxSizer25->Add(itemRadioButton28, 0, wxALIGN_LEFT|wxALL, 5);
635wxRadioButton* itemRadioButton29 =
newwxRadioButton( itemStaticBoxSizer25->GetStaticBox(),
ID_SEQUPD_DELFEAT_BTN4,
_(
"Remove all"), wxDefaultPosition, wxDefaultSize, 0 );
636itemRadioButton29->SetValue(
false);
637itemStaticBoxSizer25->Add(itemRadioButton29, 0, wxALIGN_LEFT|wxALL, 5);
640wxStaticBox* itemStaticBoxSizer30Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Import Features"));
641wxStaticBoxSizer* itemStaticBoxSizer30 =
newwxStaticBoxSizer(itemStaticBoxSizer30Static, wxHORIZONTAL);
642itemBoxSizer15->Add(itemStaticBoxSizer30, 0, wxALIGN_TOP | wxALL, 5);
644wxBoxSizer* itemBoxSizer31 =
newwxBoxSizer(wxVERTICAL);
645itemStaticBoxSizer30->Add(itemBoxSizer31, 0, wxALIGN_TOP | wxALL, 0);
648itemBoxSizer31->Add(
m_FeatType, 0, wxALIGN_LEFT | wxALL, 5);
650wxBoxSizer* itemBoxSizer33 =
newwxBoxSizer(wxVERTICAL);
651itemStaticBoxSizer30->Add(itemBoxSizer33, 0, wxALIGN_TOP | wxALL, 0);
657itemBoxSizer33->Add(7, 8, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 0);
659wxRadioButton* itemRadioButton36 =
newwxRadioButton(itemStaticBoxSizer30->GetStaticBox(),
ID_SEQUPD_IMPFEATUPD_BTN1,
_(
"Except duplicates"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP);
660itemRadioButton36->SetValue(
false);
661itemBoxSizer33->Add(itemRadioButton36, 0, wxALIGN_LEFT | wxALL, 5);
663wxRadioButton* itemRadioButton37 =
newwxRadioButton(itemStaticBoxSizer30->GetStaticBox(),
ID_SEQUPD_IMPFEATUPD_BTN2,
_(
"Merge duplicates"), wxDefaultPosition, wxDefaultSize, 0);
664itemRadioButton37->SetValue(
false);
665itemBoxSizer33->Add(itemRadioButton37, 0, wxALIGN_LEFT | wxALL, 5);
667wxRadioButton* itemRadioButton38 =
newwxRadioButton(itemStaticBoxSizer30->GetStaticBox(),
ID_SEQUPD_IMPFEATUPD_BTN3,
_(
"Replace duplicates"), wxDefaultPosition, wxDefaultSize, 0);
668itemRadioButton38->SetValue(
false);
669itemBoxSizer33->Add(itemRadioButton38, 0, wxALIGN_LEFT | wxALL, 5);
671wxRadioButton* itemRadioButton39 =
newwxRadioButton(itemStaticBoxSizer30->GetStaticBox(),
ID_SEQUPD_IMPFEATUPD_BTN4,
_(
"Including duplicates"), wxDefaultPosition, wxDefaultSize, 0);
672itemRadioButton39->SetValue(
false);
673itemBoxSizer33->Add(itemRadioButton39, 0, wxALIGN_LEFT | wxALL, 5);
675wxStaticBox* itemStaticBoxSizer40Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Options"));
676wxStaticBoxSizer* itemStaticBoxSizer40 =
newwxStaticBoxSizer(itemStaticBoxSizer40Static, wxVERTICAL);
677itemBoxSizer15->Add(itemStaticBoxSizer40, 0, wxALIGN_TOP | wxALL, 5);
683wxCheckBox* itemCheckBox42 =
newwxCheckBox(itemStaticBoxSizer40->GetStaticBox(),
ID_SEQUPD_ADDCITSUB,
_(
"Add cit-sub to updated sequence"), wxDefaultPosition, wxDefaultSize, 0);
684itemCheckBox42->SetValue(
false);
685itemStaticBoxSizer40->Add(itemCheckBox42, 0, wxALIGN_LEFT | wxALL, 5);
687wxCheckBox* itemCheckBox43 =
newwxCheckBox(itemStaticBoxSizer40->GetStaticBox(),
ID_SEQUPD_UPDPROTEIN,
_(
"Update proteins for updated sequence"), wxDefaultPosition, wxDefaultSize, 0);
688itemCheckBox43->SetValue(
false);
689itemStaticBoxSizer40->Add(itemCheckBox43, 0, wxALIGN_LEFT | wxALL, 5);
697itemCheckBox42->SetValidator(wxGenericValidator(&
m_AddCitSub));
701wxStaticBox* itemStaticBoxSizer40Static =
newwxStaticBox(itemPanel1,
wxID_ANY,
_(
"Options"));
702wxStaticBoxSizer* itemStaticBoxSizer40 =
newwxStaticBoxSizer(itemStaticBoxSizer40Static, wxVERTICAL);
703itemBoxSizer15->Add(itemStaticBoxSizer40, 0, wxALIGN_TOP | wxALL, 5);
705 m_ImportFeature=
newwxCheckBox(itemStaticBoxSizer40->GetStaticBox(),
ID_SEQUPD_IMPCHK,
_(
"Import all features from update sequence"), wxDefaultPosition, wxDefaultSize, 0);
707itemStaticBoxSizer40->Add(
m_ImportFeature, 0, wxALIGN_LEFT | wxALL, 5);
710 _(
"Annotation is copied from an earlier version \nof the same nucleotide accession"), wxDefaultPosition, wxDefaultSize, 0);
739 m_DeltaSeqText=
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"The old sequence is delta sequence, if updated, it will be converted to raw."), wxDefaultPosition, wxDefaultSize, 0 );
800 _ASSERT(oldseqRow != updseqRow);
812 if(oldbsh.
IsAa()) {
820 if(aln_start_upd > aln_start && new3end < old3end) {
825 else if(aln_start_upd < aln_start && new3end > old3end) {
844 m_DeltaSeqText->SetLabel(
"Either the old or the update sequence is a delta sequence with far pointers.");
934 label.append(
" Length: ");
966 string label(
"Update sequence: ");
972 label.assign(
"Old sequence: ");
1002 if(!Validate() || !TransferDataFromWindow()) {
1058 string label(
"Update sequence: ");
1062 label.assign(
"Old sequence: ");
1104wxCheckBox* box =
dynamic_cast<wxCheckBox*
>(win);
1106box->SetValue(
value);
1114wxCheckBox* box =
dynamic_cast<wxCheckBox*
>(win);
1116 returnbox->GetValue();
1153 returnwxNullBitmap;
1172 event.Enable(
false);
1174 event.Enable(
true);
static CRef< CScope > m_Scope
EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX, CAdjustFeaturesForGaps::OnKnownUnknownSelected) EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX1
static const char * kDefaultScoringMethod
void Init(objects::CScope &scope, const objects::CSeq_align &align)
initial data set from which an alignment will be build
CRef< IAlnMultiDataSource > CreateDataSource()
void PreCreateDataSource(bool sparse)
virtual CWidgetDisplayStyle * GetDisplayStyle()
const size_t GetNumRows() const
Get number of rows registered in model.
virtual void SetDataSource(IAlnMultiDataSource *p_ds)
void ShowProgressPanel(float progress, const string &msg)
class CAlnMultiRenderer - renders multiple alignment represented by IAlnMultiRendererContext (the Mod...
int GetColumnIndexByType(TColumnType type) const
void SetColumnVisible(int index, bool b_visible)
CUpdate - notification send by CUIDataSource to the listener.
double GetProgressNorm() const
ENa_strand GetSeqStrand(TDim row) const
TSeqPos GetSeqStop(TDim row) const
TSeqPos GetSeqStart(TDim row) const
int x_GetLeft_UpdSeq() const
int x_GetRight_OldSeq() const
int x_FindWidthDrawingArea(wxDC &dc)
void SetParams(const CUpdateSeqPanel::SDrawingParams ¶ms)
void PaintEvent(wxPaintEvent &event)
int x_GetRight_UpdSeq() const
int x_GetLeft_OldSeq() const
void x_SetScalingFactor(wxDC &dc)
CUpdateSeqPanel::SDrawingParams m_Params
CEvent - generic event implementation TODO TODO - Attachments.
virtual bool SetFieldName(const string &field)
virtual string GetFieldName(const bool subfield=false)
Returns the name of the field as selected in the panel.
void ListPresentFeaturesFirst(const objects::CSeq_entry_Handle &entry, vector< const objects::CFeatListItem * > *featlist=nullptr)
static CGuiRegistry & GetInstance()
access the application-wide singleton
class CRegistryReadView provides a nested hierarchical view at a particular key.
CRowDisplayStyle is a base class representing a display style for IAlignRow.
void SetDefaultStyle(CRowDisplayStyle *style)
assumes ownership
void SetWidgetStyle(const CWidgetDisplayStyle *style)
static ESubtype SubtypeNameToValue(CTempString sName)
Turn a string into its ESubtype which is NOT necessarily related to the identifier of the enum.
Sequence update exception class.
TSeqPos GetSeqStop(TDim row) const
TSeqPos GetSeqStart(TDim row) const
static objects::CSeq_align::TDim FindRowInAlignment(const objects::CBioseq_Handle &bsh, const objects::CSeq_align &align)
CUICommandRegistry is a centralized registry where all application commands should be registered.
static CUICommandRegistry & GetInstance()
the main instance associated with the application
void AppendTool(wxToolBar &tool_bar, TCmdID cmd_id)
void OnZoomAll(wxCommandEvent &event)
void OnNoChangeBtnSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_SEQUPD_BTN1
wxCheckBox * m_IgnoreAlignChk
void x_InitAlnMultiWidgetAndUpdateTypes(bool create=false)
void x_CreateAlnMultiWidget()
void OnRemoveAlignedFeaturesUpdated(wxUpdateUIEvent &event)
wxEVT_UPDATE_UI event handler for ID_SEQUPD_DELFEAT_BTN2
static bool ShowToolTips()
Should we show tooltips?
SUpdateSeqParams GetData()
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
CIRef< IAlnMultiDataSource > m_DataSource
wxStaticText * m_NewSeqName
void LoadSettings(const CRegistryReadView &view)
void x_SetUpdateTypes(void)
bool GetUpdateProteins() const
void CreateControls()
Creates the controls and sizers.
void OnExtend3BtnSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_SEQUPD_BTN5
wxStaticText * m_OldSeqName
void SaveSettings(CRegistryWriteView view) const
void x_GetNameAndLength(const objects::CBioseq_Handle &bsh, string &label)
bool Create(wxWindow *parent, wxWindowID id=wxTAB_TRAVERSAL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
Creation.
void x_ShowProgressBar(bool show)
bool m_ImportFeatureType[SUpdateSeqParams::CountFeatUpdateType]
wxRadioButton * m_Replace
void x_InitDrawingParams()
wxRadioButton * m_Extend3
CUpdateSeqPanel()
Constructors.
wxBoxSizer * m_ProgressSizer
void OnIgnoreAlignmentClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_SEQUPD_IALN_CHK
void Init()
Initialises member variables.
void OnImportChecked(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_SEQUPD_IMPCHK
SDrawingParams m_DrawParams
bool m_RemoveFeatureType[SUpdateSeqParams::CountFeatRemoveType]
CRowStyleCatalog m_StyleCatalog
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
wxStaticText * m_DeltaSeqText
wxCheckBox * m_ImportFeature
wxStaticText * m_NoAlignmentText
wxRadioButton * m_Extend5
bool m_SequenceUpdateType[SUpdateSeqParams::CountSeqUpdateType]
wxStaticBoxSizer * m_AlignStaticBoxSizer
void UpdatePanel(bool running, const CUpdateSeq_Input *updseq_in=nullptr)
Function updates the panel with new (old, update) sequence pair.
wxRadioButton * m_NoChange
void OnZoomOut(wxCommandEvent &event)
void OnExtend5BtnSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_SEQUPD_BTN4
CUpdateSeqAlignWidget * m_AlnWidget
CFeatureTypePanel * m_FeatType
void OnZoomToSelection(wxCommandEvent &event)
void OnPatchBtnSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_SEQUPD_BTN3
~CUpdateSeqPanel()
Destructor.
CAlnMultiDSBuilder m_Builder
void SetUpdateProteins(bool value)
CConstRef< CUpdateSeq_Input > m_UpdSeqInput
void SetData(const SUpdateSeqParams ¶ms)
void OnZoomIn(wxCommandEvent &event)
@ ID_SEQUPD_IMPFEATUPD_BTN3
@ ID_SEQUPD_IMPFEATUPD_BTN2
@ ID_SEQUPD_IMPFEATUPD_BTN1
@ ID_SEQUPD_IMPFEATUPD_BTN4
void x_InitAlnMultiDSBuilder()
CDrawingPanel * m_DrawPanel
void OnZoomToSequence(wxCommandEvent &event)
void OnReplaceBtnSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_SEQUPD_BTN2
wxCheckBox * m_KeepProteinIdBox
Sets up the old and the update sequences, and generates the alignment between them.
CConstRef< objects::CSeq_align > GetAlignment(void) const
bool UpdateSeqHasFeatures(void) const
static bool s_IsDeltaWithFarPointers(const objects::CBioseq &bseq)
const objects::CBioseq_Handle & GetUpdateBioseq(void) const
const objects::CBioseq_Handle & GetOldBioseq(void) const
bool OldSeqHasFeatures(void) const
static bool s_IsDeltaWithNoGaps(const objects::CBioseq &bseq)
@ eIcons
Strand + Expand icons.
virtual IAlnExplorer::EAlignType GetAlignType() const =0
virtual bool CanChangeAnchor(void) const =0
IAlnExplorer::TNumrow TNumrow
virtual TNumrow GetNumRows(void) const =0
number of rows in alignment
virtual bool SetAnchor(TNumrow anchor)=0
virtual const objects::CSeq_id & GetSeqId(TNumrow row) const =0
virtual bool IsEmpty() const =0
IAlnMultiDataSource::TNumrow TNumrow
Stores parameters regarding the type of sequence update, on how to handle existing features and on ho...
@ eFeatUpdateAllReplaceDups
EFeatUpdateType m_FeatImportOption
ESequenceUpdateType m_SeqUpdateOption
TProtUpdFlags m_UpdateProteins
objects::CSeqFeatData::ESubtype m_FeatImportType
Defines the imported feature subtype.
bool m_AddCitSub
flag to attach a citation with the current date (false)
EFeatRemoveType m_FeatRemoveOption
bool m_ImportFeatures
Flag to indicate that features from the update sequence will be imported.
bool m_KeepProteinId
flag to update protein IDs, default is to update (false) - relevant only to imported protein IDs
@ eProtUpdate
retranslate coding regions and update the proteins
@ CountSeqUpdateType
extend the 3' end of old sequence with the update
unsigned int TSeqPos
Type for sequence locations and lengths.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
EDialogReturnValue NcbiMessageBox(const string &message, TDialogType type=eDialog_Ok, EDialogIcon icon=eIcon_Exclamation, const string &title="Error", EDialogTextMode text_mode=eRaw)
#define END_EVENT_MAP()
Ends definition of Command Map.
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
@ eCmdZoomIn
empty command
@ eCmdZoomSeq
Zoom to Selection.
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
CConstRef< CSeq_id > GetSeqId(void) const
@ eContent
Untagged human-readable accession or the like.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
TSeqPos GetBioseqLength(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
bool IsSetInst_Repr(void) const
TInst_Repr GetInst_Repr(void) const
bool IsNull(void) const THROWS_NONE
Check if pointer is null â same effect as Empty().
TObjectType * GetNCPointer(void) const THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static const char label[]
const TDenseg & GetDenseg(void) const
Get the variant data.
const TSegs & GetSegs(void) const
Get the Segs member data.
bool IsDenseg(void) const
Check if variant Denseg is selected.
unsigned int
A callback function used to compare two keys in a database.
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
#define row(bind, expected)
const string & CDCN_GetMessage(const CDataChangeNotifier::CUpdate &update)
static const string kRegPath
ON_EVENT(CAlnMultiPane::CEvent, CAlnMultiPane::eLinearSelChanged, &CUpdateSeqAlignWidget::x_OnAlnWidgetSelChanged) void CUpdateSeqAlignWidget
wxString ToWxString(const string &s)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4