/******************************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);