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