1 /* cm_dispatch.h 2 * 3 * Functions that actually do the work for cmalign and cmsearch, 4 * in parallel and serial varieties. 5 * 6 * Eric Nawrocki 7 */ 8 9 #ifndef CMDISPATCH_INCLUDED 10 #define CMDISPATCH_INCLUDED 11 12 #include "esl_config.h" 13 #include "config.h" 14 15 #include "easel.h" 16 #include "esl_sqio.h" 17 18 #include "structs.h" /* data structures, macros, #define's */ 19 #include "funcs.h" /* external functions */ 20 21 extern void 22 serial_search_database (ESL_SQFILE *dbfp, CM_t *cm, const ESL_ALPHABET *abc, CMConsensus_t *cons); 23 extern void 24 parallel_search_database (ESL_SQFILE *dbfp, CM_t *cm, const ESL_ALPHABET *abc, CMConsensus_t *cons, 25 int mpi_my_rank, int mpi_master_rank, int mpi_num_procs) ; 26 extern float 27 actually_search_target(CM_t *cm, ESL_DSQ *dsq, int i0, int j0, float cm_cutoff, 28 float cp9_cutoff, search_results_t *results, int do_filter, 29 int doing_cm_stats, int doing_cp9_stats, int *ret_flen); 30 extern void 31 serial_align_targets(ESL_SQFILE *seqfp, CM_t *cm, ESL_SQ ***ret_sq, Parsetree_t ***ret_tr, 32 char ***ret_postcode, CP9trace_t ***ret_cp9_tr, int *ret_nseq, float **ret_sc, 33 int bdump_level, int debug_level, int silent_mode); 34 extern void 35 parallel_align_targets(ESL_SQFILE *seqfp, CM_t *cm, ESL_SQ ***ret_sq, Parsetree_t ***ret_tr, 36 char ***ret_postcode, CP9trace_t ***ret_cp9_tr, int *ret_nseq, 37 int bdump_level, int debug_level, 38 int silent_mode, int mpi_my_rank, int mpi_master_rank, int mpi_num_procs); 39 extern int 40 actually_align_targets(CM_t *cm, ESL_SQ **sq, int nseq, ESL_DSQ *dsq, search_results_t *results, Parsetree_t ***ret_tr, 41 char ***ret_postcode, CP9trace_t ***ret_cp9_tr, float **ret_sc, int bdump_level, int debug_level, 42 int silent_mode); 43 44 extern int PrintSearchInfo(FILE *fp, CM_t *cm, int cm_mode, int cp9_mode, long N); 45 46 extern int revcomp(const ESL_ALPHABET *abc, ESL_SQ *comp, ESL_SQ *sq); 47 extern int read_next_seq (const ESL_ALPHABET *abc, ESL_SQFILE *dbfp, int do_revcomp, dbseq_t **ret_dbseq); 48 extern void print_results (CM_t *cm, const ESL_ALPHABET *abc, CMConsensus_t *cons, dbseq_t *dbseq, 49 int do_complement, int used_HMM); 50 extern void remove_hits_over_e_cutoff (CM_t *cm, search_results_t *results, ESL_SQ *sq, 51 int used_HMM); 52 #endif 53