useDynLib(gmapR, .registration = TRUE)

importFrom(Rsamtools, path, bamPaths, "bamWhich<-", BamFile, BamFileList,
           BamSampler)
importFrom(tools, file_path_as_absolute, file_ext, file_path_sans_ext,
           list_files_with_exts)
importFrom(Biobase, createPackage)
import(IRanges)
import(S4Vectors)
import(methods)
import(GenomicRanges)
import(GenomeInfoDb)
import(BiocParallel)
importMethodsFrom(GenomeInfoDb, genome)
importFrom(utils, packageVersion)
importFrom(Biostrings, getSeq, readDNAStringSet, DNAStringSet)
importMethodsFrom(GenomicRanges, seqnames, strand)
importMethodsFrom(Rsamtools, asBam)
importClassesFrom(GenomicFeatures, TxDb)
importFrom(GenomicFeatures, transcripts, exons)
importClassesFrom(rtracklayer, RTLFile, FastaFile)
importFrom(rtracklayer, "referenceSequence<-", import, export, FastaFile)
importMethodsFrom(rtracklayer, export)
importFrom(VariantAnnotation, readVcf, ScanVcfParam, fixed, VRanges, ref, alt,
           "ref<-", "alt<-", altDepth, refDepth)
importClassesFrom(VariantAnnotation, "VCF", "VRanges")
importFrom(BSgenome, getSeq, providerVersion)
importFrom(GenomicAlignments, readGAlignments)
importMethodsFrom(GenomicAlignments, qwidth)

## public API

export(bam_tally, GmapGenome, GmapGenomeDirectory, GsnapParam,
       directory, BamTallyParam, makeGmapGenomePackage, GsnapOutput,
       GmapSnps, GmapSnpDirectory, TP53Genome, TP53Which, variantSummary)

exportClasses(GmapGenome, GmapGenomeDirectory, GmapSnpDirectory,
              GsnapOutput, GmapSnps, BamTallyParam, GsnapParam)

exportMethods(bamPaths, path, genome, seqinfo, gsnap, "snps<-",
              "spliceSites<-", getSeq)