Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
options(tinytex.verbose = TRUE)
## ---- eval=FALSE--------------------------------------------------------------
# if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#
# #Installing stable version from BioConductor
# BiocManager::install("methrix")
#
# #Installing developmental version from GitHub
# BiocManager::install("CompEpigen/methrix")
## ---- message=FALSE, warning=FALSE, eval=TRUE---------------------------------
#Load library
library(methrix)
## ---- eval=FALSE--------------------------------------------------------------
# #Genome of your preference to work with
# if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#
# library(BiocManager)
#
# if(!requireNamespace("BSgenome.Hsapiens.UCSC.hg19")) {
# BiocManager::install("BSgenome.Hsapiens.UCSC.hg19")
# }
# library(BSgenome.Hsapiens.UCSC.hg19)
## -----------------------------------------------------------------------------
#Example bedgraph files
bdg_files <- list.files(
path = system.file('extdata', package = 'methrix'),
pattern = "*bedGraph\\.gz$",
full.names = TRUE
)
print(basename(bdg_files))
#Generate some sample annotation table
sample_anno <- data.frame(
row.names = gsub(
pattern = "\\.bedGraph\\.gz$",
replacement = "",
x = basename(bdg_files)
),
Condition = c("cancer", 'cancer', "normal", "normal"),
Pair = c("pair1", "pair2", "pair1", "pair2"),
stringsAsFactors = FALSE
)
print(sample_anno)
## ---- warning=FALSE, eval=TRUE------------------------------------------------
#First extract genome wide CpGs from the desired reference genome
hg19_cpgs <- suppressWarnings(methrix::extract_CPGs(ref_genome = "BSgenome.Hsapiens.UCSC.hg19"))
## ---- eval=TRUE---------------------------------------------------------------
#Read the files
meth <- methrix::read_bedgraphs(
files = bdg_files,
ref_cpgs = hg19_cpgs,
chr_idx = 1,
start_idx = 2,
M_idx = 3,
U_idx = 4,
stranded = FALSE,
zero_based = FALSE,
collapse_strands = FALSE,
coldata = sample_anno
)
## ---- eval=TRUE---------------------------------------------------------------
#Typing meth shows basic summary.
meth
## ---- eval=FALSE--------------------------------------------------------------
# methrix::methrix_report(meth = meth, output_dir = tempdir())
## ---- eval=TRUE---------------------------------------------------------------
meth = methrix::remove_uncovered(m = meth)
## ---- eval=TRUE---------------------------------------------------------------
meth
## ---- eval=FALSE--------------------------------------------------------------
# if(!require(MafDb.1Kgenomes.phase3.hs37d5)) {
# BiocManager::install("MafDb.1Kgenomes.phase3.hs37d5")}
# if(!require(GenomicScores)) {
# BiocManager::install("GenomicScores")}
## ---- eval=TRUE---------------------------------------------------------------
library(MafDb.1Kgenomes.phase3.hs37d5)
library(GenomicScores)
meth_snps_filtered <- methrix::remove_snps(m = meth)
## -----------------------------------------------------------------------------
#Example data bundled, same as the previously generated meth
data("methrix_data")
#Coverage matrix
coverage_mat <- methrix::get_matrix(m = methrix_data, type = "C")
head(coverage_mat)
## -----------------------------------------------------------------------------
#Methylation matrix
meth_mat <- methrix::get_matrix(m = methrix_data, type = "M")
head(meth_mat)
## -----------------------------------------------------------------------------
#If you prefer you can attach loci info to the matrix and output in GRanges format
meth_mat_with_loci <- methrix::get_matrix(m = methrix_data, type = "M", add_loci = TRUE, in_granges = TRUE)
meth_mat_with_loci
## -----------------------------------------------------------------------------
#e.g; Retain all loci which are covered at-least in two sample by 3 or more reads
methrix::coverage_filter(m = methrix_data, cov_thr = 3, min_samples = 2)
## -----------------------------------------------------------------------------
#Retain sites only from chromosme chr21
methrix::subset_methrix(m = methrix_data, contigs = "chr21")
## -----------------------------------------------------------------------------
#e.g; Retain sites only in TP53 loci
target_loci <- GenomicRanges::GRanges("chr21:27867971-27868103")
print(target_loci)
methrix::subset_methrix(m = methrix_data, regions = target_loci)
## -----------------------------------------------------------------------------
methrix::subset_methrix(m = methrix_data, samples = "C1")
#Or you could use [] operator to subset by index
methrix_data[,1]
## -----------------------------------------------------------------------------
meth_stats <- get_stats(m = methrix_data)
print(meth_stats)
## -----------------------------------------------------------------------------
#Draw mean coverage per sample
plot_stats(plot_dat = meth_stats, what = "C", stat = "mean")
#Draw mean methylation per sample
plot_stats(plot_dat = meth_stats, what = "M", stat = "mean")
## -----------------------------------------------------------------------------
mpca <- methrix_pca(m = methrix_data, do_plot = FALSE)
#Plot PCA results
plot_pca(pca_res = mpca, show_labels = TRUE)
#Color code by an annotation
plot_pca(pca_res = mpca, m = methrix_data, col_anno = "Condition")
## -----------------------------------------------------------------------------
#Violin plots
methrix::plot_violin(m = methrix_data)
## -----------------------------------------------------------------------------
methrix::plot_coverage(m = methrix_data, type = "dens")
## ----eval=FALSE---------------------------------------------------------------
# if(!require(bsseq)) {
# BiocManager::install("bsseq")}
#
## -----------------------------------------------------------------------------
library(bsseq)
bs_seq <- methrix::methrix2bsseq(m = methrix_data)
bs_seq
## -----------------------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.