#  Calling the dynamic library.
useDynLib(edgeR, .registration=TRUE, .fixes=".cxx_")

#  All functions exported other than those starting with "."
exportPattern("^[^\\.]")

exportClasses("DGEList","DGEExact","DGEGLM","DGELRT","TopTags")
exportMethods("show")

import(methods)
importFrom("graphics", abline, axis, curve, grid, legend,
           lines, mtext, plot, points, smoothScatter, title,
           par, polygon)
importFrom("stats", approxfun, chisq.test, 
           coefficients, dbinom, dnbinom, dnorm, fitted, hat,
           integrate, lm.fit, lm.wfit, lowess, median, model.matrix,
           optim, optimize, p.adjust, pbeta, pbinom,
           pchisq, pf, pgamma, pnbinom, pnorm, predict,
           pt, qbeta, qf, qgamma, qnorm, qqnorm, quantile,
           rbinom, rmultinom, runif, uniroot)
importFrom("utils", getFromNamespace, head, packageVersion, read.delim, read.table,
           tail, write.table)
if( tools:::.OStype() == "windows" ) importFrom("utils", "winMenuAddItem")

importFrom("limma",arrayWeights, asMatrixWeights, camera, cameraPR, chooseLowessSpan, contrastAsCoef,
           decideTests, diffSplice, duplicateCorrelation, fry, goana, kegga, is.fullrank,
           logsumexp, lmFit, loessFit, mroast, nonEstimable,
           normalizeBetweenArrays, plotMD, plotMDS, plotWithHighlights,
           removeExt, roast, romer, squeezeVar, subsetListOfArrays,
           weightedLowess, zscoreGamma, zscoreT)
importClassesFrom("limma","LargeDataObject","MArrayLM","MDS","Roast","TestResults")
importFrom("locfit", locfit)

