## ----install, eval = FALSE----------------------------------------------------
# if(!requireNamespace("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")
# BiocManager::install("mitch")

## ----lib----------------------------------------------------------------------
library("mitch")

## ----gsets--------------------------------------------------------------------
download.file("https://reactome.org/download/current/ReactomePathways.gmt.zip",
    destfile="ReactomePathways.gmt.zip")
unzip("ReactomePathways.gmt.zip")
genesets <- gmt_import("ReactomePathways.gmt")

## ----genesetsExample----------------------------------------------------------
data(genesetsExample)
head(genesetsExample,3)

## ----import11-----------------------------------------------------------------
data(rna,k9a)
x <- list("rna"=rna,"k9a"=k9a)
y <- mitch_import(x,"edgeR")
head(y)

## ----import4------------------------------------------------------------------
y <- mitch_import(rna,DEtype="edger")
head(y)

## ----import5------------------------------------------------------------------
# first rearrange cols
rna_mod <- rna
rna_mod$MyGeneIDs <- rownames(rna_mod)
rownames(rna_mod) <- seq(nrow(rna_mod))
head(rna_mod)
# now import with geneIDcol
y <- mitch_import(rna_mod,DEtype="edgeR",geneIDcol="MyGeneIDs")
head(y)

## ----import6------------------------------------------------------------------
library("stringi")
# obtain vector of gene names
genenames <- rownames(rna)
# create fake accession numbers
accessions <- paste("Gene0",stri_rand_strings(nrow(rna)*2, 6, pattern = "[0-9]"),sep="")
accessions <- head(unique(accessions),nrow(rna))
# create a gene table file that relates gene names to accession numbers
gt <- data.frame(genenames,accessions)

# now swap gene names for accessions
rna2 <- merge(rna,gt,by.x=0,by.y="genenames")
rownames(rna2) <- rna2$accessions
rna2 <- rna2[,2:5]

k9a2 <- merge(k9a,gt,by.x=0,by.y="genenames")
rownames(k9a2) <- k9a2$accessions
k9a2 <- k9a2[,2:5]

# now have a peek at the input data before importing
head(rna2,3)
head(k9a2,3)
head(gt,3)
x <- list("rna2"=rna2,"k9a2"=k9a2)
y <- mitch_import(x,DEtype="edgeR",geneTable=gt)
head(y,3)

## ----calc1,results="hide"-----------------------------------------------------
# prioritisation by significance
res <- mitch_calc(y,genesetsExample,priority="significance",cores=2)

## ----calc2--------------------------------------------------------------------
# peek at the results
head(res$enrichment_result)

## ----calc3,results="hide"-----------------------------------------------------
# prioritisation by effect size
res <- mitch_calc(y,genesetsExample,priority="effect",cores=2)

## ----calc4--------------------------------------------------------------------
head(res$enrichment_result)

## ----calc5,results="hide"-----------------------------------------------------
res <- mitch_calc(y,genesetsExample,priority="significance",minsetsize=5,cores=2)

## ----calc6,results="hide"-----------------------------------------------------
res<-mitch_calc(y,genesetsExample,priority="significance",resrows=3,cores=2)

## ----report,results="hide"----------------------------------------------------
mitch_report(res,"myreport.html",overwrite=TRUE)

## ----plots,results="hide"-----------------------------------------------------
mitch_plots(res,outfile="mycharts.pdf")

## ----network_demo,fig.width=14,fig.height=6-----------------------------------

networkplot(res,FDR=1,n_sets=10)

network_genes(res,FDR=1,n_sets=10)


## ----sessioninfo,message=FALSE------------------------------------------------
sessionInfo()