inst/doc/ChAMP.R

## ----eval=FALSE---------------------------------------------------------------
#  if (!requireNamespace("BiocManager", quietly=TRUE))
#      install.packages("BiocManager")
#  BiocManager::install(c("minfi","ChAMPdata","Illumina450ProbeVariants.db","sva","IlluminaHumanMethylation450kmanifest","limma","RPMM","DNAcopy","preprocessCore","impute","marray","wateRmelon","goseq","plyr","GenomicRanges","RefFreeEWAS","qvalue","isva","doParallel","bumphunter","quadprog","shiny","shinythemes","plotly","RColorBrewer","DMRcate","dendextend","IlluminaHumanMethylationEPICmanifest","FEM","matrixStats","missMethyl","combinat"))

## ----eval=TRUE,message=FALSE, warning=FALSE-----------------------------------
library("ChAMP")

## ----eval=FALSE---------------------------------------------------------------
#  testDir=system.file("extdata",package="ChAMPdata")
#  myLoad <- champ.load(testDir,arraytype="450K")

## ----eval=FALSE---------------------------------------------------------------
#  data(EPICSimData)

## ---- out.width = 800, fig.retina = NULL,echo=F-------------------------------
knitr::include_graphics("Figure/ChAMP_Pipeline.png")

## ----eval=FALSE---------------------------------------------------------------
#  champ.process(directory = testDir)

## ----eval=FALSE---------------------------------------------------------------
#  myLoad <- cham.load(testDir)
#  # Or you may separate about code as champ.import(testDir) + champ.filter()
#  CpG.GUI()
#  champ.QC() # Alternatively: QC.GUI()
#  myNorm <- champ.norm()
#  champ.SVD()
#  # If Batch detected, run champ.runCombat() here.
#  myDMP <- champ.DMP()
#  DMP.GUI()
#  myDMR <- champ.DMR()
#  DMR.GUI()
#  myBlock <- champ.Block()
#  Block.GUI()
#  myGSEA <- champ.GSEA()
#  myCNA <- champ.CNA()
#  
#  # If DataSet is Blood samples, run champ.refbase() here.
#  myRefbase <- champ.refbase()

## ----eval=FALSE---------------------------------------------------------------
#  # myLoad <- champ.load(directory = testDir,arraytype="EPIC")
#  # We simulated EPIC data from beta value instead of .idat file,
#  # but user may use above code to read .idat files directly.
#  # Here we we started with myLoad.
#  
#  data(EPICSimData)
#  CpG.GUI(arraytype="EPIC")
#  champ.QC() # Alternatively QC.GUI(arraytype="EPIC")
#  myNorm <- champ.norm(arraytype="EPIC")
#  champ.SVD()
#  # If Batch detected, run champ.runCombat() here.This data is not suitable.
#  myDMP <- champ.DMP(arraytype="EPIC")
#  DMP.GUI()
#  myDMR <- champ.DMR()
#  DMR.GUI()
#  myDMR <- champ.DMR(arraytype="EPIC")
#  DMR.GUI(arraytype="EPIC")
#  myBlock <- champ.Block(arraytype="EPIC")
#  Block.GUI(arraytype="EPIC") # For this simulation data, not Differential Methylation Block is detected.
#  myGSEA <- champ.GSEA(arraytype="EPIC")
#  
#  # champ.CNA(arraytype="EPIC")
#  # champ.CNA() function call for intensity data, which is not included in our Simulation data.

## ----eval=FALSE---------------------------------------------------------------
#  library("doParallel")
#  detectCores()

## ----eval=FALSE---------------------------------------------------------------
#  myLoad <- champ.load(testDir)

## ----eval=TRUE----------------------------------------------------------------
data(testDataSet)

## ----eval=TRUE----------------------------------------------------------------
myLoad$pd

## ----eval=FALSE---------------------------------------------------------------
#  myImport <- champ.import(testDir)
#  myLoad <- champ.filter()

## ----eval=FALSE---------------------------------------------------------------
#  CpG.GUI(CpG=rownames(myLoad$beta),arraytype="450K")

## ---- out.width = 800, fig.retina = NULL,echo=F-------------------------------
knitr::include_graphics("Figure/CpGGUI.png")

## ----eval=TRUE,dpi=100,fig.width=7,fig.height=4,message=FALSE-----------------
champ.QC()

## ----eval=FALSE---------------------------------------------------------------
#  QC.GUI(beta=myLoad$beta,arraytype="450K")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/QCGUI.jpg")

