useDynLib(Rsamtools, .registration=TRUE)

import(methods)

import(zlibbioc)

importFrom(bitops, bitAnd)

importFrom(utils, read.table)           # normalizePath --> base in R-2.13

importFrom(stats, rbinom, setNames)

importClassesFrom(BiocGenerics, url, gzfile, unz, pipe)

importFrom(BiocGenerics, cbind, duplicated, eval, Filter, lapply, Map,
           order, path, paste, rbind, Reduce, rep.int, sapply, setdiff,
           tapply, union, unique)

importFrom(BiocParallel, bplapply)

import(S4Vectors)

import(IRanges)

importClassesFrom(GenomeInfoDb, Seqinfo)

importFrom(GenomeInfoDb, Seqinfo, seqinfo, seqlevels, sortSeqlevels)

importClassesFrom(GenomicRanges, GRanges, GRangesList)

importFrom(GenomicRanges, GRanges, GRangesList)

importMethodsFrom(GenomicRanges, seqnames, strand)

import(XVector)

importClassesFrom(Biostrings, DNAStringSet, BStringSet, PhredQuality)

importFrom(Biostrings, DNA_ALPHABET, readDNAStringSet,
           readRNAStringSet, readAAStringSet,
           DNAStringSet, BStringSet, PhredQuality,
           getSeq, reverseComplement)

exportPattern("^[^\\.]")

exportMethods(length, names, "[", "[[", show, getSeq, seqinfo)

S3method(close, BamFile)
S3method(close, BcfFile)
S3method(close, FaFile)
S3method(close, TabixFile)
S3method(close, RsamtoolsFileList)

S3method(open, BamFile)
S3method(open, BcfFile)
S3method(open, FaFile)
S3method(open, TabixFile)
S3method(open, RsamtoolsFileList)
