import(methods)
importClassFrom(Biobase, VersionedBiobase, Versioned, eSet)
importClassFrom(biclust, Biclust)

importFrom(BiocGenerics, conditions)
importFrom(Biobase, featureNames, sampleNames, exprs, fData, pData, assayData, protocolData, package.version)
importFrom(Biobase, "featureNames<-", "sampleNames<-", "exprs<-", "protocolData<-")
importFrom(biclust, biclust)

## exporting
## exportPattern("^[[:alpha:]]+")
exportClasses(QUBICBiclusterSet)

exportMethods("BCcount",
              "info",
              "Svalue",
              "RowxNumber", "NumberxCol",
              "features", "featureNames",
              "sampleNames",
              "featureCount", "BCfeatures", "BCfeatureCount",
              "conditions", "conditionCount", "BCconditions", "BCconditionCount",
              "parameter")

## combine
export("combineBiclusts")

export("readBiclusterResults")

## filter
export("fcFilter")

## C to R functions
export("parseQubicRules",
       "parseQubicChars",
       "parseQubicBlocks")

## R to C functions
export("eSetDimName",
       "writeQubicInputFile")

## R to internal C functions
export("quantileDiscretize",
       "generateSeeds",
       "quBicluster")

## export S3 methods
S3method(length, Biclust)
S3method(dim, Biclust)
S3method(print, rqubicSeeds)

## dynlib
useDynLib(rqubic, discretize_matrix, generate_sorted_seeds, qubicluster)
