.AppendString(seq_id_str);
61 id.AppendString(bed_id);
64 id.AppendInteger(seq_len);
65 id.AppendHost(remote_path);
66 stringlmd = last_modified;
70 id.AppendString(lmd);
74 return id.ToString();
81 if(cache_key.empty())
88 m_SeqId= field_seq_id.GetString();
91 autofield_id = field_seq_id.GetNextNeighbor();
95 autofield_len = field_id.GetNextNeighbor();
96 m_SeqLen= (size_t)field_len.GetInteger();
99 autofield_path = field_len.GetNextNeighbor();
120: m_SeqId(
data.m_SeqId)
121, m_BedId(
data.m_BedId)
122, m_SeqLen(
data.m_SeqLen)
123, m_RemotePath(
data.m_RemotePath)
124, m_LastModified(
data.m_LastModified)
125, m_DataKey(
data.m_DataKey)
126, m_DataBinCount(
data.m_DataBinCount)
127, m_Data(
data.m_Data)
137}
catch(exception& e) {
143is.read((
char*)&bin_count,
sizeof(
int));
164 boolhas_blob =
false;
167}
catch(exception& e) {
175}
catch(exception& e) {
190 void s_GetBigBedSummary(
const string& data_url,
const string& chrom,
const string& from,
const string& to,
intbin_count, vector<unsigned int>& data_points)
197 "./rmt_bigbed_summary.sh",
202bin_count_str.c_str(),
203sTmpFilename.c_str(),
212 if(ExitCode == -1) {
228data_points.push_back(v);
233 void s_GetBigBedFeats(
const string& data_url,
const string& chrom,
const string& from,
const string& to, vector<TSeqRange>& ranges)
239 "./rmt_bigbed_summary.sh",
245sTmpFilename.c_str(),
267 stringstart_s, end_s;
274ranges.emplace_back(from, to);
286w.write((
const char*)sv_lay.
buf(), sv_lay.
size());
296vector<unsigned int> data_points;
338 const auto& data_r =
data.GetRange();
339 _ASSERT(data_r.GetLength() > 0);
340 if(data_r.GetLength() == 0) {
347 autostart = data_r.GetFrom()/bin_size;
348 autostop = data_r.GetTo()/bin_size;
349 int len= (stop - start) + 1;
355vector<unsigned int> temp_data(
len, 0);
361 TSeqRange r(data_r.GetFrom(), data_r.GetFrom() + bin_size - 1);
362 auto val= temp_data[0];
363 for(
auto i= 1;
i<
len; ++
i) {
364 autofrom = data_r.GetFrom() +
i* bin_size;
365 autoto = from + bin_size - 1;
366 if(temp_data[
i] ==
val&& from ==
r.GetToOpen()) {
372 val= temp_data[
i];
373max_value = max<int>(max_value,
val);
376max_value = max<int>(max_value,
val);
390 autostart = range.
GetFrom()/bin_size;
391 autostop = range.
GetTo()/bin_size;
392 auto len= (stop - start) + 1;
395vector<unsigned int> temp_data(
len, 0);
402 for(
auto i= 0;
i<
len; ++
i) {
403 if(temp_data[
i] == 0)
405max_count = max<int>(max_count, temp_data[
i]);
407 return len- empty_bins;
void s_GetBigBedFeats(const string &data_url, const string &chrom, const string &from, const string &to, vector< TSeqRange > &ranges)
static bool s_ReadData(ICache &icache, const string &data_key, int &bin_count, bm::sparse_vector< unsigned, bm::bvector<> > &sv, bm::word_t *tb)
void s_GetBigBedSummary(const string &data_url, const string &chrom, const string &from, const string &to, int bin_count, vector< unsigned int > &data_points)
#define BM_DECLARE_TEMP_BLOCK(x)
Serialization / compression of bvector<>. Set theoretical operations on compressed BLOBs.
Serialization for sparse_vector<>
Checksum and hash calculation classes.
void Save(TGraphCachePool &icache_pool)
void x_SaveData(ICache &icache)
size_t GetEstimatedFeatureCount(const TSeqRange &range, int &max_count)
static const int kMinBinSize
static string GetCacheKey(objects::CScope &scope, const objects::CSeq_id &seq_id, const string &bed_id, const string &remote_path, const string &last_modified=NcbiEmptyString)
CBedCoverageGraph.
mutex m_DataMutex
data access mutex
TSparseVector m_Data
map of sprasvectors, the key is used as a part of suffix of NetCache key (m_DataKey + "_" + this map ...
void Init(TGraphCachePool &icache_pool)
string m_RemotePath
path to remote data or srz accession
string m_LastModified
timestamp of the remote data last modified date as reported by www server
CBedCoverageGraph(const string &cache_key)
void GetData(CHistogramGlyph::TMap &data)
void x_InitData(ICache &icache)
CChecksum â Checksum calculator.
Pool of recycled CCompoundID objects.
CCompoundID NewID(ECompoundIDClass new_id_class)
Create and return a new CCompoundID objects.
CCompoundID FromString(const string &cid)
Unpack the base64-encoded ID and return a CCompoundID object for field extraction.
CCompoundIDField GetFirst(ECompoundIDFieldType field_type)
Return the first field of the specified type or NULL if this compound ID contains no fields of such t...
The result type for Spawn methods.
Guard that can be used to automatically return object to the pool after leaving some scope.
Extended exit information for waited process.
Note about the "buf_size" parameter for streams in this API.
@ fOwnReader
Own the underlying reader.
@ fOwnWriter
Own the underlying writer.
@ ESuggestedAction_Access
try to access the remote file
@ ESuggestedAction_Skip
do not access the file
static void Set(const string &sKey, ESuggestedAction KnownAccessibility)
static ESuggestedAction Check(const string &sKey)
Writer-based output stream.
BLOB cache read/write/maintenance interface.
virtual size_t GetSize(const string &key, TBlobVersion version, const string &subkey)=0
Check if BLOB exists, return BLOB size.
virtual IWriter * GetWriteStream(const string &key, TBlobVersion version, const string &subkey, unsigned int time_to_live=0, const string &owner=kEmptyStr)=0
Return sequential stream interface to write BLOB data.
virtual IReader * GetReadStream(const string &key, TBlobVersion version, const string &subkey)=0
Return sequential stream interface to read BLOB data.
succinct sparse vector with runtime compression using bit-slicing / transposition method
bool empty() const noexcept
return true if vector is empty
bvector_type::size_type size_type
void resize(size_type sz)
resize vector
size_type decode(value_type *arr, size_type idx_from, size_type dec_size, bool zero_mem=true) const
Bulk export list of elements to a C-style array.
void import(const value_type *arr, size_type arr_size, size_type offset=0, bool set_not_null=true)
Import list of elements from a C-style array.
void optimize(bm::word_t *temp_block=0, typename bvector_type::optmode opt_mode=bvector_type::opt_compress, typename sparse_vector< Val, BV >::statistics *stat=0)
run memory optimization for all vector planes
string GetHexSum(void) const
Return string with checksum in hexadecimal form.
void AddLine(const char *line, size_t len)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
static CResult SpawnL(EMode mode, const char *cmdname, const char *argv,...)
Spawn a new process with specified command-line arguments.
TProcessHandle GetProcessHandle(void)
Get process handle/pid.
@ eNoWait
Continues to execute calling process concurrently with new process (asynchronous spawn).
static fstream * CreateTmpFile(const string &filename=kEmptyStr, ETextBinary text_binary=eBinary, EAllowRead allow_read=eAllowRead)
Create temporary file and return pointer to corresponding stream.
static string GetTmpName(ETmpFileCreationMode mode=eTmpFileGetName)
Get temporary file name.
@ eTmpFileCreate
Create empty file for each GetTmpName* call.
static void GetLastModified(const string &url, string &last_modified)
HTTP: Returns header's Last-Modified in the last_modified parameter FTP: Returns MD5 of first 512 byt...
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
CConstRef< CSeq_id > GetSeqId(void) const
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
CSeq_id_Handle GetAccVer(const CSeq_id_Handle &idh, TGetFlags flags=0)
Get accession.version Seq-id Returns null CSeq_id_Handle if the sequence is not found or if it doesn'...
TSeqPos GetSequenceLength(const CSeq_id &id, TGetFlags flags=0)
Get sequence length Return kInvalidSeqPos if sequence is not found.
int Wait(unsigned long timeout=kInfiniteTimeoutMs, CExitInfo *info=0) const
Wait until process terminates.
int GetExitCode(void) const
Get process exit code.
@ eHandle
A process handle (MS Windows).
position_type GetLength(void) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
CNcbiIstream & NcbiGetline(CNcbiIstream &is, string &str, char delim, string::size_type *count=NULL)
Read from "is" to "str" up to the delimiter symbol "delim" (or EOF)
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
static bool SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)
Split a string into two pieces using the specified delimiters.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
@ fAllowTrailingSpaces
Ignore trailing whitespace characters.
@ fConvErr_NoThrow
Do not throw an exception on error.
@ fAllowLeadingSpaces
Ignore leading whitespace characters in converted string.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
unsigned int
A callback function used to compare two keys in a database.
void sparse_vector_serialize(const SV &sv, sparse_vector_serial_layout< SV > &sv_layout, bm::word_t *temp_block=0)
Serialize sparse vector into a memory buffer(s) structure.
int sparse_vector_deserialize(SV &sv, const unsigned char *buf, bm::word_t *temp_block=0)
Deserialize sparse vector.
const struct ncbi::grid::netcache::search::fields::SIZE size
Defines a portable execute class.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
Reader-writer based streams.
layout class for serialization buffer structure
const unsigned char * buf() const noexcept
Return serialization buffer pointer.
size_t size() const noexcept
return current serialized size
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