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