SHOGUN v0.9.0
公有成员 | 保护成员 | 静态保护成员 | 保护属性
COligoStringKernel类参考

详细描述

This class offers access to the Oligo Kernel introduced by Meinicke et al. in 2004.

The class has functions to preprocess the data such that the kernel computation can be pursued faster. The kernel function is then kernelOligoFast or kernelOligo.

Requires significant speedup, should be working but as is might be applicable only to academic small scale problems:

Uses CSqrtDiagKernelNormalizer, as the vanilla kernel seems to be very diagonally dominant.

在文件OligoStringKernel.h41行定义。

继承图,类COligoStringKernel
Inheritance graph
[图例]

所有成员的列表。

公有成员

 COligoStringKernel (void)
 COligoStringKernel (int32_t cache_size, int32_t k, float64_t width)
virtual ~COligoStringKernel ()
virtual bool init (CFeatures *l, CFeatures *r)
virtual EKernelType get_kernel_type ()
virtual const char * get_name () const
virtual float64_t compute (int32_t x, int32_t y)
virtual void cleanup ()

保护成员

float64_t kernelOligoFast (const std::vector< std::pair< int32_t, float64_t > > &x, const std::vector< std::pair< int32_t, float64_t > > &y, int32_t max_distance=-1)
 returns the value of the oligo kernel for sequences 'x' and 'y'

静态保护成员

static void encodeOligo (const std::string &sequence, uint32_t k_mer_length, const std::string &allowed_characters, std::vector< std::pair< int32_t, float64_t > > &values)
 encodes the signals of the sequence
static void getSequences (const std::vector< std::string > &sequences, uint32_t k_mer_length, const std::string &allowed_characters, std::vector< std::vector< std::pair< int32_t, float64_t > > > &encoded_sequences)
 encodes all sequences with the encodeOligo function and stores them in 'encoded_sequences'

保护属性

int32_t k
float64_t width
float64_tgauss_table
int32_t gauss_table_len

构造及析构函数文档

COligoStringKernel ( void  )

default constructor

在文件OligoStringKernel.cpp24行定义。

COligoStringKernel ( int32_t  cache_size,
int32_t  k,
float64_t  width 
)

Constructor

参数:
cache_sizecache size for kernel
kk-mer length
width- equivalent to 2*sigma^2

在文件OligoStringKernel.cpp30行定义。

~COligoStringKernel ( ) [virtual]

Destructor

在文件OligoStringKernel.cpp39行定义。


成员函数文档

void cleanup ( ) [virtual]

clean up your kernel

重载CKernel

在文件OligoStringKernel.cpp44行定义。

float64_t compute ( int32_t  x,
int32_t  y 
) [virtual]

compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object

abstract base method

参数:
xindex a
yindex b
返回:
computed kernel function at indices a,b

实现了CKernel

在文件OligoStringKernel.cpp235行定义。

void encodeOligo ( const std::string &  sequence,
uint32_t  k_mer_length,
const std::string &  allowed_characters,
std::vector< std::pair< int32_t, float64_t > > &  values 
) [static, protected]

encodes the signals of the sequence

This function stores the oligo function signals in 'values'.

The 'k_mer_length' and the 'allowed_characters' determine, which signals are used. Every pair contains the position of the signal and a numerical value reflecting the signal. The numerical value represents the k_mer to a base n = |allowed_characters|. Example: The value of k_mer CG for the allowed characters ACGT would be 1 * n^1 + 2 * n^0 = 6.

在文件OligoStringKernel.cpp67行定义。

virtual EKernelType get_kernel_type ( ) [virtual]

return what type of kernel we are

返回:
kernel type OLIGO

实现了CStringKernel< char >

在文件OligoStringKernel.h69行定义。

virtual const char* get_name ( void  ) const [virtual]

return the kernel's name

返回:
name Oligo

重载CStringKernel< char >

在文件OligoStringKernel.h75行定义。

void getSequences ( const std::vector< std::string > &  sequences,
uint32_t  k_mer_length,
const std::string &  allowed_characters,
std::vector< std::vector< std::pair< int32_t, float64_t > > > &  encoded_sequences 
) [static, protected]

encodes all sequences with the encodeOligo function and stores them in 'encoded_sequences'

This function encodes the sequences of 'sequences' via the function encodeOligo.

在文件OligoStringKernel.cpp125行定义。

bool init ( CFeatures l,
CFeatures r 
) [virtual]

initialize kernel

参数:
lfeatures of left-hand side
rfeatures of right-hand side
返回:
if initializing was successful

重载CStringKernel< char >

在文件OligoStringKernel.cpp53行定义。

float64_t kernelOligoFast ( const std::vector< std::pair< int32_t, float64_t > > &  x,
const std::vector< std::pair< int32_t, float64_t > > &  y,
int32_t  max_distance = -1 
) [protected]

returns the value of the oligo kernel for sequences 'x' and 'y'

This function computes the kernel value of the oligo kernel, which was introduced by Meinicke et al. in 2004. 'x' and 'y' are encoded by encodeOligo and 'exp_cache' has to be constructed by getExpFunctionCache.

'max_distance' can be used to speed up the computation even further by restricting the maximum distance between a k_mer at position i in sequence 'x' and a k_mer at position j in sequence 'y'. If i - j > 'max_distance' the value is not added to the kernel value. This approximation is switched off by default (max_distance < 0).

在文件OligoStringKernel.cpp153行定义。


成员数据文档

float64_t* gauss_table [protected]

cache for exp (see getExpFunctionCache above)

在文件OligoStringKernel.h162行定义。

int32_t gauss_table_len [protected]

length of gauss table

在文件OligoStringKernel.h164行定义。

int32_t k [protected]

k-mer length

在文件OligoStringKernel.h158行定义。

float64_t width [protected]

width of kernel

在文件OligoStringKernel.h160行定义。


该类的文档由以下文件生成:

SHOGUN Machine Learning Toolbox - Documentation