1 /* $Id: pairdef.h 157221 2015-01-22 18:38:57Z twu $ */ 2 #ifndef PAIRDEF_INCLUDED 3 #define PAIRDEF_INCLUDED 4 5 #include "bool.h" 6 #include "genomicpos.h" 7 8 typedef enum {GOOD,BAD} State_T; 9 10 #define T Pair_T 11 struct T { 12 int querypos; 13 Chrpos_T genomepos; 14 int refquerypos; 15 int aapos; 16 17 int queryjump; /* Used only for gaps */ 18 int genomejump; /* Used only for gaps */ 19 20 int aaphase_g; /* If 0, then marks start of codon. If -1, there is no aa here. */ 21 int aaphase_e; /* If 0, then marks start of codon. If -1, there is no aa here. */ 22 23 int dynprogindex; /* 0 if not generated by dynprog; <0 if contains intron; else > 0 */ 24 25 char cdna; 26 char comp; 27 char genome; 28 char genomealt; 29 char aa_g; /* Genomic aa */ 30 char aa_e; /* EST aa */ 31 32 bool gapp; /* True if comp is in a big gap (from genomic perspective): 33 >])([<#= (but not '-' or '~'). */ 34 bool knowngapp; /* Known intron */ 35 int introntype; 36 37 bool extraexonp; 38 bool shortexonp; 39 40 State_T state; 41 State_T vstate_good; 42 State_T vstate_bad; 43 44 bool protectedp; /* Protected against trimming, because found using splicetrie, or 45 protected against smoothing, because found by traverse_dual_intron */ 46 bool disallowedp; /* Used when novelsplicingp is false and intron is not allowed */ 47 48 double donor_prob; /* Set for an intron gap */ 49 double acceptor_prob; 50 bool end_intron_p; 51 }; 52 53 #undef T 54 #endif 55