useDynLib(signeR, .registration=TRUE)

exportClasses(SignExp)
exportMethods(setSamples, setMutations, Normalize,
    Reorder_signatures, Reorder_samples, Reorder_mutations,
    Average_sign, Median_sign, Average_exp, Median_exp,
    Paths, SignPlot, SignHeat, ExposureBoxplot,
    ExposureBarplot, ExposureHeat,
    DiffExp, ExposureClassify, ExposureClassifyCV,
    ExposureCorrelation, ExposureGLM,
    ExposureSurvival, ExposureSurvModel,
    FuzzyClustExp, HClustExp)
export(genOpportunityFromGenome, genCountMatrixFromVcf, genCountMatrixFromMAF, signeR,
    BICboxplot)
export(signeRFlow)

import(utils, methods, future, future.apply,
    class, VGAM, glmnet, ada,
    kknn, ggplot2, scales, reshape2, 
    RColorBrewer, dplyr)

importFrom("readr", "read_tsv")
importFrom("proxy", "dist")
importFrom("shiny", "wellPanel", "fluidRow", "column", "p", "span", "strong",
    "observeEvent", "callModule", "HTML", "renderUI", "tags",
    "navbarPage", "includeCSS", "tabPanel", "icon", "em", "h5",
    "selectInput", "actionButton", "NS", "tagList", "a", "hr",
    "fileInput", "sliderInput", "div", "actionLink", "numericInput",
    "uiOutput", "plotOutput", "conditionalPanel", "includeMarkdown",
    "shinyApp", "fluidPage", "br", "downloadButton", "eventReactive",
    "modalDialog", "reactive", "renderPlot", "renderPrint", "renderTable",
    "showModal", "withProgress", "req", "downloadHandler")
importFrom("shinydashboard", "dashboardPage", "tabBox", "box",
    "dashboardHeader", "dashboardSidebar", "sidebarMenu", "menuItem",
    "menuSubItem", "dashboardBody", "tabItems", "tabItem",
    "infoBox")
importFrom("shinycssloaders", "withSpinner")
importFrom("shinyWidgets", "useSweetAlert", "radioGroupButtons",
    "pickerInput", "tooltipOptions", "dropdownButton", "prettyRadioButtons")
importFrom("bsplus", "use_bs_tooltip", "bs_embed_tooltip",
    "shinyInput_label_embed")
importFrom("BiocFileCache", "BiocFileCache", "bfcrpath",
    "bfcquery", "bfcadd", "bfcneedsupdate", "bfcdownload")
importFrom("magrittr","%>%")
importFrom("tidyr", "gather")
importFrom("tibble", "column_to_rownames", "rownames_to_column")
importFrom("pheatmap", "pheatmap")
importFrom("cowplot","theme_cowplot")
importFrom("parallel", "detectCores", "makeCluster", "clusterExport", "parLapply", "stopCluster")
importFrom("stats", "kruskal.test", "cor.test", 'quantile', 'median', 'sd', 'heatmap')
importFrom("MASS", "lda")
importFrom("randomForest","randomForest")
importFrom("pROC","roc")
importFrom("listenv", "listenv")
importFrom("BiocGenerics", "Reduce")
importFrom("Biostrings","getSeq", "oligonucleotideFrequency",
    "reverseComplement", "DNAString", "DNAStringSetList",
    "DNAStringSet")
importFrom("grDevices", "colorRampPalette", "dev.cur", "dev.new",
    "dev.off", "pdf", "png", "rainbow", "terrain.colors")
importFrom("GenomicRanges", "resize", "granges", "reduce","GRanges")
importFrom("IRanges","subsetByOverlaps", "IRanges")
importFrom("nloptr", "nloptr")
importFrom("NMF", "nmf", "basis", "coef")
importFrom("VariantAnnotation", "readVcf", "isSNV", "alt", "ref", "geno", "alt<-")
importFrom("PMCMRplus","kwAllPairsConoverTest")
importFrom("GenomeInfoDb", "seqinfo", "renameSeqlevels", "mapSeqlevels", "seqlevels")
importFrom("survival", "Surv","is.Surv","survdiff", "survfit", "coxph", "cox.zph")
importFrom("survminer", "ggsurvplot", "ggforest")
importFrom("maxstat", "maxstat.test")
importFrom("pvclust", "msfit")
importFrom("ppclust", "fcm", "pcm", "fpcm")
importFrom("clue", "solve_LSAP")
importFrom("ggpubr","ggarrange")
importFrom("rtracklayer", "import")
importFrom("BSgenome", "installed.genomes", "getBSgenome")
importFrom("kknn", "kknn")
importFrom("broom", "tidy")
importFrom("e1071", "svm", "naiveBayes")
