WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / H / profiledist.h
1 #ifndef __VIENNA_RNA_PACKAGE_PROFILEDIST_H__
2 #define __VIENNA_RNA_PACKAGE_PROFILEDIST_H__
3
4 #ifdef __GNUC__
5 #define DEPRECATED(func) func __attribute__ ((deprecated))
6 #else
7 #define DEPRECATED(func) func
8 #endif
9
10 #include "data_structures.h"
11
12 /** \file profiledist.h  */
13
14 /**
15  *  \brief Align the 2 probability profiles T1, T2\n
16  * 
17  *  This is like a Needleman-Wunsch alignment,
18  *  we should really use affine gap-costs ala Gotoh
19  */
20 float profile_edit_distance(const float *T1,
21                             const float *T2);
22
23 /**
24  *  \brief condense pair probability matrix into a vector containing probabilities
25  *  for unpaired, upstream paired and downstream paired.
26  * 
27  *  This resulting probability profile is used as input for profile_edit_distance
28  * 
29  *  \param bppm   A pointer to the base pair probability matrix
30  *  \param length The length of the sequence
31  *  \returns      The bp profile
32  */
33 float *Make_bp_profile_bppm(FLT_OR_DBL *bppm,
34                             int length);
35
36 /**
37  *  \brief print string representation of probability profile
38  */
39 void  print_bppm(const float *T);
40
41 /**
42  *  \brief free space allocated in Make_bp_profile
43  * 
44  *  Backward compatibility only. You can just use plain free()
45  */
46 void  free_profile(float *T);
47
48 /**
49  *  \note This function is NOT threadsafe
50  * 
51  *  \see Make_bp_profile_bppm()
52  * 
53  *  \deprecated This function is deprecated and will be removed soon! See \ref Make_bp_profile_bppm() for a replacement
54  * 
55  */
56 DEPRECATED(float *Make_bp_profile(int length));
57
58 #endif