JWS-112 Bumping version of T-Coffee to version 11.00.8cbe486.
[jabaws.git] / binaries / src / tcoffee / t_coffee_source / util_lib / util_aln_analyze.h
diff --git a/binaries/src/tcoffee/t_coffee_source/util_lib/util_aln_analyze.h b/binaries/src/tcoffee/t_coffee_source/util_lib/util_aln_analyze.h
new file mode 100644 (file)
index 0000000..18a57cc
--- /dev/null
@@ -0,0 +1,138 @@
+/******************************COPYRIGHT NOTICE*******************************/
+/*  (c) Centro de Regulacio Genomica                                                        */
+/*  and                                                                                     */
+/*  Cedric Notredame                                                                        */
+/*  12 Aug 2014 - 22:07.                                                                    */
+/*All rights reserved.                                                                      */
+/*This file is part of T-COFFEE.                                                            */
+/*                                                                                          */
+/*    T-COFFEE is free software; you can redistribute it and/or modify                      */
+/*    it under the terms of the GNU General Public License as published by                  */
+/*    the Free Software Foundation; either version 2 of the License, or                     */
+/*    (at your option) any later version.                                                   */
+/*                                                                                          */
+/*    T-COFFEE is distributed in the hope that it will be useful,                           */
+/*    but WITHOUT ANY WARRANTY; without even the implied warranty of                        */
+/*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                         */
+/*    GNU General Public License for more details.                                          */
+/*                                                                                          */
+/*    You should have received a copy of the GNU General Public License                     */
+/*    along with Foobar; if not, write to the Free Software                                 */
+/*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA             */
+/*...............................................                                           */
+/*  If you need some more information                                                       */
+/*  cedric.notredame@europe.com                                                             */
+/*...............................................                                           */
+/******************************COPYRIGHT NOTICE*******************************/
+
+struct orp
+{
+  char name[100];
+  char mode[100];
+  int ncomp;
+  int nseq;
+  int len;
+  
+  Alignment *A;
+  Alignment *P;
+  Alignment *S;
+  
+  int *pos;
+  char ***motif;
+  float sp;
+  float sn;
+  float sen2;
+  float best;
+  int tp;
+  int tn;
+  int fp;
+  int fn;
+
+  int offset;
+  float evalue;
+  struct orp *PR; 
+};
+
+typedef struct orp ORP;
+
+typedef Alignment * (*filter_func) (Alignment *, Alignment*, int,int, char *);
+/************************************************************************************/
+/*                ALIGNMENT ANALYZE     : SAR                                            */
+/************************************************************************************/
+int display_simple_sar_analyze_pair_col (Alignment *A, Alignment *SAR, char *mode);
+int **simple_sar_analyze_pair_col ( Alignment *inA, Alignment *SAR, char *mode);
+int ***simple_sar_predict ( Alignment *inA, Alignment *SAR, char *mode);
+int display_simple_sar_analyze_col ( Alignment *inA, Alignment *SAR, char *mode);
+Alignment *sar_analyze4  (Alignment *A, Alignment *SAR, char *name);/*28/08/06*/
+Alignment *sar_analyze3  (Alignment *A, Alignment *SAR, char *name);
+Alignment *sar_analyze2  (Alignment *A, Alignment *SAR, char *name);
+Alignment *sar_analyze  (Alignment *A, Alignment *SAR, char *name);
+int aln2sar_column_list ( Alignment *A, char *filter);
+float get_sar_sim (char *seq1, char *seq2);
+float get_sar_sim2 (char *seq1, char *seq2);
+Alignment *aln2weighted_sar_score ( Alignment *A,Alignment *B, char *weight_file, char *compound);
+float seq2weighted_sar_score ( char *seq, int **weight);
+
+int sarset2subsarset ( Alignment *A, Alignment *S, Alignment **subA, Alignment **subS, Alignment *SUB);
+int sar2subsar (Alignment *A, Alignment *S, Alignment **subA, Alignment **subS, char **slist, int nl);
+int sar2subsar_file ( Alignment *A, Alignment *S, char *aln, char *sar);
+
+Alignment *weight2sar (Alignment *A, Alignment *SAR, char *weight_file, int limit);
+Alignment * sar2simpred (Alignment *A, Alignment *SAR, char *pos, char *compound, int L,int U );
+Alignment * sar2simpred2 (Alignment *A, Alignment *SAR, char *seqlist, char *posfile, char *compound, int L1 );
+
+Alignment *display_sar ( Alignment *A, Alignment *SAR, char *compound);
+NT_node sar2tree (Alignment *A, char *mode);
+/************************************************************************************/
+/*                ALIGNMENT ANALYZE     : SAR FOR OR                                */
+/************************************************************************************/
+
+Alignment * or_scan (Alignment *A, Alignment *B, char *param);
+Alignment * or_sar  (Alignment *A, Alignment *B, char *param, int print);
+ORP * or_loo ( Alignment *inA, Alignment *inS, char *mode, int *pos,int print);
+
+
+ORP * combine_n_predictions (ORP **R,Alignment *A, Alignment *B);
+ORP* combine_2_predictions ( ORP *IN, ORP *TO,Alignment *A, Alignment *B);
+ORP * display_or_summary (ORP *CP, char *mode, FILE *fp, int print);
+
+Alignment * or_comp_loo ( Alignment *inA, Alignment *inS, char *mode, int *pos,int print);
+int * or_comp_pos ( Alignment *inA, Alignment *inS, char *mode,int print);
+float or_id_evaluate ( Alignment *A, Alignment *S, char *mode, int *pos, int print);
+char* or_id_evaluate2  ( Alignment *A, Alignment *S, char *mode, int *pos, int print, float *score);
+float or_loo_evaluate ( Alignment *A, Alignment *S, char *mode, int *pos, int print);
+float or_loo_evaluate2 ( Alignment *A, Alignment *S, char *mode, int *pos, int print);
+
+Alignment * or_test ( Alignment *inA, Alignment *inS, char *mode);
+Alignment * or_jack(Alignment *A, Alignment *S, char *param);
+Alignment * or_predict(Alignment *A, Alignment *S, char *mode);
+Alignment * or_aln2pos_aln (Alignment *A, Alignment *S, char *mode);
+ORP* or_self_predict(Alignment *inA, Alignment *inS, char *mode, int *pos, int print);
+Alignment * or_sim(Alignment *A, Alignment *S, char *mode);
+
+Alignment *display_pos (Alignment *A, Alignment *B, int *pos, char *mode);
+
+float evaluate_prediction  (Alignment *R, Alignment *P, char *mode, int print);
+ORP* new_evaluate_prediction  (ORP *P, char *mode, int print);
+
+Alignment * aln2prediction (Alignment *A,char ***motif, int *pos);
+int *   aln2predictive_positions (Alignment *A, Alignment *B, char *mode, int print);
+int *   aln2predictive_positions_mat  (Alignment *A, Alignment *B, char *mode, int print);
+int *   aln2predictive_positions_scan (Alignment *A, Alignment *B, char *mode, int print);
+char *** compounds2motifs (Alignment *A, Alignment *B, int *pos, int depth, char *mode, int print);
+char ** compound2motif (Alignment *A, Alignment *B, int *pos, int depth, int c, char *mode, int print);
+double pos2sim (Alignment *A, Alignment *B, int *pos);
+double  sar_aln2r (Alignment *A, Alignment *B, int *pos, int print);
+double sar_aln2delta (Alignment *A, Alignment *B, int *pos, int print);
+Alignment * jack_sar(Alignment *A, Alignment *S, char *param);
+Alignment *set_sar (Alignment *A, Alignment *S, char *param);
+char * get_compound_name (int c, char *mode);
+Alignment *get_prediction_target (Alignment *A, Alignment *S, char *param);
+int *   file2pos_list (Alignment *A, char *posfile);
+ORP * declare_or_prediction ( int ncomp, int nseq, int len);
+void free_orp_list ( ORP**P);
+void free_orp ( ORP*P);
+double evaluate_sar_score1 ( int len, int n11, int n1a, int n1b);
+double evaluate_sar_score2 ( int len, int n11, int n1a, int n1b);
+
+Sequence * compare_sar_sequence( Sequence *S1, Sequence *S2, int depth);