RNAlib-2.2.3
perturbation_fold.h
1 #ifndef VIENNA_RNA_PACKAGE_PERTURBATION_FOLD_H
2 #define VIENNA_RNA_PACKAGE_PERTURBATION_FOLD_H
3 
4 #include "data_structures.h"
5 
13 #define VRNA_OBJECTIVE_FUNCTION_QUADRATIC 0
14 
22 #define VRNA_OBJECTIVE_FUNCTION_ABSOLUTE 1
23 
29 #define VRNA_MINIMIZER_DEFAULT 0
30 
38 #define VRNA_MINIMIZER_CONJUGATE_FR 1
39 
47 #define VRNA_MINIMIZER_CONJUGATE_PR 2
48 
56 #define VRNA_MINIMIZER_VECTOR_BFGS 3
57 
65 #define VRNA_MINIMIZER_VECTOR_BFGS2 4
66 
74 #define VRNA_MINIMIZER_STEEPEST_DESCENT 5
75 
85 typedef void (*progress_callback)(int iteration, double score, double *epsilon);
86 
127  const double *q_prob_unpaired,
128  int objective_function,
129  double sigma_squared,
130  double tau_squared,
131  int algorithm,
132  int sample_size,
133  double *epsilon,
134  double initialStepSize,
135  double minStepSize,
136  double minImprovement,
137  double minimizerTolerance,
138  progress_callback callback);
139 
140 #endif
void(* progress_callback)(int iteration, double score, double *epsilon)
Callback for following the progress of the minimization process.
Definition: perturbation_fold.h:85
The most basic data structure required by many functions throughout the RNAlib.
Definition: data_structures.h:389
void vrna_sc_minimize_pertubation(vrna_fold_compound_t *vc, const double *q_prob_unpaired, int objective_function, double sigma_squared, double tau_squared, int algorithm, int sample_size, double *epsilon, double initialStepSize, double minStepSize, double minImprovement, double minimizerTolerance, progress_callback callback)
Find a vector of perturbation energies that minimizes the discripancies between predicted and observe...