1 /* $Id: chimera.h 215899 2018-06-29 21:30:57Z twu $ */ 2 #ifndef CHIMERA_INCLUDED 3 #define CHIMERA_INCLUDED 4 5 typedef struct Chimera_T *Chimera_T; 6 7 #include <stdio.h> 8 #include "bool.h" 9 #include "genome.h" 10 #include "stage3.h" 11 #include "iit-read-univ.h" 12 #include "filestring.h" 13 14 15 #define T Chimera_T 16 17 extern Stage3_T 18 Chimera_left_part (T this); 19 extern Stage3_T 20 Chimera_right_part (T this); 21 extern int 22 Chimera_pos (T this); 23 extern int 24 Chimera_equivpos (T this); 25 extern int 26 Chimera_cdna_direction (T this); 27 extern void 28 Chimera_print_sam_tag (Filestring_T fp, T this, Univ_IIT_T chromosome_iit); 29 extern double 30 Chimera_donor_prob (T this); 31 extern double 32 Chimera_acceptor_prob (T this); 33 34 extern T 35 Chimera_new (Stage3_T from, Stage3_T to, int chimerapos, int chimeraequivpos, 36 int exonexonpos, int cdna_direction, 37 char donor1, char donor2, char acceptor2, char acceptor1, 38 bool donor_watsonp, bool acceptor_watsonp, 39 double donor_prob, double acceptor_prob); 40 extern void 41 Chimera_free (T *old); 42 extern void 43 Chimera_print (Filestring_T fp, T this); 44 45 extern int 46 Chimera_alignment_break (int *newstart, int *newend, Stage3_T stage3, int queryntlength, double fthreshold); 47 extern bool 48 Chimera_local_join_p (Stage3_T from, Stage3_T to, int chimera_slop); 49 extern bool 50 Chimera_distant_join_p (Stage3_T from, Stage3_T to, int chimera_slop); 51 extern bool 52 Chimera_bestpath (int *five_score, int *three_score, int *chimerapos, int *chimeraequivpos, int *bestfrom, int *bestto, 53 Stage3_T *stage3array_sub1, int npaths_sub1, Stage3_T *stage3array_sub2, int npaths_sub2, 54 int queryntlength, int chimera_slop, bool *circularp, bool localp); 55 extern int 56 Chimera_find_breakpoint (int *chimeraequivpos, int *rangelow, int *rangehigh, 57 char *donor1, char *donor2, char *acceptor2, char *acceptor1, 58 Stage3_T left_part, Stage3_T right_part, int queryntlength, Genome_T genome, 59 Chrpos_T left_chrlength, Chrpos_T right_chrlength); 60 61 #if 0 62 extern void 63 Chimera_find_exonexon_old (T this, Stage3_T left_part, Stage3_T right_part, 64 Genome_T genome, Univ_IIT_T chromosome_iit); 65 #endif 66 67 extern int 68 Chimera_find_exonexon (int *found_cdna_direction, int *try_cdna_direction, 69 char *donor1, char *donor2, char *acceptor2, char *acceptor1, 70 char *comp, bool *donor_watsonp, bool *acceptor_watsonp, double *donor_prob, double *acceptor_prob, 71 Stage3_T left_part, Stage3_T right_part, Genome_T genome, Genome_T genomealt, 72 Univ_IIT_T chromosome_iit, int breakpoint_start, int breakpoint_end); 73 #undef T 74 #endif 75