objects::SAnnotSelector& sel,
const TSeqRange& range,
61 TModelUnitwindow,
boolcalc_min,
boolfixed_scale)
79 template<
classType>
85 returnleft == 0 ? right : (left < right ? left : right);
118 if( !col_val_min.
TryGet(annot, 0, min_val) ||
119!col_val_step.
TryGet(annot, 0, val_step) ||
120!col_val.
TryGet(annot, 0, values)) {
124TDataType g_max = (TDataType)(255 * val_step + min_val);
128de_quant[0] = (float)min_val;
129 for(
int i= 1;
i< 256; ++
i) {
130de_quant[
i] = de_quant[
i- 1] + (float)val_step;
143 intr_end =
static_cast<int>(rows - 1);
145 row= (r_start + r_end) / 2;
149}
while((
TSeqPos)pos != from && r_start < r_end - 1);
166 for(
row= (r_start + r_end) / 2; (size_t)
row< rows; ++
row) {
167 if( col_pos.
TryGet(annot,
row, pos) ) {
168 if((
TSeqPos)pos > to)
break;
173de_quant[(
unsignedchar)values[
row]]);
176de_quant[(
unsignedchar)values[
row]]);
187 result->m_ObjectList.push_back(fref);
192}
catch(std::exception& ex) {
210 constvector<string>& annots_allowed)
220 if(iter->IsNamed()) {
221 if(iter->GetName().find(
"@@") == string::npos) {
242 m_Handle, sel, range, scale, calc_min, fixed_scale) );
253 const CSeq_id&
id=
dynamic_cast<const CSeq_id&
>(
object.object.GetObject());
260 static stringsid(
"epigenomics_ds_type");
267 static stringslabel(
"Epigenomics Data Source Type");
283 "Graphical View Epigenomic Track");
291, m_FixedScale(
false)
342 LOG_POST(
Error<<
"CGraphTrack::x_LoadSettings() invalid setting: " 389 "notification for job does not contain results.");
401 size_t size= objs.size();
433wxMenuItem* item_min = menu.AppendCheckItem(id_base,
wxT(
"Shown min graph"));
437wxMenuItem* item_scale = menu.AppendCheckItem(id_base + 1,
wxT(
"Fixed scale"));
443 if(
m_CalcMin!= item_min->IsChecked()) {
482 if( !src_annots.
empty() ) {
496ds_pointer->
SetAnnot(iter->first);
500 if( !iter->second.empty() ) {
501track->SetTitle(iter->second);
const TAnnotNames & GetAnnotNames(void) const
CAppJobError Default implementation for IAppJobError - encapsulates a text error message.
CAppJobNotification Notification send by CAppJobEventTranslator.
CDataTrack - a abstract base class for layout tracks which need to deal with background data retrieva...
CEpigenomicsDSType - Epigenomics data source type.
virtual ISGDataSource * CreateDS(SConstScopedObject &object) const
create an instance of the layout track type using default settings.
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual bool IsSharable() const
check if the data source can be shared.
virtual string GetExtensionIdentifier() const
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
CEpigenomicsDS - Epigenomics data source.
void GetAnnotNames(const TSeqRange &range, TAnnotNameTitleMap &annots, const vector< string > &annots_allowed)
void LoadData(const TSeqRange &range, TModelUnit scale, bool calc_min=false, bool fixed_scale=false)
CEpigenomicsDS(objects::CScope &scope, const objects::CSeq_id &id)
CEpigenomicsDS.
void SetAnnot(const string &annot)
CEpigenomicsDS inline methods.
CEpigenomicsJob(const string &desc, objects::CBioseq_Handle handle, const objects::SAnnotSelector &sel, const TSeqRange &range, TModelUnit window, bool calc_min, bool fixed_scale)
bool m_FixedScale
use global scale or dynamic scale
virtual EJobState x_Execute()
method truly doing the job.
bool m_CalcMin
add min graph
virtual void GetMatchedAnnots(const TAnnotMetaDataList &src_annots, const ILayoutTrackFactory::SExtraParams ¶ms, TAnnotNameTitleMap &out_annots) const
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual string GetExtensionIdentifier() const
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
virtual TTrackMap CreateTracks(SConstScopedObject &object, ISGDataSourceContext *ds_context, CRenderingContext *r_cntx, const SExtraParams ¶ms=SExtraParams(), const TAnnotMetaDataList &src_annots=TAnnotMetaDataList()) const
create a layout track based on the input objects and extra parameters.
CEpigenomicsTrack â A special track for showing epigenomics map.
virtual void x_OnJobCompleted(CAppJobNotification ¬ify)
CRef< CEpigenomicsDS > m_DS
CEpigenomicsTrack(CEpigenomicsDS *ds, CRenderingContext *r_cntx)
string m_AnnotDesc
detailed track title
bool m_CalcMin
Superinpose min graph on top of max graph?.
virtual string GetFullTitle() const
get a more meaningful title.
virtual ~CEpigenomicsTrack()
virtual const CTrackTypeInfo & GetTypeInfo() const
virtual void x_UpdateData()
update track content.
virtual void x_LoadSettings(const string &preset_style, const TKeyValuePairs &settings)
load the track settings.
void x_OnSettingsIconClicked()
virtual void x_SaveSettings(const string &preset_style)
save part of settings to a profile string.
static CTrackTypeInfo m_TypeInfo
CEpigenomicsTrack.
bool m_FixedScale
Dynamic or fixed graph scale.
virtual void x_OnIconClicked(TIconID id)
Mouse left-click event handler on an icon.
void x_AddGraphs(const CSGJobResult &result)
void SetObjects(const CLayoutGroup::TObjectList &objs)
CLayoutGroup & SetGroup()
CLayoutGroup::TObjectList & SetChildren()
CRef< CSimpleLayout > m_Simple
void SetLayoutPolicy(ILayoutPolicy *policy)
Set policy on how to deploy the layout of its children.
void AddSettings(const string &name, CRef< CHistParams > hist_params)
Add a new settings for a given name.
bool HasSettings(const string &name) const
Check if there is settings for a given name.
CRef< CHistParams > GetHistParams(TFeatSubtype subtype) const
Get histogram settings using feature subtype.
const string & GetAnnotName() const
void SetDialogHost(IGlyphDialogHost *host)
void SetAxisMaxFixed(TDataType max)
const string & GetTitle() const
void SetConfig(const CSeqGraphicConfig &config)
@ eIcon_Settings
icon id for track settings
ILayoutTrackHost * m_LTHost
Top level host owning the tracks.
string GetTitle() const
get the track title.
virtual void x_OnIconClicked(TIconID id)
Mouse left-click event handler on an icon.
void SetMsg(const string &msg)
CConstRef< CSeqGraphicConfig > x_GetGlobalConfig() const
Method for getting global configuration from rendering context.
void SetProfile(const string &preset_style)
CLayoutTrack inline method implmentation.
CRef< CSeqGraphicConfig > m_gConfig
global configuration.
int TIconID
use int as TIconID instead of EIconID.
void x_RegisterIcon(const SIconInfo &icon)
register track icons.
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
const TSeqRange & GetVisSeqRange() const
const TModelUnit & GetScale() const
class CRgbaColor provides a simple abstraction for managing colors.
objects::SAnnotSelector m_Sel
our annotation selector
TSeqRange m_Range
target range
objects::CBioseq_Handle m_Handle
target sequence
static string ComposeProfileString(const TKeyValuePairs &settings)
TJobID x_LaunchJob(IAppJob &job, int report_period=1, const string &pool="ObjManagerEngine")
Launch either a background or foreground job.
virtual bool AllJobsFinished() const
void SetJobListener(CEventHandler *listener)
Set JobDispatcher listener.
virtual void ClearJobID(TJobID job_id)
void SetDepth(int depth)
Set the annotation selector resolving depth.
virtual void DeleteAllJobs()
Remove waiting jobs from queue or cancel the unfinished jobs.
objects::CBioseq_Handle m_Handle
void SetAdaptive(bool flag)
CSGJobResult â the data structure holding the seqgraphic job results.
CRenderingContext * m_Context
the rendering context
list< CRef< CSeqGlyph > > TObjects
CRef< CHistParamsManager > GetHistParamsManager() const
Get histogram config manager.
CRef< CAppJobError > m_Error
bool TryGet(const CFeat_CI &feat_ci, Value &v) const
CTrackTypeInfo - holds description of a layout track type.
const string & GetDescr() const
const string & GetId() const
IGlyphDialogHost An interface used for handling issues related to any dialog pops up that requires so...
static void GetMatchedAnnots(const TAnnotMetaDataList &src_annots, const vector< string > &target_annots, const string &annot_type, const string &track_type, TAnnotNameTitleMap &out_annots)
Help function to find matched annotations.
virtual void LTH_PopupMenu(wxMenu *menu)=0
show track-specific context menu.
ISGDSManager is seqgraphic data source manage that serves as an data source context.
virtual CIRef< ISGDataSource > GetDS(const string &type, SConstScopedObject &object)=0
Get a seqgraphic data source instance of the specified type.
iterator_bool insert(const value_type &val)
container_type::value_type value_type
static const string kTrackTitle
unsigned int TSeqPos
Type for sequence locations and lengths.
#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 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)
const string & GetMsg(void) const
Get message string.
virtual const char * what(void) const noexcept
Standard report (includes full backlog).
static objects::SAnnotSelector GetAnnotSelector(TAnnotFlags flags=0)
request an annotation selector for a given type
static string GetAnnotName(const objects::CSeq_annot_Handle &annot_handle)
static const string & GetUnnamedAnnot()
Get the commonly used symbol representing a unnnamed annotation.
static void SetAnnot(objects::SAnnotSelector &sel, const string &annot)
help function for setting up an annotation.
static void SetResolveDepth(objects::SAnnotSelector &sel, bool adaptive, int depth=-1)
help function for setting selector resolve depth.
CRef< CObject > GetResult() const
returns non-null pointer only if Completed or Running and has temporary results available
virtual void AddRange(TSeqRange range, CntType score=1, bool expand=false)
EJobState
Job states (describe FSM)
size_t GetSeq_tableNumRows(void) const
SAnnotSelector & SetCollectNames(bool value=true)
Collect available annot names rather than annots.
SAnnotSelector & SetAnnotType(TAnnotType type)
Set annotation type (feat, align, graph)
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
CRange< TSeqPos > TSeqRange
typedefs for sequence ranges
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool StringToBool(const CTempString str)
Convert string to bool.
static const string BoolToString(bool value)
Convert bool 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.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
@ eField_id_location_from
interval from
const struct ncbi::grid::netcache::search::fields::SIZE size
#define row(bind, expected)
A help struct for storing information about a icon.
TEMPLATE binary functor base struct.
TEMPLATE STRUCT non_zero_min.
virtual binary_functor< Type > * clone() const
Type operator()(const Type &left, const Type &right) const
void UseDefaultMarginWidth(wxMenu &menu)
Using default menu item margin width.
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