/* $Id: intron.h 204388 2017-03-18 00:03:34Z twu $ */ #ifndef INTRON_INCLUDED #define INTRON_INCLUDED #include "bool.h" #include "genomicpos.h" #include "iit-read.h" #include "chrnum.h" /* Pieces for logical AND */ #define LEFT_GT 0x21 /* 100001 */ #define LEFT_GC 0x10 /* 010000 */ #define LEFT_AT 0x08 /* 001000 */ #ifndef PMAP #define LEFT_CT 0x06 /* 000110 */ #endif #define RIGHT_AG 0x30 /* 110000 */ #define RIGHT_AC 0x0C /* 001100 */ #ifndef PMAP #define RIGHT_GC 0x02 /* 000010 */ #define RIGHT_AT 0x01 /* 000001 */ #endif /* Intron types. Results of logical AND of dinucleotide pairs. Note that forward is > 0x04 and reverse is <= 0x04 */ #define GTAG_FWD 0x20 /* 100000 GT-AG */ #define GCAG_FWD 0x10 /* 010000 GC-AG */ #define ATAC_FWD 0x08 /* 001000 AT-AC */ #ifndef PMAP #define GTAG_REV 0x04 /* 000100 CT-AC */ #define GCAG_REV 0x02 /* 000010 CT-GC */ #define ATAC_REV 0x01 /* 000001 GT-AT */ #endif #define NONINTRON 0x00 extern int Intron_type (char left1, char left2, char right2, char right1, char left1_alt, char left2_alt, char right2_alt, char right1_alt, int cdna_direction #ifdef INTRON_HELP , IIT_T splicesites_iit, int *splicesites_divint_crosstable, int donor_typeint, int acceptor_typeint, Chrnum_T chrnum, Chrpos_T leftgenomepos, Chrpos_T rightgenomepos, Univcoord_T chroffset, Univcoord_T chrhigh, bool watsonp, #endif ); extern int Intron_sensedir (int introntype); extern int Intron_canonical_sensedir (int introntype); extern int Intron_level (int introntype); extern char * Intron_type_string (int introntype); extern char * Intron_left_dinucl_string (int dinucl); extern char * Intron_right_dinucl_string (int dinucl); extern bool Intron_canonical_fwd_p (char donor1, char donor2, char acceptor2, char acceptor1); extern bool Intron_canonical_rev_p (char donor1, char donor2, char acceptor2, char acceptor1); extern bool Intron_gcag_fwd_p (char donor1, char donor2, char acceptor2, char acceptor1); extern bool Intron_gcag_rev_p (char donor1, char donor2, char acceptor2, char acceptor1); extern bool Intron_atac_fwd_p (char donor1, char donor2, char acceptor2, char acceptor1); extern bool Intron_atac_rev_p (char donor1, char donor2, char acceptor2, char acceptor1); #endif