NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
CObjFingerprint Class Reference

Search Toolkit Book for CObjFingerprint

#include <gui/objutils/obj_fingerprint.hpp>

+ Collaboration diagram for CObjFingerprint:

Classes

struct  SFingerprint
 

Public Types

enum  EObjectType {
  eUnknown = 0 , eFeature = 1 , eAlignment = 2 , eLocation = 3 ,
  eGraph = 4 , eSnpTrack = 5 , eVarTrack = 6 , eComponent = 7 ,
  eRsite = 8 , eVcfTrack = 9
}
 
typedef void(* TFingerPFunc) (CChecksum &checksum, const CObject &obj, objects::CScope *scope, const CObjFingerprint &fingerP)
 
typedef struct CObjFingerprint::SFingerprint SFingerprint
 

Public Member Functions

void Fingerprint (CChecksum &checksum, const CObject &obj, objects::CScope *scope) const
 

Static Public Member Functions

static void Register (TTypeInfo type_info, TFingerPFunc func)
 
static void GetFingerprint (CChecksum &checksum, const CObject &obj, objects::CScope *scope=NULL)
 
static void AddInteger (CChecksum &checksum, unsigned char *pvalue, int size)
 
static void AddDouble (CChecksum &checksum, double value)
 
static string GetFeatSignature (const objects::CSeq_feat &feat, objects::CScope *scope, const string &data_source="", const string &sAdditionalInfo="")
 
static string GetFeatSignature (const objects::CSeq_feat &feat, objects::CScope *scope, const objects::CSeq_annot_Handle &annot_handle, const string &sAdditionalInfo="")
 
static string GetFeatSignature (const objects::CSeq_feat &feat, const objects::CSeq_loc &loc, objects::CScope *scope, const objects::CSeq_annot_Handle &annot_handle, const string &sAdditionalInfo="")
 Get signature for a feature with a separate location. More...
 
static string GetFeatSignature (const objects::CSeq_feat &feat, const objects::CSeq_loc &loc, objects::CScope *scope, const string &data_source="", const string &sAdditionalInfo="")
 Get signature for a feature with a separate location. More...
 
static string GetGraphSignature (const objects::CSeq_graph &graph, objects::CScope *scope, const string &data_source="")
 
static string GetSeqLocSignature (const objects::CSeq_loc &loc, objects::CScope *scope)
 
static string GetHistogramSignature (const objects::CSeq_loc &loc, EObjectType obj_type, objects::CScope *scope, const string &title, const string &data_source="", int subtype=0)
 
static string GetComponentSignature (const objects::CSeq_loc &comp_loc, const objects::CSeq_loc &mapped_loc, objects::CScope *scope)
 
static string GetAlignSignature (const objects::CSeq_align &align, const objects::CSeq_loc &on_loc, objects::CScope *scope, const objects::CSeq_annot_Handle &annot_handle)
 
static string GetAlignSignature (const objects::CSeq_align &align, const objects::CSeq_loc &on_loc, objects::CScope *scope, const string &data_source="")
 
static string GetRsiteSignature (const objects::CSeq_feat &feat, int pnt, objects::CScope *scope)
 
static string GetVcfVariantSignature (const objects::CVcfVariant &vcf_variant, objects::CScope *scope)
 
static void ParseSignature (const string &sig, objects::CSeq_id_Handle &sih, TSeqPos &from, TSeqPos &to, EObjectType &type, int &subtype, Uint4 &fingerprint, Uint4 &ds_fingerprint, string &ds_name, objects::CScope *scope)
 parse signature with data source info. More...
 
static string ParseSignatureDS (const string &sig)
 
static void ParseSignature (const string &sig, SFingerprint &fp, objects::CScope *scope)
 

Private Types

typedef map< TTypeInfo, TFingerPFuncTMap
 

Private Member Functions

void x_Register (TTypeInfo type_info, TFingerPFunc func)
 

Static Private Member Functions

static CObjFingerprintx_GetInstance ()
 

Private Attributes

TMap m_Map
 

Detailed Description

Definition at line 54 of file obj_fingerprint.hpp.

Member Typedef Documentation

◆ SFingerprint

◆ TFingerPFunc

typedef void(* CObjFingerprint::TFingerPFunc) (CChecksum &checksum, const CObject &obj, objects::CScope *scope, const CObjFingerprint &fingerP)

Definition at line 57 of file obj_fingerprint.hpp.

◆ TMap

Definition at line 195 of file obj_fingerprint.hpp.

Member Enumeration Documentation

◆ EObjectType

Enumerator
eUnknown 
eFeature 
eAlignment 
eLocation 
eGraph 
eSnpTrack 
eVarTrack 
eComponent 
eRsite 
eVcfTrack 

Definition at line 91 of file obj_fingerprint.hpp.

Member Function Documentation

◆ AddDouble()

void CObjFingerprint::AddDouble ( CChecksum checksum,
double  value 
)
static

◆ AddInteger()

void CObjFingerprint::AddInteger ( CChecksum checksum,
unsigned char *  pvalue,
int  size 
)
static

◆ Fingerprint()

void CObjFingerprint::Fingerprint ( CChecksum checksum,
const CObject obj,
objects::CScope *  scope 
) const

◆ GetAlignSignature() [1/2]

string CObjFingerprint::GetAlignSignature ( const objects::CSeq_align &  align,
const objects::CSeq_loc &  on_loc,
objects::CScope *  scope,
const objects::CSeq_annot_Handle &  annot_handle 
)
static

