import(methods)
import(BiocGenerics)
import(S4Vectors)
import(GenomicRanges)

importClassesFrom(GenomeInfoDb, Seqinfo, GenomeDescription)

importMethodsFrom(Biostrings, match)
importMethodsFrom(GenomeInfoDb, "seqinfo<-",
                                seqlevels,
                                "seqlevels<-",
                                seqlevelsStyle,
                                "seqlevelsStyle<-",
                                "isCircular",
                                "isCircular<-",
                                genome,
                                "genome<-",
                                provider,
                                providerVersion,
                                releaseName)
importMethodsFrom(IRanges, start,
                           width,
                           flank,
                           nchar,
                           unlist,
                           which,
                           order,
                           togroup,
                           values,
                           findOverlaps,
                           as.vector,
                           coverage,
                           Views,
                           viewMeans)
importMethodsFrom(AnnotationHub, query,
                                 cache)
importMethodsFrom(DelayedArray, seed)

importFrom(stats, setNames)

importFrom(rhdf5, h5ls)

importFrom(HDF5Array, HDF5Array)

importFrom(utils, installed.packages,
                  data,
                  packageDescription,
                  capture.output,
                  as.person,
                  bibentry)

importFrom(XML, xmlGetAttr,
                htmlTreeParse)

importFrom(Biobase, createPackage)

importFrom(GenomeInfoDb, seqnames,
                         keepStandardChromosomes,
                         keepSeqlevels,
                         renameSeqlevels,
                         restoreSeqlevels,
                         extractSeqlevelsByGroup,
                         seqlengths,
                         seqinfo,
                         Seqinfo)

importFrom(IRanges, IRanges,
                    IRangesList,
                    RleList,
                    IntegerList,
                    CharacterList)

importFrom(Biostrings, DNA_BASES)

importFrom(AnnotationHub, AnnotationHub,
                          getAnnotationHubOption)

S3method(citation, GScores)

exportClasses(GScores)

exportMethods(citation,
              name,
              type,
              organism,
              provider,
              providerVersion,
              score,
              scores,
              gscores,
              rgscores,
              qfun,
              dqfun,
              seqinfo,
              seqlengths,
              seqlevelsStyle,
              seqnames,
              gscoresNonSNRs,
              populations,
              defaultPopulation,
              "defaultPopulation<-",
              gscoresTag,
              "gscoresTag<-",
              gscoresGroup,
              "gscoresGroup<-",
              nsites,
              show)

export(GScores,
       availableGScores,
       getGScores,
makeGScoresPackage)

export(igscores)
