import(methods)
importFrom(utils, download.file, installed.packages, str)
importFrom(stats, setNames)

import(BiocGenerics)
importFrom(Biobase, createPackage)
import(S4Vectors)
import(IRanges)
import(Seqinfo)
import(GenomeInfoDb)
import(GenomicRanges)
import(Biostrings)
importFrom(BiocIO, import)
importFrom(rtracklayer, TwoBitFile, import.2bit, export.2bit)
import(BSgenome)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export S4 classes
###

exportClasses(
    BSgenomeDataPkgSeed
)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export non-generic functions
###

export(
    ## forgeBSgenomeDataPkgFromTwobitFile.R:
    forgeBSgenomeDataPkgFromTwobitFile,

    ## downloadGenomicSequencesFromNCBI.R:
    downloadGenomicSequencesFromNCBI,

    ## downloadGenomicSequencesFromUCSC.R:
    downloadGenomicSequencesFromUCSC,

    ## fastaTo2bit.R:
    fastaTo2bit,

    ## forgeBSgenomeDataPkgFromNCBI.R:
    forgeBSgenomeDataPkgFromNCBI,

    ## forgeBSgenomeDataPkgFromUCSC.R:
    forgeBSgenomeDataPkgFromUCSC,

    ## AdvancedBSgenomeForge.R:
    forgeSeqlengthsRdsFile,
    forgeSeqlengthsRdaFile,
    forgeSeqFiles,
    forgeMasksFiles
)


### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
### Export S4 generics defined in BSgenomeForge, and corresponding methods
###

export(
    ## AdvancedBSgenomeForge.R:
    forgeBSgenomeDataPkg,
    forgeMaskedBSgenomeDataPkg
)

### Same list as above.
exportMethods(
    forgeBSgenomeDataPkg,
    forgeMaskedBSgenomeDataPkg
)