Definition at line 277 of file obj_fingerprint.cpp.

Referenced by CAlignGlyph::GetSignature().

◆ GetAlignSignature() [2/2]

string CObjFingerprint::GetAlignSignature ( const objects::CSeq_align &  align,
const objects::CSeq_loc &  on_loc,
objects::CScope *  scope,
const string data_source = "" 
)
static

◆ GetComponentSignature()

string CObjFingerprint::GetComponentSignature ( const objects::CSeq_loc &  comp_loc,
const objects::CSeq_loc &  mapped_loc,
objects::CScope *  scope 
)
static

◆ GetFeatSignature() [1/4]

string CObjFingerprint::GetFeatSignature ( const objects::CSeq_feat &  feat,
const objects::CSeq_loc &  loc,
objects::CScope *  scope,
const objects::CSeq_annot_Handle &  annot_handle,
const string sAdditionalInfo = "" 
)
static

Get signature for a feature with a separate location.

Definition at line 169 of file obj_fingerprint.cpp.

References GetFeatSignature().

◆ GetFeatSignature() [2/4]

string CObjFingerprint::GetFeatSignature ( const objects::CSeq_feat &  feat,
const objects::CSeq_loc &  loc,
objects::CScope *  scope,
const string data_source = "",
const string sAdditionalInfo = "" 
)
static

◆ GetFeatSignature() [3/4]

string CObjFingerprint::GetFeatSignature ( const objects::CSeq_feat &  feat,
objects::CScope *  scope,
const objects::CSeq_annot_Handle &  annot_handle,
const string sAdditionalInfo = "" 
)
static

Definition at line 161 of file obj_fingerprint.cpp.

References GetFeatSignature().

◆ GetFeatSignature() [4/4]

string CObjFingerprint::GetFeatSignature ( const objects::CSeq_feat &  feat,
objects::CScope *  scope,
const string data_source = "",
const string sAdditionalInfo = "" 
)
static

◆ GetFingerprint()

void CObjFingerprint::GetFingerprint ( CChecksum checksum,
const CObject obj,
objects::CScope *  scope = NULL 
)
static

◆ GetGraphSignature()

string CObjFingerprint::GetGraphSignature ( const objects::CSeq_graph &  graph,
objects::CScope *  scope,
const string data_source = "" 
)
static

◆ GetHistogramSignature()

string CObjFingerprint::GetHistogramSignature ( const objects::CSeq_loc &  loc,
EObjectType  obj_type,
objects::CScope *  scope,
const string title,
const string data_source = "",
int  subtype = 0 
)
static

◆ GetRsiteSignature()

string CObjFingerprint::GetRsiteSignature ( const objects::CSeq_feat &  feat,
int  pnt,
objects::CScope *  scope 
)
static

◆ GetSeqLocSignature()

string CObjFingerprint::GetSeqLocSignature ( const objects::CSeq_loc &  loc,
objects::CScope *  scope 
)
static

◆ GetVcfVariantSignature()

string CObjFingerprint::GetVcfVariantSignature ( const objects::CVcfVariant &  vcf_variant,
objects::CScope *  scope 
)
static

◆ ParseSignature() [1/2]

void CObjFingerprint::ParseSignature ( const string sig,
objects::CSeq_id_Handle &  sih,
TSeqPos from,
TSeqPos to,
EObjectType type,
int subtype,
Uint4 fingerprint,
Uint4 ds_fingerprint,
string ds_name,
objects::CScope *  scope 
)
static

parse signature with data source info.

data source can either be a checksum or ds name.

Definition at line 490 of file obj_fingerprint.cpp.

References eUnknown, GetId(), CSeqUtils::IsAlignDb(), CSeqUtils::IsNAA(), NStr::MatchesMask(), NCBI_THROW, NStr::StringToUInt(), tmp, and CTrackUtils::TokenizeWithEscape().

Referenced by CSeqGraphicPane::OnSearchTip(), CSeqGraphicPane::OnZoomTip(), and ParseSignature().

◆ ParseSignature() [2/2]

void CObjFingerprint::ParseSignature ( const string sig,
SFingerprint fp,
objects::CScope *  scope 
)
inlinestatic

Definition at line 200 of file obj_fingerprint.hpp.

References fp, and ParseSignature().

◆ ParseSignatureDS()

string CObjFingerprint::ParseSignatureDS ( const string sig)
static

Definition at line 547 of file obj_fingerprint.cpp.

References CTrackUtils::TokenizeWithEscape().

◆ Register()

void CObjFingerprint::Register ( TTypeInfo  type_info,
CObjFingerprint::TFingerPFunc  func 
)
static

◆ x_GetInstance()

CObjFingerprint & CObjFingerprint::x_GetInstance ( )
staticprivate

Definition at line 81 of file obj_fingerprint.cpp.

Referenced by GetFingerprint(), and Register().

◆ x_Register()

void CObjFingerprint::x_Register ( TTypeInfo  type_info,
TFingerPFunc  func 
)
private

Definition at line 106 of file obj_fingerprint.cpp.

References m_Map.

Referenced by Register().

Member Data Documentation

◆ m_Map

TMap CObjFingerprint::m_Map
private

Definition at line 196 of file obj_fingerprint.hpp.

Referenced by Fingerprint(), and x_Register().


The documentation for this class was generated from the following files:
Modified on Fri Dec 08 08:21:10 2023 by modify_doxy.py rev. 669887