13 #ifndef __CDYNPROG_H__ 14 #define __CDYNPROG_H__ 20 #include <shogun/lib/config.h> 36 template <
class T>
class CSparseFeatures;
41 template <
class T>
class CDynamicArray;
52 #ifndef DOXYGEN_SHOULD_SKIP_THIS 54 struct segment_loss_struct
61 int32_t *segments_changed;
65 int32_t *length_segment_id ;
90 void set_num_states(int32_t N);
93 int32_t get_num_states();
96 int32_t get_num_svms();
103 void init_content_svm_value_array(
const int32_t p_num_svms);
112 void init_tiling_data(int32_t* probe_pos,
float64_t* intensities,
const int32_t num_probes);
120 void precompute_tiling_plifs(
CPlif** PEN,
const int32_t* tiling_plif_ids,
const int32_t num_tiling_plifs);
126 void resize_lin_feat(int32_t num_new_feat);
168 bool check_svm_arrays();
182 int32_t get_num_positions();
233 void best_path_set_segment_ids_mask(int32_t* segment_ids,
float64_t* segment_mask, int32_t m);
272 void compute_nbest_paths(int32_t max_num_signals,
273 bool use_orf, int16_t nbest,
bool with_loss,
bool with_multiple_sequences);
288 void best_path_trans_deriv(
289 int32_t* my_state_seq, int32_t *my_pos_seq,
290 int32_t my_seq_len,
const float64_t *seq_array, int32_t max_num_signals);
297 void set_my_state_seq(int32_t* my_state_seq);
303 void set_my_pos_seq(int32_t* my_pos_seq);
312 void get_path_scores(
float64_t** my_scores, int32_t* seq_len);
321 void get_path_losses(
float64_t** my_losses, int32_t* seq_len);
336 m_end_state_distribution_q[offset]=value;
345 m_initial_state_distribution_p[offset]=value;
356 m_transition_matrix_a.element(line_,column)=value;
366 return m_end_state_distribution_q[offset];
376 return m_end_state_distribution_q_deriv[offset];
386 return m_initial_state_distribution_p[offset];
396 return m_initial_state_distribution_p_deriv[offset];
402 void precompute_content_values();
412 m_lin_feat.get_array_size(dim1, dim2);
413 return m_lin_feat.get_array();
425 m_lin_feat.set_array(p_lin_feat, p_num_svms, p_seq_len,
true,
true);
431 void create_word_string();
435 void precompute_stop_codons();
445 return m_transition_matrix_a.element(line_, column);
456 return m_transition_matrix_a_deriv.element(line_, column);
464 void set_intron_list(
CIntronList* intron_list, int32_t num_plifs);
469 return m_seg_loss_obj;
480 m_long_transitions = use_long_transitions;
481 m_long_transition_threshold = threshold;
499 void lookup_content_svm_values(
const int32_t from_state,
500 const int32_t to_state,
const int32_t from_pos,
const int32_t to_pos,
510 inline void lookup_tiling_plif_values(
const int32_t from_state,
511 const int32_t to_state,
const int32_t len,
float64_t* svm_values);
517 inline int32_t find_frame(
const int32_t from_state);
527 inline int32_t raw_intensities_interval_query(
528 const int32_t from_pos,
const int32_t to_pos,
float64_t* intensities, int32_t type);
530 #ifndef DOXYGEN_SHOULD_SKIP_THIS 532 struct svm_values_struct
548 int32_t **num_unique_words;
550 #endif // DOXYGEN_SHOULD_SKIP_THIS 560 bool extend_orf(int32_t orf_from, int32_t orf_to, int32_t start, int32_t &last_pos, int32_t to);
563 virtual const char*
get_name()
const {
return "DynProg"; }
567 T_STATES trans_list_len;
568 T_STATES **trans_list_forward;
569 T_STATES *trans_list_forward_cnt;
571 int32_t **trans_list_forward_id;
572 bool mem_initialized;
574 #ifdef DYNPROG_TIMING 766 static int32_t word_degree_default[4];
771 static int32_t cum_num_words_default[5];
775 static int32_t frame_plifs[3];
779 static int32_t num_words_default[4];
782 static int32_t mod_words_default[32];
785 static bool sign_words_default[16];
788 static int32_t string_words_default[16];
Class Time that implements a stopwatch based on either cpu time or wall clock time.
CDynamicArray< float64_t > m_end_state_distribution_q_deriv
CDynamicArray< float64_t > m_segment_loss
CPlifMatrix * m_plif_matrices
float64_t get_p(T_STATES offset) const
CDynamicArray< int32_t > m_positions
float64_t get_p_deriv(T_STATES offset) const
CDynamicArray< float64_t > m_dict_weights
void set_lin_feat(float64_t *p_lin_feat, int32_t p_num_svms, int32_t p_seq_len)
CDynamicArray< int32_t > m_segment_ids
float64_t get_q_deriv(T_STATES offset) const
CDynamicArray< int32_t > m_transition_matrix_a_id
transition matrix
CDynamicArray< int32_t > m_word_degree
int32_t * m_cum_num_words_array
virtual const char * get_name() const
int32_t * m_mod_words_array
CDynamicArray< float64_t > m_lin_feat
int32_t m_num_intron_plifs
CDynamicArray< float64_t > m_initial_state_distribution_p_deriv
CSparseFeatures< float64_t > * m_seq_sparse1
CSparseFeatures< float64_t > * m_seq_sparse2
float64_t get_a_deriv(T_STATES line_, T_STATES column) const
int32_t * m_num_probes_cum
float64_t get_a(T_STATES line_, T_STATES column) const
int32_t * m_num_lin_feat_plifs_cum
CDynamicArray< float64_t > m_initial_state_distribution_p
initial distribution of states
CDynamicArray< int32_t > m_mod_words
CDynamicArray< float64_t > m_transition_matrix_a_deriv
void set_p(T_STATES offset, float64_t value)
Class SGObject is the base class of all shogun objects.
CDynamicArray< int32_t > m_num_unique_words
CDynamicArray< float64_t > m_transition_matrix_a
CDynamicArray< bool > m_genestr_stop
CDynamicArray< int32_t > m_orf_info
CDynamicArray< float64_t > m_segment_sum_weights
int32_t * m_string_words_array
CDynamicArray< int32_t > m_my_pos_seq
CDynamicArray< int32_t > m_states
CDynamicArray< int32_t > m_cum_num_words
CDynamicArray< int32_t > m_string_words
CDynamicArray< int32_t > m_pos
Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an a...
int32_t m_long_transition_threshold
CDynamicArray< float64_t > m_end_state_distribution_q
distribution of end-states
float64_t * get_lin_feat(int32_t &dim1, int32_t &dim2)
void set_a(T_STATES line_, T_STATES column, float64_t value)
float64_t get_q(T_STATES offset) const
float64_t * m_raw_intensities
void set_q(T_STATES offset, float64_t value)
CDynamicArray< float64_t > m_my_losses
CDynamicArray< float64_t > m_segment_mask
CDynamicArray< char > m_genestr
CDynamicArray< float64_t > m_scores
all of classes and functions are contained in the shogun namespace
CDynamicArray< float64_t > m_observation_matrix
CDynamicArray< bool > m_sign_words
CDynamicArray< int32_t > m_num_words
CDynamicObjectArray m_plif_list
CDynamicArray< float64_t > m_my_scores
Dynamic Programming Class.
int32_t * m_num_words_array
CIntronList * m_intron_list
T_STATES get_N() const
access function for number of states N
void long_transition_settings(bool use_long_transitions, int32_t threshold, int32_t max_len)
CSegmentLoss * m_seg_loss_obj
CSegmentLoss * get_segment_loss_object()
CDynamicArray< int32_t > m_my_state_seq
store plif arrays for all transitions in the model
bool * m_sign_words_array