コード例 #1
0
ファイル: tmap_sam_io.c プロジェクト: GerritvanNiekerk/TS
void
tmap_sam_io_set_vfo(tmap_sam_io_t *samio, int64_t bam_start_vfo, int64_t bam_end_vfo)
{
  samio->bam_end_vfo = bam_end_vfo;

  if (bam_start_vfo > 0) {
      fprintf(stderr, "seeking to bam virtual file offset %lu\n", bam_start_vfo);
      BGZF* bgzf_fp = samio->fp->x.bam;
      if (0 > bam_seek(bgzf_fp, bam_start_vfo, SEEK_SET)) {
          fprintf(stderr, "error seeking to offset\n");
      }
  }
}
コード例 #2
0
ファイル: bamfile.c プロジェクト: dtenenba/Rsamtools
SEXP bamfile_isincomplete(SEXP ext)
{
    int ans = FALSE;
    BAM_FILE bfile;
    if (NULL != BAMFILE(ext)) {
        _checkext(ext, BAMFILE_TAG, "isIncomplete");
        bfile = BAMFILE(ext);
        if (NULL != bfile && NULL != bfile->file) {
            /* heuristic: can we read a record? bam_seek does not
             * support SEEK_END */
            off_t offset = bam_tell(bfile->file->x.bam);
            char buf;
            ans = bam_read(bfile->file->x.bam, &buf, 1) > 0;
            bam_seek(bfile->file->x.bam, offset, SEEK_SET);
        }
    }
    return ScalarLogical(ans);
}