S3method(Ops,CompressedMatrix)
S3method("[",CompressedMatrix)
S3method("[",DGEList)
S3method("[",DGEExact)
S3method("[",DGEGLM)
S3method("[",DGELRT)
S3method("[",TopTags)
S3method("[<-",CompressedMatrix)
S3method(as.data.frame,DGEList)
S3method(as.data.frame,DGEExact)
S3method(as.data.frame,DGEGLM)
S3method(as.data.frame,DGELRT)
S3method(as.data.frame,TopTags)
S3method(as.matrix,CompressedMatrix)
S3method(as.matrix,DGEList)
S3method(as.matrix,DGEGLM)
S3method(aveLogCPM,default)
S3method(aveLogCPM,DGEList)
S3method(aveLogCPM,DGEGLM)
S3method(aveLogCPM,SummarizedExperiment)
S3method(calcNormFactors,default)
S3method(calcNormFactors,DGEList)
S3method(calcNormFactors,SummarizedExperiment)
S3method(camera,DGEList)
S3method(camera,DGEGLM)
S3method(cameraPR,DGELRT)
S3method(cbind,CompressedMatrix)
S3method(cbind,DGEList)
S3method(cpm,default)
S3method(cpm,DGEList)
S3method(cpm,SummarizedExperiment)
S3method(cpm,DGEGLM)
S3method(cpm,DGELRT)
S3method(cpm,MArrayLM)
S3method(cpmByGroup,default)
S3method(cpmByGroup,DGEList)
S3method(cpmByGroup,SummarizedExperiment)
S3method(decideTests,DGEExact)
S3method(decideTests,DGELRT)
S3method(DGEList,default)
S3method(DGEList,data.frame)
S3method(diffSplice,DGEGLM)
S3method(dim,DGEList)
S3method(dim,CompressedMatrix)
S3method(dim,DGEExact)
S3method(dim,DGEGLM)
S3method(dim,DGELRT)
S3method(dim,TopTags)
S3method(dimnames,DGEList)
S3method(dimnames,DGEExact)
S3method(dimnames,DGEGLM)
S3method(dimnames,DGELRT)
S3method(dimnames,TopTags)
S3method("dimnames<-",DGEList)
S3method("dimnames<-",DGEExact)
S3method("dimnames<-",DGEGLM)
S3method("dimnames<-",DGELRT)
S3method(equalizeLibSizes,default)
S3method(equalizeLibSizes,DGEList)
S3method(estimateCommonDisp,default)
S3method(estimateCommonDisp,DGEList)
S3method(estimateTrendedDisp,default)
S3method(estimateTrendedDisp,DGEList)
S3method(estimateTagwiseDisp,default)
S3method(estimateTagwiseDisp,DGEList)
S3method(estimateGLMCommonDisp,default)
S3method(estimateGLMCommonDisp,DGEList)
S3method(estimateGLMTrendedDisp,default)
S3method(estimateGLMTrendedDisp,DGEList)
S3method(estimateGLMTagwiseDisp,default)
S3method(estimateGLMTagwiseDisp,DGEList)
S3method(estimateDisp,default)
S3method(estimateDisp,DGEList)
S3method(estimateDisp,SummarizedExperiment)
S3method(filterByExpr,default)
S3method(filterByExpr,DGEList)
S3method(filterByExpr,SummarizedExperiment)
S3method(fry,DGEList)
S3method(fry,DGEGLM)
S3method(getNormLibSizes,default)
S3method(getNormLibSizes,DGEList)
S3method(getNormLibSizes,DGEGLM)
S3method(getNormLibSizes,DGELRT)
S3method(glmFit,default)
S3method(glmFit,DGEList)
S3method(glmFit,SummarizedExperiment)
S3method(glmQLFit,default)
S3method(glmQLFit,DGEList)
S3method(glmQLFit,SummarizedExperiment)
S3method(goana,DGEExact)
S3method(goana,DGELRT)
S3method(head,DGEList)
S3method(head,DGEExact)
S3method(head,DGEGLM)
S3method(head,DGELRT)
S3method(head,TopTags)
S3method(kegga,DGEExact)
S3method(kegga,DGELRT)
S3method(length,CompressedMatrix)
S3method(mroast,DGEList)
S3method(mroast,DGEGLM)
S3method(normLibSizes,default)
S3method(normLibSizes,DGEList)
S3method(normLibSizes,SummarizedExperiment)
S3method(plotMD,DGEList)
S3method(plotMD,DGEExact)
S3method(plotMD,DGEGLM)
S3method(plotMD,DGELRT)
S3method(plotMD,SummarizedExperiment)
S3method(plotMDS,DGEList)
S3method(plotMDS,SummarizedExperiment)
S3method(predFC,default)
S3method(predFC,DGEList)
S3method(predFC,SummarizedExperiment)
S3method(rbind,CompressedMatrix)
S3method(rbind,DGEList)
S3method(roast,DGEList)
S3method(roast,DGEGLM)
S3method(romer,DGEList)
S3method(romer,DGEGLM)
S3method(rowsum,DGEList)
S3method(rowsum,SummarizedExperiment)
S3method(rpkm,default)
S3method(rpkm,DGEList)
S3method(rpkm,SummarizedExperiment)
S3method(rpkm,DGEGLM)
S3method(rpkm,DGELRT)
S3method(rpkm,MArrayLM)
S3method(rpkmByGroup,default)
S3method(rpkmByGroup,DGEList)
S3method(rpkmByGroup,SummarizedExperiment)
S3method(scaleOffset,default)
S3method(scaleOffset,DGEList)
S3method(splitIntoGroups,default)
S3method(splitIntoGroups,DGEList)
S3method(sumTechReps,default)
S3method(sumTechReps,DGEList)
S3method(sumTechReps,SummarizedExperiment)
S3method(tail,DGEList)
S3method(tail,DGEExact)
S3method(tail,DGEGLM)
S3method(tail,DGELRT)
S3method(tail,TopTags)
