35 #include <wx/stattext.h>
36 #include <wx/msgdlg.h>
99 SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
105 GetSizer()->SetSizeHints(
this);
151 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
152 itemCBulkCmdDlg1->SetSizer(itemBoxSizer2);
155 m_ExtendProtFeats =
new wxCheckBox( itemCBulkCmdDlg1,
wxID_ANY,
_(
"Extend Protein Features"), wxDefaultPosition, wxDefaultSize, 0 );
159 m_Retranslate =
new wxCheckBox( itemCBulkCmdDlg1,
wxID_ANY,
_(
"Retranslate Coding Regions for Extended Proteins"), wxDefaultPosition, wxDefaultSize, 0 );
163 m_ExtendmRNA =
new wxCheckBox( itemCBulkCmdDlg1,
wxID_ANY,
_(
"Extend Associated mRNA Features"), wxDefaultPosition, wxDefaultSize, 0 );
165 itemBoxSizer2->Add(
m_ExtendmRNA, 0, wxALIGN_LEFT|wxALL, 5);
167 m_ResetGenes =
new wxCheckBox( itemCBulkCmdDlg1,
wxID_ANY,
_(
"Reset Genes"), wxDefaultPosition, wxDefaultSize, 0 );
169 itemBoxSizer2->Add(
m_ResetGenes, 0, wxALIGN_LEFT|wxALL, 5);
174 itemBoxSizer2->Add(
m_OkCancel, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
231 bool modified =
false;
255 size_t len = orig_len;
266 vector_loc->
SetInt().SetId().Assign(*(loc.
GetId()));
269 vector_loc->
SetInt().SetFrom(0);
279 const size_t usable_size = seq.
size();
292 size_t length = usable_size / 3;
296 for (
i = 0;
i < length; ++
i)
299 for (k = 0; k < 3; ++k, ++start)
315 size_t extension = ((
i + 1) * 3) -
mod - 3;
316 last_interval->
SetInt().SetId().Assign(*(this_loc->
GetId()));
337 cmd->AddCommand(*retranslate);
375 new_inst->Assign(prot_bsh.
GetInst());
379 if (new_inst->IsSetSeq_data())
381 new_inst->ResetSeq_data();
391 new_inst->ResetExt();
392 new_inst->SetRepr(objects::CSeq_inst::eRepr_raw);
393 new_inst->SetSeq_data().SetNcbieaa().Set(
prot);
404 cmd->AddCommand(*chgInst);
410 cmd->AddCommand(*synch_molinfo);
418 CFeat_CI prot_feat_ci(prot_bsh, sel);
419 for ( ; prot_feat_ci; ++prot_feat_ci ) {
427 new_feat->
SetLocation().SetInt().SetTo(new_inst->GetLength() - 1);
433 cmd->AddCommand(*chgFeat);
448 new_gene->Assign(*gene.GetOriginalSeq_feat());
449 const objects::CSeq_loc& gene_loc = gene.GetLocation();
455 id->Assign(*gene_loc.GetId());
457 new_gene_loc->SetInt(*new_int);
460 new_gene->SetLocation().Assign(*new_gene_loc);
472 new_mrna->Assign(*mrna.GetOriginalSeq_feat());
473 const objects::CSeq_loc& mrna_loc = mrna.GetLocation();
477 new_mrna->SetLocation().Assign(*new_loc);
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
CLocalRange< TOffset > TRange
define for the fundamental building block of sequence ranges
bool AdjustProteinFeaturePartialsToMatchCDS(CSeq_feat &new_prot, const CSeq_feat &cds)
AdjustProteinFeaturePartialsToMatchCDS A function to change an existing MolInfo to match a coding reg...
objects::CSeq_entry_Handle m_TopSeqEntry
bool Create(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE, const wxString &name=wxFrameNameStr)
bool GetTopLevelSeqEntryAndProcessor()
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
CExtendCDSToStop()
Constructors.
virtual CRef< CCmdComposite > GetCommand()
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxCheckBox * m_ExtendmRNA
~CExtendCDSToStop()
Destructor.
COkCancelPanel * m_OkCancel
virtual string GetErrorMessage()
void CreateControls()
Creates the controls and sizers.
CRef< CCmdComposite > RetranslateCDSCommand(CScope &scope, CSeq_feat &cds)
void ResetGenes(CRef< CCmdComposite > cmd, const objects::CMappedFeat &feat, CRef< CSeq_loc > add, CScope &scope)
static bool ShowToolTips()
Should we show tooltips?
wxCheckBox * m_ExtendProtFeats
wxCheckBox * m_ResetGenes
void ExtendmRNA(CRef< CCmdComposite > cmd, const objects::CMappedFeat &feat, CRef< CSeq_loc > add, CScope &scope)
wxCheckBox * m_Retranslate
bool Create(wxWindow *parent, wxWindowID id=10268, const wxString &caption=_("Extend Proteins to Stop Codons"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(900, 500), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
void Init()
Initialises member variables.
static const CTrans_table & GetTransTable(int id)
namespace ncbi::objects::
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
char GetCodonResidue(int state) const
static int NextCodonState(int state, unsigned char ch)
IWorkbench is the central interface in the application framework.
USING_SCOPE(ncbi::objects)
unsigned int TSeqPos
Type for sequence locations and lengths.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
ENa_strand GetStrand(void) const
Get the location's strand.
TRange GetTotalRange(void) const
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
CConstRef< CSeq_loc > GetRangeAsSeq_loc(void) const
Get seq-loc for the current iterator position.
bool IsSetStrand(EIsSetStrand flag=eIsSetStrand_Any) const
Check if strand is set for any/all part(s) of the seq-loc depending on the flag.
void SetPos(size_t pos)
Set iterator's position.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
size_t GetSize(void) const
Get number of ranges.
void SetPartialStart(bool val, ESeqLocExtremes ext)
set / remove e_Lim fuzz on start or stop (lt/gt - indicating partial interval)
void SetStrand(ENa_strand strand)
Set the strand for all of the location's ranges.
void SetPartialStop(bool val, ESeqLocExtremes ext)
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
CMappedFeat GetBestMrnaForCds(const CMappedFeat &cds_feat, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
CMappedFeat GetBestGeneForCds(const CMappedFeat &cds_feat, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0, CFeatTree::EBestGeneType lookup_type=CFeatTree::eBestGene_TreeOnly)
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
CRef< CSeq_loc > Seq_loc_Add(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Add two seq-locs.
static void Translate(const string &seq, string &prot, const CGenetic_code *code, bool include_stop=true, bool remove_trailing_X=false, bool *alt_start=NULL, bool is_5prime_complete=true, bool is_3prime_complete=true)
Translate a string using a specified genetic code.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
bool IsProtein(void) const
TInst_Length GetInst_Length(void) const
const TInst & GetInst(void) const
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
const CSeq_feat_Handle & GetSeq_feat_Handle(void) const
Get original feature handle.
const_iterator begin(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
bool IsSetCode(void) const
genetic code used Check if a value has been assigned to Code data member.
void SetLocation(TLocation &value)
Assign a value to Location data member.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
void SetPartial(TPartial value)
Assign a value to Partial data member.
const TLocation & GetLocation(void) const
Get the Location member data.
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
const TExcept_text & GetExcept_text(void) const
Get the Except_text member data.
bool IsSetExcept_text(void) const
explain if except=TRUE Check if a value has been assigned to Except_text data member.
const TCode & GetCode(void) const
Get the Code member data.
bool CanGetLocation(void) const
Check if it is safe to call GetLocation method.
const TCdregion & GetCdregion(void) const
Get the variant data.
const TProduct & GetProduct(void) const
Get the Product member data.
bool IsSetFrame(void) const
Check if a value has been assigned to Frame data member.
@ eFrame_three
reading frame
bool CanGetTo(void) const
Check if it is safe to call GetTo method.
bool IsInt(void) const
Check if variant Int is selected.
const TInt & GetInt(void) const
Get the variant data.
range(_Ty, _Ty) -> range< _Ty >
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SIZE size
CRef< CCmdComposite > GetSynchronizeProductMolInfoCommand(objects::CScope &scope, const objects::CSeq_feat &cds)