1 /* $Id: resulthr.h 218147 2019-01-16 21:28:41Z twu $ */ 2 #ifndef RESULTHR_INCLUDED 3 #define RESULTHR_INCLUDED 4 5 typedef struct Result_T *Result_T; 6 7 #include "bool.h" 8 #include "samflags.h" /* for SAM_split_output_type */ 9 10 /* PAIRED_UNSPECIFIED assigned only by Stage1hr_paired_read */ 11 typedef enum {CONCORDANT, PAIRED_UNSPECIFIED, PAIRED_INVERSION, PAIRED_SCRAMBLE, PAIRED_TOOLONG, 12 CONCORDANT_TRANSLOCATIONS, UNPAIRED, UNSPECIFIED} Pairtype_T; 13 14 typedef enum {SINGLEEND_NOMAPPING, PAIREDEND_NOMAPPING, 15 SINGLEEND_UNIQ, SINGLEEND_TRANSLOC, SINGLEEND_MULT, 16 PAIRED_UNIQ, PAIRED_MULT, 17 CONCORDANT_UNIQ, CONCORDANT_TRANSLOC, CONCORDANT_MULT, 18 HALFMAPPING_UNIQ, HALFMAPPING_TRANSLOC, HALFMAPPING_MULT, 19 UNPAIRED_UNIQ, UNPAIRED_TRANSLOC, UNPAIRED_MULT} Resulttype_T; 20 21 22 #define T Result_T 23 24 extern char * 25 Pairtype_string (Pairtype_T pairtype); 26 extern Resulttype_T 27 Result_resulttype (T this); 28 extern char * 29 Resulttype_string (Resulttype_T resulttype); 30 extern int 31 Result_id (T this); 32 extern int 33 Result_worker_id (T this); 34 extern void ** 35 Result_array (int *npaths_primary, int *npaths_altloc, int *first_absmq, int *second_absmq, T this); 36 extern void ** 37 Result_array2 (int *npaths_primary, int *npaths_altloc, int *first_absmq, int *second_absmq, T this); 38 extern T 39 Result_single_read_new (int id, void **resultarray, int npaths_primary, int npaths_altloc, 40 int first_absmq, int second_absmq); 41 extern T 42 Result_paired_read_new (int id, void **resultarray, int npaths_primary, int npaths_altloc, 43 int first_absmq, int second_absmq, 44 Pairtype_T final_pairtype); 45 extern T 46 Result_paired_as_singles_new (int id, void **hits5, int npaths5_primary, int npaths5_altloc, 47 int first_absmq5, int second_absmq5, 48 void **hits3, int npaths3_primary, int npaths3_altloc, 49 int first_absmq3, int second_absmq3); 50 extern void 51 Result_free (T *old); 52 53 #undef T 54 #endif 55 56