#Base packages:
import(methods)

#CRAN packages:
import(statmod)
import(plotrix)
import(stringr)
import(SummarizedExperiment);
import(DESeq2);
useDynLib(JunctionSeq)

#Bioconductor packages:
import(Biobase)
import(BiocGenerics)
import(BiocParallel)
import(GenomicRanges)
import(IRanges)
import(S4Vectors)

#CRAN function imports:
importFrom(Hmisc,wtd.quantile)
importFrom(locfit,locfit)

#Bioconductor function imports:
importFrom(genefilter,filtered_p)
importFrom(genefilter,rowVars)
importFrom(geneplotter,plotMA)

importFrom("grDevices", "cairo_ps", "col2rgb", "colorRamp", "dev.off",
             "png", "rgb", "svg", "tiff", "x11","heat.colors")
importFrom("graphics", "abline", "axis", "box", "hist", "layout",
             "legend", "lines", "par", "plot", "plot.new", "plot.window",
             "points", "rect", "segments", "smoothScatter", "strheight",
             "strwidth", "text", "title")
importFrom("stats", "Gamma", "as.formula", "coef", "coefficients",
             "deviance", "dnbinom", "fitted.values", "formula", "glm",
             "loess", "model.matrix", "optimize", "p.adjust", "pchisq",
             "predict", "qf", "rchisq", "rnorm", "runif", "terms",
             "weighted.mean","glm.fit")
importFrom("utils", "object.size", "packageVersion", "read.delim",
             "read.table", "write.table")

export(
  runJunctionSeqAnalyses,                                 
  writeCompleteResults,                    
  buildAllPlots,                    
  
  readJunctionSeqCounts,             
  estimateJunctionSeqDispersions,                    
  testForDiffUsage,                    
  estimateEffectSizes,
  estimateJunctionSeqSizeFactors,
  fitJunctionSeqDispersionFunction,
  
  readAnnotationData,                    
  
  plotMA,                    
  plotDispEsts,                    
  buildAllPlotsForGene,                    
  plotJunctionSeqResultsForGene,                    
  
  writeSizeFactors,
  
  writeExprBedTrack,
  writeSigBedTrack,
  
  JUNCTIONSEQ.DEFAULT.COLOR.LIST,
  
  setJunctionSeqCompiledSourcePackage
)

exportClasses( 
  "JunctionSeqCountSet"
)
