void filt_print(FILE *fp,filt*f,char *chr){ fprintf(stderr,"\n---------------\nfp:%p\nbg:%p\nhasMajMin:%d nchr:%lu\n",f->fp,f->bg,f->hasMajMin,f->offs.size()); for(std::map<char*,asdf_dats,ltstr>::const_iterator it=f->offs.begin();it!=f->offs.end();++it){ fprintf(stderr,"chr:\t\'%s\'\t",it->first); fprintf(stderr,"last:\t\'%lu\'\t",it->second.len); fprintf(stderr,"\toffs:%"PRId64"\n",it->second.offs); } fprintf(stderr,"------------\n"); for(std::map<char*,asdf_dats,ltstr>::const_iterator it=f->offs.begin();it!=f->offs.end();++it){ //if we have supplied a single chr if(chr!=NULL) filt_readSites(f,chr,0); else filt_readSites(f,it->first,0); // fprintf(stderr,"curlen:%lu\n",f->curLen); for(size_t s=0;s<f->curLen;s++) if(f->keeps[s]){ fprintf(fp,"%s\t%lu",f->curNam,s+1); if(f->hasMajMin) fprintf(fp,"\t%d\t%d",f->major[s],f->minor[s]); fprintf(fp,"\n"); } if(chr) break; } }
void abcFilter::readSites(int refId) { //fprintf(stderr,"[%s].%s():%d -> refId:%d\n",__FILE__,__FUNCTION__,__LINE__,refId); if(fl==NULL) return; filt_readSites(fl,header->target_name[refId],header->target_len[refId]); }