## IMPORTS
import(rjson, GenomicRanges, GenomicFeatures, SummarizedExperiment, Rsamtools, 
       Biostrings, ShortRead, ggplot2, limma, edgeR, GOstats, GO.db, annotate,
       pheatmap, batchtools, methods, yaml, VariantAnnotation)
importFrom("assertthat", "assert_that", "not_empty", "is.count", "is.writeable")
importFrom("stringr", "str_which", "str_remove", "str_extract", "str_replace_all", 
           "str_replace", "str_remove_all", "str_split")
importFrom("grDevices", "dev.off", "pdf")
importFrom("graphics", "boxplot", "close.screen", "screen", "split.screen", "symbols", "text")
importFrom("stats", "aggregate", "model.matrix", "na.omit", "phyper", "setNames")
importFrom("utils", "capture.output", "combn", "read.delim", "write.table")
importFrom("magrittr","%>%")
importFrom("DOT", "dot")
importFrom("rsvg","rsvg_svg", "rsvg_png")
importFrom("IRanges", "IRanges", "subsetByOverlaps")
importFrom("grid", "grid.newpage", "pushViewport", "viewport", "grid.layout")

## S4 Classes
exportClasses(
    "SYSargs", "catDB", "VENNset", "INTERSECTset", "SYSargs2", "SYSargs2Pipe", 
    "SYSargsList"
)

## Methods
exportMethods(
    "targetsin", "targetsout", "targetsheader", "modules", "software", "cores", 
    "other", "reference", "results", "infile1", "infile2", "outfile1", "SampleName", 
    "sysargs", "outpaths", "show", "names", "length", "[", "catmap", "catlist", "idconv",
    "setlist", "intersectmatrix", "complexitylevels", "vennlist", "intersectlist",
    "as.list", "[[", "[[<-", "$", "clt", "cmdlist", "cwlfiles", "input", "inputvars", "output",
    "sysargs2", "targets", "wf", "yamlinput", "SYSargs2Pipe_ls", "WF_steps", "track", "summaryWF",
    "sysconfig", "codeSteps", "stepsWF", "dataWF", "SYSargs2_steps", "statusWF", "projectWF", "sysargslist"
)

## Functions
# exportPattern("^[[:alpha:]]+")
export(
    ## Data sets

    ## Import/exports
    "readComp", "writeTargetsout", "writeTargetsRef", "mergeBamByFactor",

    ## Utilities
    "alignStats", "getQsubargs", "qsubRun", "clusterRun", "returnRPKM", 
    "runCommandline", "systemArgs", "symLink2bam", "moduleload", 
    "modulelist", "moduleAvail", "moduleClear", "moduleInit", "moduleUnload", 
    "module", "run_edgeR", "run_DESeq2", "filterDEGs", "seeFastq", "seeFastqPlot",
    "GOHyperGAll", "GOHyperGAll_Subset", "GOHyperGAll_Simplify", "GOCluster_Report",
    "makeCATdb", "goBarplot", "overLapper", "vennPlot", "olBarplot",
    "preprocessReads", "filterVars", "variantReport", "combineVarReports", 
    "varSummary", "countRangeset", "runDiff", "genFeatures", "featuretypeCounts", 
    "plotfeaturetypeCounts", "featureCoverage", "plotfeatureCoverage", "predORF",
    "scaleRanges", "loadWorkflow", "loadWF", "renderWF", "subsetWF", "output_update", 
    "targets.as.df", "run_track", "olRanges", "createWF", "evalCode", "tryPath",
    "tryCL", "SYSproject", "initProject", "initWF", "configWF", "config.param", 
    "plotWF", "runWF", "renderReport"
)  
