63 #include "wx/wxprec.h"
74 #include "wx/imaglist.h"
75 #include <wx/display.h>
78 #include <wx/filename.h>
110 wxWindow* main_window =
NULL;
122 return wxEmptyString;
129 doc =
dynamic_cast<CGBDocument*
>(ws->GetProjectFromScope(scope));
134 return wxEmptyString;
144 wxWindow* editorWindow = editor->CreateWindow(edit_dlg);
148 edit_dlg->Show(
true);
154 const objects::CBioseq& bioseq,
157 const wxString& workDir)
194 if (dlg.ShowModal() == wxID_OK) {
204 if (wxYES != wxMessageBox(
wxT(
"Would you like to trim terminal regions with a high percentage of ambiguous characters from the sequences?"),
wxT(
"Trim Ns"), wxYES_NO | wxICON_QUESTION)) {
219 if (wxYES == wxMessageBox(
wxT(
"Would you like to delete " +
ToWxString(
label) +
wxT(
"?")),
wxT(
"Remove descriptors"), wxYES_NO | wxICON_QUESTION)) {
238 wxMessageBox(
wxT(
"Unable to load the alignment"),
wxT(
"Error"), wxOK | wxICON_ERROR);
259 wxMessageBox(
wxT(
"No bioseq selected"),
wxT(
"Error"), wxOK | wxICON_ERROR);
287 wxWindow* editorWindow = editor->CreateWindow(edit_dlg);
291 editorWindow->TransferDataToWindow();
292 edit_dlg->Show(
true);
298 #define REGISTER_HANDLER(code) \
299 static void handler_##code (CSeq_entry_Handle seh, IWorkbench* wb, const CSerialObject& obj); \
300 static int dummy_##code = (valerr_to_handler[code] = handler_##code, 0); \
301 void handler_##code (CSeq_entry_Handle seh, IWorkbench* wb, const CSerialObject& obj) \
362 report->SetTitle(
wxT(
"TPA Alignment Assembly Problems"));
363 report->
SetText(wxString(msg));
379 if (dlg.ShowModal() == wxID_OK)
398 if (wxYES != wxMessageBox(
wxT(
"Remove all orphaned proteins?"),
wxT(
"Remove"), wxYES_NO | wxICON_QUESTION))
412 if (wxYES != wxMessageBox(
wxT(
"Would you like to trim ambiguous characters from the ends of the sequences?"),
wxT(
"Trim Ns"), wxYES_NO | wxICON_QUESTION)) {
424 worker.
apply(seh.
GetTopLevelEntry(), cmd_proc,
"Trim Ns Terminal", main_window, workDir, trim_rules);
446 if (wxYES != wxMessageBox(
wxT(
"Remove duplicate structured comments?"),
wxT(
"Remove"), wxYES_NO | wxICON_QUESTION)) {
460 if (dlg.ShowModal() == wxID_OK)
472 cmd_proc->
Execute(retranslate);
479 if (wxYES != wxMessageBox(
wxT(
"Would you like to remove protein titles?"),
wxT(
"Remove"), wxYES_NO | wxICON_QUESTION)) {
501 if (dlg.ShowModal() == wxID_OK)
User-defined methods of the data storage class.
@ eErr_GENERIC_MissingPubRequirement
@ eErr_SEQ_INST_HistoryGiCollision
@ eErr_SEQ_DESCR_InconsistentProteinTitle
@ eErr_SEQ_DESCR_NoMolInfoFound
@ eErr_SEQ_PKG_OrphanedProtein
@ eErr_SEQ_FEAT_GenCodeMismatch
@ eErr_SEQ_INST_HighNpercent3Prime
@ eErr_SEQ_DESCR_NoPubFound
@ eErr_SEQ_INST_MolNuclAcid
@ eErr_SEQ_DESCR_TitleNotAppropriateForSet
@ eErr_SEQ_DESCR_MultipleStrucComms
@ eErr_SEQ_INST_MitoMetazoanTooLong
@ eErr_SEQ_DESCR_NoSourceDescriptor
@ eErr_SEQ_INST_HistAssemblyMissing
@ eErr_SEQ_INST_InternalNsInSeqRaw
@ eErr_SEQ_INST_TerminalNs
@ eErr_SEQ_INST_HighNpercent5Prime
CIRef< IEditObject > CreateEditorForObject(CConstRef< CObject > obj, objects::CSeq_entry_Handle seh, bool create)
CRef< CCmdComposite > GetCommand()
static CRef< CCmdComposite > GetCreateSeqHistFromTpaCommand(CSeq_entry_Handle tse, string &msg, double word_size, double expect_value)
CRef< CCmdComposite > GetCommand()
void SetEditorWindow(wxWindow *editorWindow)
void SetEditor(CIRef< IEditObject > editor)
virtual void SetWorkDir(const wxString &workDir)
virtual void SetUndoManager(ICommandProccessor *cmdProccessor)
wxString GetWorkDir() const
CUndoManager & GetUndoManager()
void SetText(const wxString &text)
CProjectService - a service providing API for operations with Workspaces and Projects.
void apply(objects::CSeq_entry_Handle tse, ICommandProccessor *cmdProcessor, string title)
bool apply(CSeq_entry_Handle tse, ICommandProccessor *cmdProcessor, string title)
static CRef< CCmdComposite > OrphanedProteins(objects::CSeq_entry_Handle seh)
CRef< CCmdComposite > GetCommand()
void ChooseSequence(CBioseq_Handle bsh)
@ eRetranslateCDSIgnoreStopExceptEnd
static CRef< CCmdComposite > GetCommand(objects::CSeq_entry_Handle seh, string title, ERetranslateMethod method, string &error)
Base class for all serializable objects.
bool apply(CSeq_entry_Handle tse, ICommandProccessor *cmdProcessor, string title, wxWindow *parent, const wxString &workDir, const CSequenceAmbigTrimmer::TTrimRuleVec &trim_rules=CSequenceAmbigTrimmer::GetDefaultTrimRules())
CWorkbench - default implementation of IWorkbench.
Undo/Redo interface for editing operations.
virtual void Execute(IEditCommand *command, wxWindow *window=0)=0
IWorkbench is the central interface in the application framework.
void LaunchDefaultEditor(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj)
bool IsEditable(int err_code, const CSerialObject &obj, CSeq_entry_Handle seh)
wxString GetWorkDirFromWorkbench(IWorkbench *wb, CScope &scope)
ICommandProccessor * CommandProcessorFromWorkbench(IWorkbench *wb, CScope &scope)
static std::array< handler, eErr_MAX > valerr_to_handler
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
void RemoveSequence(CSeq_entry_Handle seh, IWorkbench *wb)
void TrimTerminalNRichRegions(CSeq_entry_Handle seh, IWorkbench *wb)
wxWindow * MainWindowFromWorkbench(IWorkbench *wb)
void LaunchBioseqEditor(CSeq_entry_Handle seh, IWorkbench *wb)
void OfferToDeleteDescriptor(const string &label, CSeq_entry_Handle seh, const CSeqdesc &seqDesc, ICommandProccessor *cmdProcessor)
void LaunchMolInfoEditor(CSeq_entry_Handle seh, IWorkbench *wb)
void LaunchAlignmentAssistant(CSeq_entry_Handle seh, IWorkbench *wb, const CSeq_align *align)
void LaunchSrcEditor(CSeq_entry_Handle seh, IWorkbench *wb)
void LaunchEditor(int err_code, const CSerialObject &obj, CSeq_entry_Handle seh, IWorkbench *wb)
void LaunchDescEditorForSeq(CRef< CSeqdesc > seqdesc, const objects::CBioseq &bioseq, ICommandProccessor *cmdProcessor, CScope &scope, const wxString &workDir)
#define REGISTER_HANDLER(code)
void LaunchDescEditor(CRef< CSeqdesc > seqdesc, CSeq_entry_Handle seh, ICommandProccessor *cmdProcessor, const wxString &workDir)
static void cleanup(void)
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
virtual wxFrame * GetMainWindow()
returns a pointer to the main application frame window
vector< STrimRule > TTrimRuleVec
Multiple STrimRules are allowed, which are applied from smallest bases_to_check to largest bases_to_c...
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
CScope & GetScope(void) const
Get scope this handle belongs to.
CRef< CSeq_loc > GetRangeSeq_loc(TSeqPos start, TSeqPos stop, ENa_strand strand=eNa_strand_unknown) const
Return CSeq_loc referencing the given range and strand on the bioseq If start == 0,...
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
static const char label[]
TSub & SetSub(void)
Select the variant.
void SetPub(TPub &value)
Assign a value to Pub data member.
TPub & SetPub(void)
Select the variant.
TSource & SetSource(void)
Select the variant.
TMolinfo & SetMolinfo(void)
Select the variant.
For example, if bases_to_check is 10 and max_bases_allowed_to_be_ambig is 5, then on each iteration w...
CRef< CCmdComposite > CleanupCommand(objects::CSeq_entry_Handle orig_seh, bool extended, bool do_tax)
wxString ToWxString(const string &s)