13 #ifndef __CDYNPROG_H__ 14 #define __CDYNPROG_H__ 38 template <
class T>
class CSparseFeatures;
43 template <
class T>
class CDynamicArray;
54 #ifndef DOXYGEN_SHOULD_SKIP_THIS 56 struct segment_loss_struct
63 int32_t *segments_changed;
67 int32_t *length_segment_id ;
92 void set_num_states(int32_t N);
95 int32_t get_num_states();
98 int32_t get_num_svms();
105 void init_content_svm_value_array(
const int32_t p_num_svms);
114 void init_tiling_data(int32_t* probe_pos,
float64_t* intensities,
const int32_t num_probes);
122 void precompute_tiling_plifs(
CPlif** PEN,
const int32_t* tiling_plif_ids,
const int32_t num_tiling_plifs);
128 void resize_lin_feat(int32_t num_new_feat);
170 bool check_svm_arrays();
184 int32_t get_num_positions();
235 void best_path_set_segment_ids_mask(int32_t* segment_ids,
float64_t* segment_mask, int32_t m);
274 void compute_nbest_paths(int32_t max_num_signals,
275 bool use_orf, int16_t nbest,
bool with_loss,
bool with_multiple_sequences);
290 void best_path_trans_deriv(
291 int32_t* my_state_seq, int32_t *my_pos_seq,
292 int32_t my_seq_len,
const float64_t *seq_array, int32_t max_num_signals);
299 void set_my_state_seq(int32_t* my_state_seq);
305 void set_my_pos_seq(int32_t* my_pos_seq);
314 void get_path_scores(
float64_t** my_scores, int32_t* seq_len);
323 void get_path_losses(
float64_t** my_losses, int32_t* seq_len);
338 m_end_state_distribution_q[offset]=value;
347 m_initial_state_distribution_p[offset]=value;
358 m_transition_matrix_a.element(line_,column)=value;
368 return m_end_state_distribution_q[offset];
378 return m_end_state_distribution_q_deriv[offset];
388 return m_initial_state_distribution_p[offset];
398 return m_initial_state_distribution_p_deriv[offset];
404 void precompute_content_values();
414 m_lin_feat.get_array_size(dim1, dim2);
415 return m_lin_feat.get_array();
427 m_lin_feat.set_array(p_lin_feat, p_num_svms, p_seq_len,
true,
true);
433 void create_word_string();
437 void precompute_stop_codons();
447 return m_transition_matrix_a.element(line_, column);
458 return m_transition_matrix_a_deriv.element(line_, column);
466 void set_intron_list(
CIntronList* intron_list, int32_t num_plifs);
471 return m_seg_loss_obj;
482 m_long_transitions = use_long_transitions;
483 m_long_transition_threshold = threshold;
501 void lookup_content_svm_values(
const int32_t from_state,
502 const int32_t to_state,
const int32_t from_pos,
const int32_t to_pos,
512 inline void lookup_tiling_plif_values(
const int32_t from_state,
513 const int32_t to_state,
const int32_t len,
float64_t* svm_values);
519 inline int32_t find_frame(
const int32_t from_state);
529 inline int32_t raw_intensities_interval_query(
530 const int32_t from_pos,
const int32_t to_pos,
float64_t* intensities, int32_t type);
532 #ifndef DOXYGEN_SHOULD_SKIP_THIS 534 struct svm_values_struct
550 int32_t **num_unique_words;
552 #endif // DOXYGEN_SHOULD_SKIP_THIS 562 bool extend_orf(int32_t orf_from, int32_t orf_to, int32_t start, int32_t &last_pos, int32_t to);
565 virtual const char*
get_name()
const {
return "DynProg"; }
569 T_STATES trans_list_len;
570 T_STATES **trans_list_forward;
571 T_STATES *trans_list_forward_cnt;
573 int32_t **trans_list_forward_id;
574 bool mem_initialized;
576 #ifdef DYNPROG_TIMING 768 static int32_t word_degree_default[4];
773 static int32_t cum_num_words_default[5];
777 static int32_t frame_plifs[3];
781 static int32_t num_words_default[4];
784 static int32_t mod_words_default[32];
787 static bool sign_words_default[16];
790 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