54 "Group alignments according to sequence properties",
55 "Group alignments according to sequence properties",
56 "https://www.ncbi.nlm.nih.gov/tools/gbench/",
57 "Alignment Creation"),
65 return "group_alignments_tool_manager";
71 return "Group Alignments Tool";
119 err =
"Please select at least one set of alignments!";
174 m_Descr =
"Categorizing alignments";
210 }
else if (scope != &*iter->scope) {
213 "All alignments must be within the same project");
223 list< CRef<CSeq_annot> > annots;
230 annot->
SetData().SetAlign().push_back(align);
234 annots.push_back(annot);
243 list< CRef<CSeq_annot> > annots_out;
251 annots.swap(annots_out);
258 list< CRef<CSeq_annot> > annots_out;
266 annots.swap(annots_out);
274 list< CRef<CSeq_annot> > annots_out;
282 annots.swap(annots_out);
284 list< CRef<CSeq_annot> > annots_out;
292 annots.swap(annots_out);
326 list< CRef<CSeq_annot> > annots_out;
335 annots.swap(annots_out);
353 if ( !name.empty() ) {
361 item->
SetItem().SetAnnot(annot);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
void GroupBySequenceType(const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope, TSequenceFlags flags=fSequenceDefaults)
Group alignments into sequence-related categories.
void GroupByLikeTaxIds(const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
Separate a set of alignments into groups that describe how the alignments relate taxonomically.
void GroupByTaxIds(const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
Separate a set of alignments into groups that describe how the alignments relate taxonomically.
void GroupBySeqIds(const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope, TSeqIdFlags flags=0)
Group alignments into bins for each set of seq-ids.
void GroupByStrand(const TAlignList &aligns, TAnnotList &align_groups, const string &annot_base_name, objects::CScope &scope)
Group alignments into bins for each set of strands.
CDataLoadingAppJob - a base class for Jobs loading data into projects.
void AddProjectItem(objects::CProjectItem &item)
CGroupAlignmentsParamsPanel.
CProjectService - a service providing API for operations with Workspaces and Projects.
void SetNameDesc(const string &name)
void SetCreateDate(const CTime &dt)
IRegSettings An interface for objects that save / restore settings using CGuiRegistry.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
virtual IRegSettings * x_GetParamsAsRegSetting()
return a pointer to Parameters object as IRegSettings interface
virtual void x_InitProjectParams()
init m_ProjectParams, in particular can select target project based on the tool input
virtual bool x_ValidateParams()
validates user input in Parameters panel, report errors if any
virtual CDataLoadingAppJob * x_CreateLoadingJob()
factory method for creating the job that executes the tool algorithm override in derived classes
CGroupAlignmentsToolManager()
CGroupAlignmentsParamsPanel * m_ParamsPanel
bool m_GroupByPredictedRefSeq
virtual void x_CreateProjectItems()
override this function in derived classes and populate m_Items.
void SetParams(SGroupAlignmentsParams *params, TConstScopedObjects *objects)
virtual void SetRegistryPath(const string &path)
CAlgoToolManagerParamsPanel.
virtual void CleanUI()
override this function in a derived class and clean extra members
virtual void InitUI()
override this function in a derived class and initialize extra members
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
SGroupAlignmentsParams m_Params
void x_SelectCompatibleInputObjects()
select only Seq-aligns
TConstScopedObjects m_Alignments
SGroupAlignmentsParams m_Params
virtual void LoadSettings()
virtual string GetExtensionIdentifier() const
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
CGroupAlignmentsJob(const SGroupAlignmentsParams ¶ms)
CGroupAlignmentsJob.
bool Create(wxWindow *parent, wxWindowID id=ID_CGROUPALIGNMENTSPARAMSPANEL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
TConstScopedObjects m_Alignments
virtual CAlgoToolManagerParamsPanel * x_GetParamsPanel()
returns a pointer to the parameters panel, override in derived classes
virtual bool x_CreateParamsPanelIfNeeded()
returns / creates Parameters panel, override in derived classes see cpp file for example
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
string m_Descr
mutex to sync our internals
void NcbiErrorBox(const string &message, const string &title="Error")
specialized Message Box function for reporting critical errors
virtual const string & GetLabel() const
vector< SConstScopedObject > TConstScopedObjects
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
@ eCurrent
Use current time. See also CCurrentTime.
void SetLabel(const TLabel &value)
Assign a value to Label data member.
void SetItem(TItem &value)
Assign a value to Item data member.
void SetData(TData &value)
Assign a value to Data data member.
const Tdata & Get(void) const
Get the member data.
const TName & GetName(void) const
Get the Name member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetDesc(void) const
used only for stand alone Seq-annots Check if a value has been assigned to Desc data member.
void ResetName(void)
Reset Name data member.
const TAlign & GetAlign(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
const TName & GetName(void) const
Get the variant data.
bool IsName(void) const
Check if variant Name is selected.
list< CRef< CAnnotdesc > > Tdata
void SelectProjectByObjects(TConstScopedObjects &objects, CProjectService *srv)
is all objects belong to the same project - selects the project