49 return m_pwm[num_param];
75 uint8_t* str = strs->get_feature_vector(num_example, len, do_free);
80 for (int32_t i=0; i<len; i++)
83 strs->free_feature_vector(str, num_example, do_free);
104 int32_t m_w_cols = num_pos;
112 for (int32_t i=0; i<m_w_rows; i++)
114 for (int32_t j=0; j<m_w_cols; j++)
118 int32_t window_ptr=last_idx;
121 window[window_ptr]=0;
123 window[window_ptr]++;
129 void CPositionalPWM::register_params()
150 for (int32_t i=0; i<order; i++)
154 memset(
m_poim.
vector,0,
size_t(num_feat)*
size_t(num_sym));
156 uint32_t kmer_mask=0;
157 uint32_t words=
CMath::pow((int32_t) num_words,(int32_t) order);
160 for (int32_t o=0; o<max_degree; o++)
163 offset+=
CMath::pow((int32_t) num_words,(int32_t) o+1);
167 for (int32_t p=-o; p<order; p++)
169 int32_t o_sym=0, m_sym=0, il=0,ir=0, jl=0;
170 uint32_t imer_mask=kmer_mask;
171 uint32_t jmer_mask=kmer_mask;
190 imer_mask=(kmer_mask>>(num_bits*o_sym));
191 jmer_mask=(kmer_mask>>(num_bits*jl));
195 1.0/
CMath::pow((int32_t) num_words,(int32_t) m_sym);
197 for (uint32_t i=0; i<words; i++)
199 uint16_t x= ((i << (num_bits*il)) >> (num_bits*ir)) & imer_mask;
201 if (p>=0 && p<order-o)
207 for (uint32_t j=0; j< (uint32_t)
CMath::pow((int32_t) num_words, (int32_t) o_sym); j++)
209 uint32_t c=x | ((j & jmer_mask) << (num_bits*jl));
221 for (int32_t i=0; i<d-1; i++)
static void fill_vector(T *vec, int32_t len, T value)
virtual float64_t get_log_derivative(int32_t num_param, int32_t num_example)
SGMatrix< float64_t > m_pwm
#define SG_NOTIMPLEMENTED
The class Alphabet implements an alphabet and alphabet utility functions.
Base class Distribution from which all methods implementing a distribution are derived.
virtual float64_t get_log_model_parameter(int32_t num_param)
void add(bool *param, const char *name, const char *description="")
virtual int32_t get_num_model_parameters()
ST get_masked_symbols(ST symbol, uint8_t mask)
SGVector< float64_t > m_poim
virtual EFeatureClass get_feature_class() const =0
#define M_PI
workaround for log2 being a define on cygwin
void compute_symbol_mask_table(int64_t max_val)
int32_t get_num_bits() const
virtual float64_t get_log_likelihood_example(int32_t num_example)
all of classes and functions are contained in the shogun namespace
virtual SGMatrix< float64_t > get_scoring(int32_t d)
The class Features is the base class of all feature objects.
void compute_w(int32_t num_pos)
static float64_t log(float64_t v)
float64_t get_log_likelihood_window(uint8_t *window, int32_t len, float64_t pos)
virtual ~CPositionalPWM()
static float32_t sqrt(float32_t x)
SGMatrix< float64_t > m_w
static int32_t pow(bool x, int32_t n)
void compute_scoring(int32_t max_degree)
virtual EFeatureType get_feature_type() const =0
virtual bool train(CFeatures *data=NULL)