13 #ifndef __CDYNPROG_H__
14 #define __CDYNPROG_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 ;
273 bool use_orf, int16_t nbest,
bool with_loss,
bool with_multiple_sequences);
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);
500 const int32_t to_state,
const int32_t from_pos,
const int32_t to_pos,
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);
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
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_a(T_STATES line_, T_STATES column) const
CDynamicArray< int32_t > m_positions
void best_path_trans_deriv(int32_t *my_state_seq, int32_t *my_pos_seq, int32_t my_seq_len, const float64_t *seq_array, int32_t max_num_signals)
CDynamicArray< float64_t > m_dict_weights
static int32_t cum_num_words_default[5]
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
void set_dict_weights(SGMatrix< float64_t > dictionary_weights)
void set_my_state_seq(int32_t *my_state_seq)
void set_plif_matrices(CPlifMatrix *pm)
void create_word_string()
int32_t m_N
number of states
T_STATES get_N() const
access function for number of states N
void set_observation_matrix(SGNDArray< float64_t > seq)
float64_t get_a_deriv(T_STATES line_, T_STATES column) const
void set_gene_string(SGVector< char > genestr)
void set_orf_info(SGMatrix< int32_t > orf_info)
void get_path_scores(float64_t **my_scores, int32_t *seq_len)
CDynamicArray< int32_t > m_transition_matrix_a_id
transition matrix
CDynamicArray< int32_t > m_word_degree
int32_t * m_cum_num_words_array
SGVector< float64_t > get_scores()
float64_t get_q(T_STATES offset) const
int32_t * m_mod_words_array
CDynamicArray< float64_t > m_lin_feat
float64_t get_p(T_STATES offset) const
int32_t raw_intensities_interval_query(const int32_t from_pos, const int32_t to_pos, float64_t *intensities, int32_t type)
int32_t m_num_intron_plifs
void best_path_set_segment_ids_mask(int32_t *segment_ids, float64_t *segment_mask, int32_t m)
void set_pos(SGVector< int32_t > pos)
CDynamicArray< float64_t > m_initial_state_distribution_p_deriv
int32_t get_num_positions()
CDynProg(int32_t p_num_svms=8)
CSparseFeatures< float64_t > * m_seq_sparse1
CSparseFeatures< float64_t > * m_seq_sparse2
int32_t * m_num_probes_cum
void precompute_content_values()
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
int32_t find_frame(const int32_t from_state)
void init_mod_words_array(SGMatrix< int32_t > p_mod_words_array)
void set_a(SGMatrix< float64_t > a)
CDynamicArray< float64_t > m_transition_matrix_a_deriv
void set_p(T_STATES offset, float64_t value)
void set_intron_list(CIntronList *intron_list, int32_t num_plifs)
Class SGObject is the base class of all shogun objects.
void set_q_vector(SGVector< float64_t > q)
CDynamicArray< int32_t > m_num_unique_words
CDynamicArray< float64_t > m_transition_matrix_a
static int32_t mod_words_default[32]
void resize_lin_feat(int32_t num_new_feat)
void precompute_stop_codons()
CDynamicArray< bool > m_genestr_stop
void lookup_content_svm_values(const int32_t from_state, const int32_t to_state, const int32_t from_pos, const int32_t to_pos, float64_t *svm_values, int32_t frame)
CDynamicArray< int32_t > m_orf_info
CDynamicArray< float64_t > m_segment_sum_weights
SGMatrix< int32_t > get_positions()
int32_t * m_string_words_array
CDynamicArray< int32_t > m_my_pos_seq
SGMatrix< int32_t > get_states()
CDynamicArray< int32_t > m_states
static int32_t frame_plifs[3]
CDynamicArray< int32_t > m_cum_num_words
void best_path_set_segment_loss(SGMatrix< float64_t > segment_loss)
CDynamicArray< int32_t > m_string_words
CDynamicArray< int32_t > m_pos
void set_content_type_array(SGMatrix< float64_t > seg_path)
Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an a...
void precompute_tiling_plifs(CPlif **PEN, const int32_t *tiling_plif_ids, const int32_t num_tiling_plifs)
int32_t m_long_transition_threshold
float64_t get_q_deriv(T_STATES offset) const
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)
void set_a_trans_matrix(SGMatrix< float64_t > a_trans)
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
void set_my_pos_seq(int32_t *my_pos_seq)
CDynamicArray< float64_t > m_scores
void set_array(T *p_array, int32_t p_num_elements, int32_t array_size)
float64_t get_p_deriv(T_STATES offset) const
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
void set_p_vector(SGVector< float64_t > p)
void get_path_losses(float64_t **my_losses, int32_t *seq_len)
CIntronList * m_intron_list
const T & element(int32_t idx1, int32_t idx2=0, int32_t idx3=0) const
void init_tiling_data(int32_t *probe_pos, float64_t *intensities, const int32_t num_probes)
virtual const char * get_name() const
static bool sign_words_default[16]
static int32_t word_degree_default[4]
void set_num_states(int32_t 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()
bool extend_orf(int32_t orf_from, int32_t orf_to, int32_t start, int32_t &last_pos, int32_t to)
static int32_t string_words_default[16]
static int32_t num_words_default[4]
CDynamicArray< int32_t > m_my_state_seq
void init_content_svm_value_array(const int32_t p_num_svms)
void compute_nbest_paths(int32_t max_num_signals, bool use_orf, int16_t nbest, bool with_loss, bool with_multiple_sequences)
void lookup_tiling_plif_values(const int32_t from_state, const int32_t to_state, const int32_t len, float64_t *svm_values)
store plif arrays for all transitions in the model
bool * m_sign_words_array
void set_sparse_features(CSparseFeatures< float64_t > *seq_sparse1, CSparseFeatures< float64_t > *seq_sparse2)
void set_a_id(SGMatrix< int32_t > a)