1 #ifndef GUI_OBJUTILS___OBJ_FINGERPRINT__HPP
2 #define GUI_OBJUTILS___OBJ_FINGERPRINT__HPP
60 static void Register(
TTypeInfo type_info, TFingerPFunc func);
63 objects::CScope* scope =
NULL);
67 static void AddInteger(
CChecksum& checksum,
unsigned char* pvalue,
int size);
104 static string GetFeatSignature(
const objects::CSeq_feat& feat,
105 objects::CScope* scope,
106 const string& data_source =
"",
107 const string& sAdditionalInfo =
"");
109 static string GetFeatSignature(
const objects::CSeq_feat& feat,
110 objects::CScope* scope,
111 const objects::CSeq_annot_Handle& annot_handle,
112 const string& sAdditionalInfo =
"");
115 static string GetFeatSignature(
const objects::CSeq_feat& feat,
116 const objects::CSeq_loc& loc,
117 objects::CScope* scope,
118 const objects::CSeq_annot_Handle& annot_handle,
119 const string& sAdditionalInfo =
"");
122 static string GetFeatSignature(
const objects::CSeq_feat& feat,
123 const objects::CSeq_loc& loc,
124 objects::CScope* scope,
125 const string& data_source =
"",
126 const string& sAdditionalInfo =
"");
128 static string GetGraphSignature(
const objects::CSeq_graph& graph,
129 objects::CScope* scope,
130 const string& data_source =
"");
132 static string GetSeqLocSignature(
const objects::CSeq_loc& loc,
133 objects::CScope* scope);
135 static string GetHistogramSignature(
const objects::CSeq_loc& loc,
136 EObjectType obj_type,
137 objects::CScope* scope,
139 const string& data_source =
"",
142 static string GetComponentSignature(
const objects::CSeq_loc& comp_loc,
143 const objects::CSeq_loc& mapped_loc,
144 objects::CScope* scope);
146 static string GetAlignSignature(
const objects::CSeq_align& align,
147 const objects::CSeq_loc& on_loc,
148 objects::CScope* scope,
149 const objects::CSeq_annot_Handle& annot_handle);
151 static string GetAlignSignature(
const objects::CSeq_align& align,
152 const objects::CSeq_loc& on_loc,
153 objects::CScope* scope,
154 const string& data_source =
"");
156 static string GetRsiteSignature(
const objects::CSeq_feat& feat,
158 objects::CScope* scope);
160 static string GetVcfVariantSignature(
const objects::CVcfVariant& vcf_variant, objects::CScope* scope);
164 static void ParseSignature(
const string& sig,
165 objects::CSeq_id_Handle& sih,
171 Uint4& ds_fingerprint,
173 objects::CScope* scope);
176 static string ParseSignatureDS(
const string& sig);
179 objects::CSeq_id_Handle
sih;
189 static void ParseSignature(
const string& sig, SFingerprint&
fp, objects::CScope* scope);
193 void x_Register(
TTypeInfo type_info, TFingerPFunc func);
209 "id=" <<
fp.sih.GetSeqId()->AsFastaString()
210 <<
" from=" <<
fp.from
212 <<
" type=" <<
fp.type
213 <<
" subtype=" <<
fp.subtype
214 <<
" fingerprint=" <<
fp.fingerprint
215 <<
" ds_fingerprint=" <<
fp.ds_fingerprint;
CChecksum – Checksum calculator.
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.
map< TTypeInfo, TFingerPFunc > TMap
namespace ncbi::objects::
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
unsigned int TSeqPos
Type for sequence locations and lengths.
uint32_t Uint4
4-byte (32-bit) unsigned integer
#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.
#define NCBI_GUIOBJUTILS_EXPORT
Defines to provide correct exporting from DLLs in Windows.
const struct ncbi::grid::netcache::search::fields::SIZE size
uint64_t Fingerprint(uint128_t x)
ostream & operator<<(ostream &os, const CObjFingerprint::SFingerprint &fp)
objects::CSeq_id_Handle sih