1 #ifndef VIENNA_RNA_PACKAGE_DIST_VARS_H 2 #define VIENNA_RNA_PACKAGE_DIST_VARS_H 3 4 /** 5 * @file dist_vars.h 6 * @brief Global variables for Distance-Package 7 */ 8 9 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY 10 11 /** 12 * @brief Produce an alignment of the two structures being compared by 13 * tracing the editing path giving the minimum distance. 14 * 15 * set to 1 if you want backtracking 16 */ 17 extern int edit_backtrack; 18 19 /** 20 * @brief Contains the two aligned structures after a call to one of the distance 21 * functions with #edit_backtrack set to 1. 22 */ 23 extern char *aligned_line[4]; 24 25 /** 26 * @brief Specify the cost matrix to be used for distance calculations 27 * 28 * if 0, use the default cost matrix (upper matrix in example), otherwise 29 * use Shapiro's costs (lower matrix). 30 */ 31 extern int cost_matrix; 32 33 /* Global type defs for Distance-Package */ 34 35 /** 36 * @brief Postorder data structure 37 */ 38 typedef struct { 39 int type; 40 int weight; 41 int father; 42 int sons; 43 int leftmostleaf; 44 } Postorder_list; 45 46 /** 47 * @brief Tree data structure 48 */ 49 typedef struct { 50 Postorder_list *postorder_list; 51 int *keyroots; 52 } Tree; 53 54 /** 55 * @brief Some other data structure 56 */ 57 typedef struct { 58 int type; 59 int sign; 60 float weight; 61 } swString; 62 #endif 63 64 #endif 65