## ----eval=FALSE---------------------------------------------------------------
#  myNorm <- champ.norm(beta=myLoad$beta,arraytype="450K",cores=5)

## ----eval=FALSE---------------------------------------------------------------
#  champ.SVD(beta=myNorm,pd=myLoad$pd)

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/Demo450KSVD.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/Demo450KSVD2.jpg")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/HannumSVD.png")

## ----eval=FALSE---------------------------------------------------------------
#  myCombat <- champ.runCombat(beta=myNorm,pd=myLoad$pd,batchname=c("Slide"))

## ----eval=TRUE,warning=FALSE,message=FALSE------------------------------------
myDMP <- champ.DMP(beta = myNorm,pheno=myLoad$pd$Sample_Group)

## ----eval=FALSE---------------------------------------------------------------
#  head(myDMP[[1]])

## ----eval=FALSE---------------------------------------------------------------
#  DMP.GUI(DMP=myDMP[[1]],beta=myNorm,pheno=myLoad$pd$Sample_Group)
#  # myDMP is a list now, each data frame is stored as myDMP[[1]], myDMP[[2]], myDMP[[3]]...

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMP-1.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMP-2.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMP-3.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMP-4.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/HannumDMPGUIplot.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/HannumDMPGUIplot-2.png")

## ----eval=FALSE---------------------------------------------------------------
#  myDMP <- champ.DMP(beta=myNorm, pheno=myLoad$pd$Sample_Group, compare.group=c("oxBS", "BS"))
#  # In above code, you can set compare.group() as "oxBS" and "BS" to do DMP detection between hydroxymethylatio and normal methylation.
#  
#  hmc <- myDMP[[1]][myDMP[[1]]$deltaBeta>0,]
#  # Then you can use above code to extract hydroxymethylation CpGs.

## ----eval=FALSE,message=FALSE,warning=TRUE------------------------------------
#  myDMR <- champ.DMR(beta=myNorm,pheno=myLoad$pd$Sample_Group,method="Bumphunter")

## ----eval=TRUE----------------------------------------------------------------
head(myDMR$DMRcateDMR)

## ----eval=FALSE---------------------------------------------------------------
#  DMR.GUI(DMR=myDMR)
#  # It might be a little bit slow to open DMR.GUI() because function need to extract annotation for CpGs from DMR. Might take 30 seconds.

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMR-1.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMR-2.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMR-3.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/DMR-4.png")

## ----eval=FALSE---------------------------------------------------------------
#  myBlock <- champ.Block(beta=myNorm,pheno=myLoad$pd$Sample_Group,arraytype="450K")

## ----eval=TRUE----------------------------------------------------------------
head(myBlock$Block)

## ----eval=FALSE---------------------------------------------------------------
#  Block.GUI(Block=myBlock,beta=myNorm,pheno=myLoad$pd$Sample_Group,runDMP=TRUE,compare.group=NULL,arraytype="450K")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/Block-1.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/Block-2.png")

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/Block-3.png")

## ----eval=FALSE---------------------------------------------------------------
#  myGSEA <- champ.GSEA(beta=myNorm,DMP=myDMP[[1]], DMR=myDMR, arraytype="450K",adjPval=0.05, method="fisher")
#  # myDMP and myDMR could (not must) be used directly.

## ----eval=TRUE----------------------------------------------------------------
head(myGSEA$DMP)
# Above is the GSEA result for differential methylation probes.
head(myGSEA$DMR)
# Above is the GSEA result for differential methylation regions.
# Too many information may be printed, so we are not going to show the result here.

## ----eval=FALSE---------------------------------------------------------------
#  myebayGSEA <- champ.ebGSEA(beta=myNorm,pheno=myLoad$pd$Sample_Group,arraytype="450K")

## ----eval=FALSE---------------------------------------------------------------
#  myCNA <- champ.CNA(intensity=myLoad$intensity,pheno=myLoad$pd$Sample_Group)

## ---- out.width = 800, fig.retina = NULL,echo=FALSE---------------------------
knitr::include_graphics("Figure/CNAGroupPlot.jpg")

## ----eval=FALSE---------------------------------------------------------------
#  myRefBase <- champ.refbase(beta=myNorm,arraytype="450K")
#  # Our test data set is not whole blood. So it should not be run here.

Try the ChAMP package in your browser

Any scripts or data that you put into this service are public.

ChAMP documentation built on Nov. 8, 2020, 5:58 p.m.