JWS-112 Bumping version of T-Coffee to version 11.00.8cbe486.
[jabaws.git] / binaries / src / tcoffee / t_coffee_source / dp_lib / evaluate.h
diff --git a/binaries/src/tcoffee/t_coffee_source/dp_lib/evaluate.h b/binaries/src/tcoffee/t_coffee_source/dp_lib/evaluate.h
new file mode 100644 (file)
index 0000000..9dbb7b6
--- /dev/null
@@ -0,0 +1,185 @@
+/******************************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*******************************/
+/*********************************************************************************************/
+/*                                                                                           */
+/*         FUNCTIONS FOR EVALUATING THE CONSISTENCY BETWEEN ALN AND CL                       */
+/*                                                                                           */
+/*********************************************************************************************/
+Alignment * overlay_alignment_evaluation     ( Alignment *I, Alignment *O);
+Alignment * main_coffee_evaluate_output          ( Alignment *IN,Constraint_list *CL, const char *mode );
+int aln2ecl_raw_score (Alignment *A, Constraint_list *C);
+int sub_aln2ecl_raw_score (Alignment *A, Constraint_list *CL, int ns, int *ls);
+int sub_aln2sub_aln_raw_score ( Alignment *IN,Constraint_list *CL, const char *mode, int *ns, int **ls);
+int node2sub_aln_score(Alignment *A,Constraint_list *CL, char *mode, NT_node T);
+int sub_aln2sub_aln_score ( Alignment *IN,Constraint_list *CL, const char *mode, int *ns, int **ls);
+Alignment *  main_coffee_evaluate_output_sub_aln ( Alignment *IN,Constraint_list *CL, const char *mode, int *ns, int **ls);
+
+Alignment * categories_evaluate_output               ( Alignment *IN,Constraint_list *CL);
+Alignment * matrix_evaluate_output               ( Alignment *IN,Constraint_list *CL);
+Alignment * sar_evaluate_output ( Alignment *IN,Constraint_list *CL);
+Alignment * boxshade_evaluate_output ( Alignment *IN,Constraint_list *CL, int T);
+Alignment * triplet_coffee_evaluate_output          ( Alignment *IN,Constraint_list *CL);
+Alignment * fast_coffee_evaluate_output          ( Alignment *IN,Constraint_list *CL);
+Alignment * sp3_evaluate4tcoffee (Alignment *RNA, Constraint_list *CLin);
+Alignment * distance_evaluate4tcoffee (Alignment *A, Constraint_list *CL, float max, float delta, int enb);
+Alignment * strike_evaluate4tcoffee (Alignment *A, Constraint_list *CL,char *matrix);
+Alignment * struc_evaluate4tcoffee (Alignment *A, Constraint_list *CL,char *mode,float max, int enb,char *in_matrix_name);
+Alignment * evaluate_tree_group (Alignment *T, Sequence *G);
+Alignment *treealn_evaluate4tcoffee (Alignment *A, Sequence *G);
+
+int slow_coffee_evaluate_sub_aln         ( Alignment *IN,int *ns, int **ls, Constraint_list *CL);
+Alignment * slow_coffee_evaluate_output          ( Alignment *IN,Constraint_list *CL);
+Alignment * non_extended_t_coffee_evaluate_output( Alignment *IN,Constraint_list *CL);
+Alignment * heuristic_coffee_evaluate_output     ( Alignment *IN,Constraint_list *CL);
+Alignment *coffee_seq_evaluate_output ( Alignment *IN, Constraint_list *CL);
+/*Old Function: To deprecate*/
+Alignment * coffee_evaluate_output ( Alignment *IN,Constraint_list *CL);
+
+/*********************************************************************************************/
+/*                                                                                           */
+/*        PROFILE/PRofile Functions                                                          */
+/*                                                                                           */
+/*********************************************************************************************/
+Profile_cost_func get_profile_mode_function (char *name, Profile_cost_func func);
+int generic_evaluate_profile_score     (Constraint_list *CL,Alignment *Prf1, int s1, int r1, Alignment *Prf2, int s2, int r2, Profile_cost_func prf_prf);
+int cw_profile_profile     (int *prf1, int *prf2, Constraint_list *CL);
+int muscle_profile_profile     (int *prf1, int *prf2, Constraint_list *CL);
+
+/*********************************************************************************************/
+/*                                                                                           */
+/*         FUNCTIONS FOR GETING THE COST : (Sequences) ->evaluate_residue_pair               */
+/*                                                                                           */
+/*********************************************************************************************/
+int initialize_scoring_scheme (Constraint_list *CL);
+int evaluate_blast_profile_score (Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_aln_profile_score   (Constraint_list *CL, int s1, int r1, int s2, int r2);
+
+int evaluate_profile_score                         ( Constraint_list *CL,Alignment *Prf1, int s1, int r1, Alignment *Prf2, int s2, int r2);
+int evaluate_cdna_matrix_score                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_diaa_matrix_score                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_monoaa_matrix_score                   ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_matrix_score                          ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_tm_matrix_score                          ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_ssp_matrix_score                          ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_curvature_score                          ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+
+int evaluate_combined_matrix_score                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int evaluate_physico_score                         ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_non_extended_list                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+
+int residue_pair_extended_list4rna1                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list4rna2                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list4rna3                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list4rna4                 ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list4rna                  ( Constraint_list *CL, Constraint_list *R, int s1, int r1, int s2, int r2);
+
+int residue_pair_extended_list_raw                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list_pc                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list_4gp                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+
+
+
+
+int residue_pair_extended_list_g_coffee_quadruplet ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list_g_coffee            ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list_quadruplet          ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_extended_list_mixt                ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int residue_pair_test_function                     ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+int extend_residue_pair                            ( Constraint_list *CL, int s1, int r1, int s2, int r2);
+
+int residue_pair_relative_extended_list ( Constraint_list *CL, int s1, int r1, int s2, int r2 );
+/*********************************************************************************************/
+/*                                                                                           */
+/*         FUNCTIONS FOR GETTING THE PW COST :  CL->get_dp_cost                                     */
+/*                                                                                           */
+/*********************************************************************************************/
+int get_dp_cost_blosum_matrix (Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int get_dp_cost_pam_matrix (Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int get_dp_cost_pw_matrix (Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int get_cdna_best_frame_dp_cost ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int get_dp_cost                 ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int get_dp_cost_quadruplet      ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+      
+
+int very_fast_get_dp_cost       ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int cw_profile_get_dp_cost ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int cw_profile_get_dp_cost_window ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int consensus_get_dp_cost ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int fast_get_dp_cost            ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int fast_get_dp_cost_2          ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int fast_get_dp_cost_3          ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int fast_get_dp_cost_quadruplet ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int check_fast_profile_mode    (Alignment *A, int ns1,int *list1,int ns2, int *list2, Constraint_list *CL);
+int check_fast_mode    (Alignment *A, int ns1,int *list1,int ns2, int *list2, Constraint_list *CL);
+
+
+int slow_get_dp_cost            ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int slow_get_dp_cost_pc         ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int slow_get_dp_cost_test       ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+
+int sw_get_dp_cost              ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2, Constraint_list *CL);
+int get_domain_dp_cost          ( Alignment *A, int**pos1, int ns1, int*list1, int col1, int**pos2, int ns2, int*list2, int col2,Constraint_list *CL , int scale , int gop, int gep);
+
+/*********************************************************************************************/
+/*                                                                                           */
+/*         FUNCTIONS FOR ANALYSING AL OR MATRIX                                              */
+/*                                                                                           */
+/*********************************************************************************************/
+float ** initialise_aa_physico_chemical_property_table (int *n);
+int aln2n_res ( Alignment *A, int start, int end);
+float get_gop_scaling_factor ( int **matrix,float id, int l1, int l2);
+float get_avg_matrix_mm ( int **matrix, char *alphabet);
+float get_avg_matrix_match ( int **matrix, char *alphabet);
+float get_avg_matrix_diff ( int **matrix1,int **matrix2, char *alphabet);
+float measure_matrix_enthropy (int **matrix,char *alphabet);
+float measure_matrix_pos_avg (int **matrix,char *alphabet);
+float evaluate_random_match (char *matrix, int n, int len,char *alp);
+float compare_two_mat (char  *mat1,char*mat2, int n, int len,char *alp);
+float compare_two_mat_array (int  **matrix1,int **matrix2, int n, int len,char *alp);
+int ** rescale_two_mat (char  *mat1,char*mat2, int n, int len,char *alp);
+int ** rescale_matrix ( int **mat, float lambda, char *alp);
+int **mat2inverted_mat (int **matrix, char *alp);
+void output_matrix_header ( char *name, int **matrix, char *alp);
+float evaluate_random_match2 (int **matrix, int n, int len,char *alp);
+float measure_lambda2(char  *mat1,char*mat2, int n, int len,char *alp);
+float measure_lambda(char  *mat1,char*mat2, int n, int len,char *alp);
+Constraint_list * choose_extension_mode ( char *extend_mode, Constraint_list *CL);
+int ** combine_two_matrices ( int **mat1, int **mat2);
+/*********************************************************************************************/
+/*                                                                                           */
+/*         OFF THE SHELVES EVALUATION                                              */
+/*                                                                                           */
+/*********************************************************************************************/
+float  sum_pair ( Alignment*A,char *mat_name, int gap_op, int gap_ext);
+int lat_sum_pair (Alignment *A, char *mat);