useDynLib(GSVA)

import(methods)
import(BiocGenerics)

importClassesFrom(Biobase, ExpressionSet)
importClassesFrom(SummarizedExperiment, SummarizedExperiment)
importClassesFrom(GSEABase, GeneSetCollection)
importClassesFrom(SingleCellExperiment, SingleCellExperiment)
importClassesFrom(Matrix, dgCMatrix)
importClassesFrom(DelayedArray, DelayedArray)
importClassesFrom(HDF5Array, HDF5Array)

importMethodsFrom(Biobase, featureNames,
                           phenoData,
                           experimentData,
                           exprs,
                           annotation)

importMethodsFrom(S4Vectors, metadata,
                             "metadata<-")

importMethodsFrom(SummarizedExperiment, assays,
                                        colData)

importMethodsFrom(GSEABase, geneIds,
                            incidence)

importMethodsFrom(BiocParallel, bpiterate,
                                "bpworkers<-",
                                bplapply,
                                "bpprogressbar<-")

importFrom(graphics, plot)
importFrom(stats, ecdf,
                  na.omit)
importFrom(utils, installed.packages,
                  setTxtProgressBar,
                  txtProgressBar,
                  read.csv,
                  write.csv)
importFrom(S4Vectors, SimpleList)
importFrom(GSEABase, AnnoOrEntrezIdentifier,
                     mapIdentifiers,
                     getGmt)
importFrom(SummarizedExperiment, SummarizedExperiment)
importFrom(parallel, splitIndices)
importFrom(BiocParallel, SerialParam,
                         MulticoreParam,
                         multicoreWorkers,
                         bpnworkers)
importFrom(SingleCellExperiment, SingleCellExperiment)
importFrom(sparseMatrixStats, colRanks)
importFrom(DelayedArray, rowAutoGrid,
			  write_block,
			  close)
importFrom(HDF5Array, HDF5RealizationSink)
importFrom(DelayedMatrixStats, rowSds)

exportMethods(gsva,
              filterGeneSets,
              computeGeneSetsOverlap)

export(igsva)