WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / H / snoop.h
diff --git a/binaries/src/ViennaRNA/H/snoop.h b/binaries/src/ViennaRNA/H/snoop.h
new file mode 100644 (file)
index 0000000..cb8a05f
--- /dev/null
@@ -0,0 +1,284 @@
+#ifndef __VIENNA_RNA_PACKAGE_SNOOP_H__
+#define __VIENNA_RNA_PACKAGE_SNOOP_H__
+
+#include "data_structures.h"
+/** 
+*** computes snoRNA-RNA interactions in RNAduplex manner
+**/
+
+snoopT snoopfold( const char *s1,
+                  const char *s2, 
+                  const int penalty,
+                  const int threshloop, 
+                  const int threshLE,
+                  const int threshRE,
+                  const int threshDE,
+                  const int threshD,
+                  const int half_stem,
+                  const int max_half_stem,
+                  const int min_s2,
+                  const int max_s2,
+                  const int min_s1,
+                  const int max_s1,
+                  const int min_d1,
+                  const int min_d2,
+                 const int fullStemEnergy);
+
+/** 
+*** computes snoRNA-RNA suboptimal interactions in RNAduplex manner
+**/
+
+
+snoopT *snoop_subopt( const char *s1,
+                      const char *s2,
+                      int delta,
+                      int w,
+                      const int penalty,
+                      const int threshloop, 
+                      const int threshLE,
+                      const int threshRE,
+                      const int threshDE,
+                      const int threshTE,
+                      const int threshSE,
+                      const int threshD,
+                      const int distance,
+                      const int half_stem,
+                      const int max_half_stem,
+                      const int min_s2,
+                      const int max_s2,
+                      const int min_s1,
+                      const int max_s1,
+                      const int min_d1,
+                      const int min_d2,
+                     const int fullStemEnergy);
+
+/** 
+*** computes snoRNA-RNA suboptimal interactions in a RNAplex manner
+**/
+
+
+
+void Lsnoop_subopt( const char *s1,
+                    const char *s2,
+                    int delta,
+                    int w, 
+                    const int penalty,
+                    const int threshloop, 
+                    const int threshLE,
+                    const int threshRE,
+                    const int threshDE,
+                    const int threshTE,
+                    const int threshSE,
+                    const int threshD,
+                    const int distance,
+                    const int half_stem,
+                    const int max_half_stem,
+                    const int min_s2,
+                    const int max_s2,
+                    const int min_s1,
+                    const int max_s1,
+                    const int min_d1,
+                    const int min_d2,
+                    const int alignment_length,
+                    const char* name,
+                   const int fullStemEnergy);
+
+/** 
+*** computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20%
+**/
+
+
+
+void Lsnoop_subopt_list ( const char *s1,
+                          const char *s2,
+                          int delta,
+                          int w, 
+                          const int penalty,
+                          const int threshloop, 
+                          const int threshLE,
+                          const int threshRE,
+                          const int threshDE,
+                          const int threshTE,
+                          const int threshSE,
+                          const int threshD,
+                          const int distance,
+                          const int half_stem,
+                          const int max_half_stem,
+                          const int min_s2,
+                          const int max_s2,
+                          const int min_s1,
+                          const int max_s1,
+                          const int min_d1,
+                          const int min_d2,
+                          const int alignment_length,
+                          const char *name,
+                         const int fullStemEnergy);
+
+/** 
+*** computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20%. It considers accessibility
+**/
+
+
+void Lsnoop_subopt_list_XS (const char *s1,
+                            const char *s2,
+                            const int **access_s1,
+                            int delta,
+                            int w, 
+                            const int penalty,
+                            const int threshloop, 
+                            const int threshLE,
+                            const int threshRE,
+                            const int threshDE,
+                            const int threshTE,
+                            const int threshSE,
+                            const int threshD,
+                            const int distance,
+                            const int half_stem,
+                            const int max_half_stem,
+                            const int min_s2,
+                            const int max_s2,
+                            const int min_s1,
+                            const int max_s1,
+                            const int min_d1,
+                            const int min_d2,
+                            const int alignment_length,
+                            const char *name,
+                           const int fullStemEnergy);
+
+
+/** 
+*** computes snoRNA-RNA suboptimal interactions in a RNAduplex manner, and considers accessibility
+**/
+
+
+void snoop_subopt_XS (const char *s1,
+                      const char *s2,
+                      const int **access_s1,
+                      int delta,
+                      int w, 
+                      const int penalty,
+                      const int threshloop, 
+                      const int threshLE,
+                      const int threshRE,
+                      const int threshDE,
+                      const int threshTE,
+                      const int threshSE,
+                      const int threshD,
+                      const int distance,
+                      const int half_stem,
+                      const int max_half_stem,
+                      const int min_s2,
+                      const int max_s2,
+                      const int min_s1,
+                      const int max_s1,
+                      const int min_d1,
+                      const int min_d2,
+                      const int alignment_length,
+                      const char *name,
+                     const int fullStemEnergy);
+
+/**
+*** aliduplex-like alignment version of snoop_subopt
+ **/
+
+snoopT *alisnoop_subopt(const char **s1,
+                        const char **s2,
+                        int delta,
+                        int w,
+                        const int penalty,
+                        const int threshloop, 
+                        const int threshLE,
+                        const int threshRE,
+                        const int threshDE,
+                        const int threshTE,
+                        const int threshSE,
+                        const int threshD,
+                        const int distance,
+                        const int half_stem,
+                        const int max_half_stem,
+                        const int min_s2,
+                        const int max_s2,
+                        const int min_s1,
+                        const int max_s1,
+                        const int min_d1,
+                        const int min_d2);
+
+/**
+*** RNAplex-like Alignment version of snoop_subopt
+ **/
+
+
+
+snoopT *aliLsnoop_subopt_list ( const char **s1,
+                                const char **s2,
+                                int delta,
+                                int w, 
+                                const int penalty,
+                                const int threshloop, 
+                                const int threshLE,
+                                const int threshRE,
+                                const int threshDE,
+                                const int threshTE,
+                                const int threshSE,
+                                const int threshD,
+                                const int distance,
+                                const int half_stem,
+                                const int max_half_stem,
+                                const int min_s2,
+                                const int max_s2,
+                                const int min_s1,
+                                const int max_s1,
+                                const int min_d1,
+                                const int min_d2,
+                                const int alignment_length);
+/**
+*** RNAaliduplex-like version of snoopfold
+**/
+
+
+snoopT alisnoopfold(const char **s1,
+                    const char **s2, 
+                    const int penalty,
+                    const int threshloop,
+                    const int threshLE,
+                    const int threshRE,
+                    const int threshDE,
+                    const int threshD,
+                    const int half_stem,
+                    const int max_half_stem,
+                    const int min_s2,
+                    const int max_s2,
+                    const int min_s1,
+                    const int max_s1,
+                    const int min_d1,
+                    const int min_d2);
+/**
+*** RNAduplex-like version of snoopfold with accessibility information
+**/ 
+
+snoopT snoopfold_XS(const char *s1,
+                    const char *s2,
+                    const int **access_s1,
+                    const int pos,
+                    const int max_pos_j,
+                    const int penalty,
+                    const int threshloop, 
+                    const int threshLE,
+                    const int threshRE,
+                    const int threshDE,
+                    const int threshD,
+                    const int half_stem,
+                    const int max_half_stem,
+                    const int min_s2,
+                    const int max_s2,
+                    const int min_s1,
+                    const int max_s1,
+                    const int min_d1,
+                    const int min_d2,
+                   const int fullStemEnergy);
+
+
+
+
+extern int snoop_subopt_sorted;
+#endif