00001 #ifndef DEF_GFR_H 00002 #define DEF_GFR_H 00003 00004 00005 00006 #define GFR_COLUMN_TYPE_NUM_INTER 1 00007 #define GFR_COLUMN_TYPE_INTER_MEAN_AB 2 00008 #define GFR_COLUMN_TYPE_INTER_MEAN_BA 3 00009 #define GFR_COLUMN_TYPE_PVALUE_AB 4 00010 #define GFR_COLUMN_TYPE_PVALUE_BA 5 00011 #define GFR_COLUMN_TYPE_NUM_INTRA1 6 00012 #define GFR_COLUMN_TYPE_NUM_INTRA2 7 00013 #define GFR_COLUMN_TYPE_FUSION_TYPE 8 00014 #define GFR_COLUMN_TYPE_NAME_TRANSCRIPT1 9 00015 #define GFR_COLUMN_TYPE_NUM_EXONS_TRANSCRIPT1 10 00016 #define GFR_COLUMN_TYPE_EXON_COORDINATES_TRANSCRIPT1 11 00017 #define GFR_COLUMN_TYPE_CHROMOSOME_TRANSCRIPT1 12 00018 #define GFR_COLUMN_TYPE_STRAND_TRANSCRIPT1 13 00019 #define GFR_COLUMN_TYPE_START_TRANSCRIPT1 14 00020 #define GFR_COLUMN_TYPE_END_TRANSCRIPT1 15 00021 #define GFR_COLUMN_TYPE_NAME_TRANSCRIPT2 16 00022 #define GFR_COLUMN_TYPE_NUM_EXONS_TRANSCRIPT2 17 00023 #define GFR_COLUMN_TYPE_EXON_COORDINATES_TRANSCRIPT2 18 00024 #define GFR_COLUMN_TYPE_CHROMOSOME_TRANSCRIPT2 19 00025 #define GFR_COLUMN_TYPE_STRAND_TRANSCRIPT2 20 00026 #define GFR_COLUMN_TYPE_START_TRANSCRIPT2 21 00027 #define GFR_COLUMN_TYPE_END_TRANSCRIPT2 22 00028 #define GFR_COLUMN_TYPE_PAIR_COUNT 23 00029 #define GFR_COLUMN_TYPE_INTER_READS 24 00030 #define GFR_COLUMN_TYPE_ID 25 00031 #define GFR_COLUMN_TYPE_READS_TRANSCRIPT1 26 00032 #define GFR_COLUMN_TYPE_READS_TRANSCRIPT2 27 00033 #define GFR_COLUMN_TYPE_GENE_SYMBOL_TRANSCRIPT1 28 00034 #define GFR_COLUMN_TYPE_GENE_SYMBOL_TRANSCRIPT2 29 00035 #define GFR_COLUMN_TYPE_DESCRIPTION_TRANSCRIPT1 30 00036 #define GFR_COLUMN_TYPE_DESCRIPTION_TRANSCRIPT2 31 00037 #define GFR_COLUMN_TYPE_SPER 32 00038 #define GFR_COLUMN_TYPE_DASPER 33 00039 #define GFR_COLUMN_TYPE_RESPER 34 00040 00041 00042 #define GFR_COLUMN_NAME_NUM_INTER "numInter" 00043 #define GFR_COLUMN_NAME_INTER_MEAN_AB "interMeanAB" 00044 #define GFR_COLUMN_NAME_INTER_MEAN_BA "interMeanBA" 00045 #define GFR_COLUMN_NAME_PVALUE_AB "pValueAB" 00046 #define GFR_COLUMN_NAME_PVALUE_BA "pValueBA" 00047 #define GFR_COLUMN_NAME_NUM_INTRA1 "numIntra1" 00048 #define GFR_COLUMN_NAME_NUM_INTRA2 "numIntra2" 00049 #define GFR_COLUMN_NAME_FUSION_TYPE "fusionType" 00050 #define GFR_COLUMN_NAME_NAME_TRANSCRIPT1 "nameTranscript1" 00051 #define GFR_COLUMN_NAME_NUM_EXONS_TRANSCRIPT1 "numExonsTranscript1" 00052 #define GFR_COLUMN_NAME_EXON_COORDINATES_TRANSCRIPT1 "exonCoordinatesTranscript1" 00053 #define GFR_COLUMN_NAME_CHROMOSOME_TRANSCRIPT1 "chromosomeTranscript1" 00054 #define GFR_COLUMN_NAME_STRAND_TRANSCRIPT1 "strandTranscript1" 00055 #define GFR_COLUMN_NAME_START_TRANSCRIPT1 "startTranscript1" 00056 #define GFR_COLUMN_NAME_END_TRANSCRIPT1 "endTranscript1" 00057 #define GFR_COLUMN_NAME_NAME_TRANSCRIPT2 "nameTranscript2" 00058 #define GFR_COLUMN_NAME_NUM_EXONS_TRANSCRIPT2 "numExonsTranscript2" 00059 #define GFR_COLUMN_NAME_EXON_COORDINATES_TRANSCRIPT2 "exonCoordinatesTranscript2" 00060 #define GFR_COLUMN_NAME_CHROMOSOME_TRANSCRIPT2 "chromosomeTranscript2" 00061 #define GFR_COLUMN_NAME_STRAND_TRANSCRIPT2 "strandTranscript2" 00062 #define GFR_COLUMN_NAME_START_TRANSCRIPT2 "startTranscript2" 00063 #define GFR_COLUMN_NAME_END_TRANSCRIPT2 "endTranscript2" 00064 #define GFR_COLUMN_NAME_PAIR_COUNT "pairCount" 00065 #define GFR_COLUMN_NAME_INTER_READS "interReads" 00066 #define GFR_COLUMN_NAME_ID "id" 00067 #define GFR_COLUMN_NAME_READS_TRANSCRIPT1 "readsTranscript1" 00068 #define GFR_COLUMN_NAME_READS_TRANSCRIPT2 "readsTranscript2" 00069 #define GFR_COLUMN_NAME_GENE_SYMBOL_TRANSCRIPT1 "geneSymbolTranscript1" 00070 #define GFR_COLUMN_NAME_GENE_SYMBOL_TRANSCRIPT2 "geneSymbolTranscript2" 00071 #define GFR_COLUMN_NAME_DESCRIPTION_TRANSCRIPT1 "descriptionTranscript1" 00072 #define GFR_COLUMN_NAME_DESCRIPTION_TRANSCRIPT2 "descriptionTranscript2" 00073 #define GFR_COLUMN_NAME_SPER "SPER" 00074 #define GFR_COLUMN_NAME_DASPER "DASPER" 00075 #define GFR_COLUMN_NAME_RESPER "RESPER" 00076 00077 00078 00079 #define GFR_PAIR_TYPE_EXONIC_EXONIC 1 00080 #define GFR_PAIR_TYPE_EXONIC_INTRONIC 2 00081 #define GFR_PAIR_TYPE_EXONIC_JUNCTION 3 00082 #define GFR_PAIR_TYPE_INTRONIC_EXONIC 4 00083 #define GFR_PAIR_TYPE_INTRONIC_INTRONIC 5 00084 #define GFR_PAIR_TYPE_INTRONIC_JUNCTION 6 00085 #define GFR_PAIR_TYPE_JUNCTION_JUNCTION 7 00086 #define GFR_PAIR_TYPE_JUNCTION_EXONIC 8 00087 #define GFR_PAIR_TYPE_JUNCTION_INTRONIC 9 00088 00089 00090 00091 typedef struct { 00092 int pairType; 00093 int number1; 00094 int number2; 00095 int count; 00096 } GfrPairCount; 00097 00098 00099 00100 typedef struct { 00101 int readStart1; 00102 int readStart2; 00103 int readEnd1; 00104 int readEnd2; 00105 int pairType; 00106 int number1; 00107 int number2; 00108 int flag; 00109 } GfrInterRead; 00110 00111 00112 00113 typedef struct { 00114 int start; 00115 int end; 00116 } GfrExonCoordinate; 00117 00118 00119 00120 typedef struct { 00121 int numInter; 00122 double interMeanAB; 00123 double interMeanBA; 00124 double pValueAB; 00125 double pValueBA; 00126 int numIntra1; 00127 int numIntra2; 00128 char *fusionType; 00129 char *nameTranscript1; 00130 char *chromosomeTranscript1; 00131 char strandTranscript1; 00132 int numExonsTranscript1; 00133 Array exonCoordinatesTranscript1; 00134 int startTranscript1; 00135 int endTranscript1; 00136 char *geneSymbolTranscript1; 00137 char *descriptionTranscript1; 00138 char *nameTranscript2; 00139 char *chromosomeTranscript2; 00140 char strandTranscript2; 00141 int numExonsTranscript2; 00142 Array exonCoordinatesTranscript2; 00143 int startTranscript2; 00144 int endTranscript2; 00145 char *geneSymbolTranscript2; 00146 char *descriptionTranscript2; 00147 Array interReads; 00148 Array pairCounts; 00149 char *id; 00150 Texta readsTranscript1; 00151 Texta readsTranscript2; 00152 double SPER; 00153 double DASPER; 00154 double RESPER; 00155 } GfrEntry; 00156 00157 00158 00159 extern int gfr_init (char* fileName); 00160 extern void gfr_addNewColumnType (char* columnName); 00161 extern void gfr_deInit (void); 00162 extern GfrEntry* gfr_nextEntry (void); 00163 extern Array gfr_parse (void); 00164 extern char* gfr_writeHeader (void); 00165 extern char* gfr_writeGfrEntry (GfrEntry *currEntry); 00166 00167 00168 00169 #endif