import(zlibbioc)

export(dba,
       dba.peakset,
       dba.overlap,
       dba.count,
       dba.contrast,
       dba.analyze,
       dba.report,
       dba.plotHeatmap,
       dba.plotPCA,
       dba.plotMA,
       dba.plotVenn,
       dba.plotBox,
       dba.show,
       dba.mask,
       dba.save,
       dba.load,
       print.DBA,
       summary.DBA,
       plot.DBA,
       DBA_GROUP,
       DBA_ID,
       DBA_TISSUE,
       DBA_FACTOR,
       DBA_CONDITION,
       DBA_TREATMENT,
       DBA_CONSENSUS,
       DBA_CALLER,
       DBA_CONTROL,
       DBA_REPLICATE,
       DBA_INTERVALS,
       DBA_SN_RATIO,
       DBA_OLAP_PEAKS,
       DBA_OLAP_ALL,
       DBA_OLAP_RATE,
       DBA_SCORE_RPKM,
       DBA_SCORE_RPKM_FOLD,
       DBA_SCORE_READS,
       DBA_SCORE_READS_FOLD,
       DBA_SCORE_READS_MINUS,
       DBA_SCORE_TMM_MINUS_FULL,
       DBA_SCORE_TMM_MINUS_EFFECTIVE,
       DBA_SCORE_TMM_READS_FULL,
       DBA_SCORE_TMM_READS_EFFECTIVE,
       DBA_EDGER,
       DBA_EDGER_BLOCK,
       DBA_EDGER_GLM,
       DBA_EDGER_CLASSIC,
       DBA_DESEQ,
       DBA_DESEQ_BLOCK,
       DBA_DESEQ_GLM,
       DBA_DESEQ_CLASSIC,
       DBA_DATA_FRAME,
       DBA_DATA_RANGEDDATA,
       DBA_DATA_GRANGES,
       DBA_DATA_SUMMARIZED_EXPERIMENT)

exportClasses("DBA")

useDynLib(DiffBind)

#importMethodsFrom(IRanges, as.data.frame, as.factor, as.matrix, cbind,
#                  colnames, "colnames<-", cor, duplicated, ifelse,
#                  "%in%", lapply, match, mean, ncol, nrow, order, paste,
#                  rbind, rownames, "rownames<-", sapply, sd, sort, sub,
#                  summary, t, unique, which, which.max)


importFrom(amap, Dist)

#importFrom(DESeq, counts, estimateSizeFactors,
#           estimateVarianceFunctions, nbinomTest, newCountDataSet,
#           sizeFactors, "sizeFactors<-")

#importFrom(edgeR, calcNormFactors, DGEList, estimateCommonDisp,
#           estimateTagwiseDisp, exactTest, estimateGLMCommonDisp, estimateGLMTagwiseDisp,
#           glmFit, glmLRT, topTags)


import(edgeR)

importFrom(gplots, heatmap.2)

import(IRanges)

import(GenomicRanges)

importFrom(graphics, abline, boxplot, plot, points, smoothScatter)

importFrom(grDevices, colorRampPalette)

#importFrom(limma, vennDiagram)

#importFrom(multicore, collect, mclapply, mcparallel)

importFrom(RColorBrewer, brewer.pal)

#importFrom(rgl, plot3d)

importFrom(stats, model.matrix, p.adjust, princomp, t.test,
           wilcox.test)

importFrom(utils, read.table, write.csv, write.table)

