1 ////////////////////////////////////////////////////////////
2 // The purpose of this program is to read a gff and a
3 // solexa reads file and create a data set used by QPalma.
8 ////////////////////////////////////////////////////////////
15 #include "datastructures.h"
17 void parse_gff(char* filename
,FILE* fid
,struct gene
* allGenes
);
19 static char *info
= "Usage is:\n./filterReads gff reads";
21 int main(int argc
, char* argv
[]) {
28 //static size_t page_size;
29 // page_size = (size_t) sysconf (_SC_PAGESIZE);
30 int filenameSize
= 256;
31 char *gff_filename
= malloc(sizeof(char)*filenameSize
);
32 char *reads_filename
= malloc(sizeof(char)*filenameSize
);
34 strncpy(gff_filename
,argv
[1],filenameSize
);
35 strncpy(reads_filename
,argv
[2],filenameSize
);
37 FILE *gff_fs
= fopen(gff_filename
,"r");
38 FILE *reads_fs
= fopen(reads_filename
,"r");
41 printf("Error: Could not open file: %s",gff_filename
);
45 if(reads_fs
== NULL
) {
46 printf("Error: Could not open file: %s",reads_filename
);
50 struct gene
**allGenes
;
51 parse_gff(gff_filename
,gff_fs
,allGenes
);
54 int reads_fid
= fileno(reads_fs
);
55 size_t mmapAreaSize
= 16;
56 void *reads_area
= mmap (NULL
,mmapAreaSize
,PROT_READ
|PROT_WRITE
,MAP_PRIVATE
,reads_fid
,0);
57 if((long int) reads_area
== -1)
58 printf("mmapping failed!\n");
60 char *test_string
= malloc(sizeof(char)*10);
61 strncpy(test_string
,(char*)reads_area
,10);
62 //printf("Reads area at %s\n",test_string);
64 int status
= munmap(reads_area
,mmapAreaSize
);
66 printf("munmap failed!\n");
68 status
= fclose(gff_fs
);
69 status
+= fclose(reads_fs
);
71 printf("closing of filestreams failed!\n");
73 printf("sizeof(struct gene) %d\n",sizeof(struct gene
));
74 printf("sizeof(struct read) %d\n",sizeof(struct read
));