bufReader initBufReader2(const char*fname,int doCheck,char *fai_fname){ bufReader ret; ret.fn = strdup(fname); int newlen=strlen(fname);//<-just to avoid valgrind -O3 uninitialized warning ret.fp = openBAM(ret.fn,doCheck); if (fai_fname && hts_set_fai_filename(ret.fp, fai_fname) != 0) { fprintf(stderr, "[%s] failed to process %s\n", __func__, fai_fname); exit(EXIT_FAILURE); } ret.isEOF =0; ret.itr=NULL; ret.idx=NULL; ret.hdr = sam_hdr_read(ret.fp); if(strlen(ret.hdr->text)==0){ fprintf(stderr,"\t-> No header information could be found for BAM/CRAM file: \'%s\' will exit\n",fname); exit(1); } checkIfSorted(ret.hdr->text); if(ret.hdr==NULL) { fprintf(stderr, "[main_samview] fail to read the header from \"%s\".\n", ret.fn); exit(0); } return ret; }
bufReader initBufReader2(const char*fname){ bufReader ret; ret.bamfname = strdup(fname); ret.fp = openBAM(ret.bamfname); ret.hd = getHd(ret.fp); ret.isEOF =0; ret.it.from_first=1;//iterator, used when supplying regions ret.it.finished=0;//iterator, used when supplying regions ret.it.off = NULL; ret.it.dasIndex = NULL; return ret; }
bufReader initBufReader2(const char*fname){ bufReader ret; ret.fn = strdup(fname); int newlen=strlen(fname);//<-just to avoid valgrind -O3 uninitialized warning ret.fp = openBAM(ret.fn); ret.isEOF =0; ret.itr=NULL; ret.idx=NULL; ret.hdr = sam_hdr_read(ret.fp); if(ret.hdr==NULL) { fprintf(stderr, "[main_samview] fail to read the header from \"%s\".\n", ret.fn); exit(0); } return ret; }