基因组学数据分析

microarrays

原理

应用

NGS

原理

应用

数据分析应用背景

DNA 甲基化

CHIP-SEQ

RNA 测序


安装Bioconductor

source("http://bioconductor.org/biocLite.R")
biocLite()

数据结构

分析数据

表型数据

实验描述

组装数据

数据集应用

Iranges

GRanges and GRangesList

findOverlaps

Rle

数据读取

Affymterix CEL files

背景干扰

正则化

探索分析作图

MA-plot

Volcano plot


示例:序列比对可视化


示例:甲基化数据分析

读取数据

devtools::install_github("coloncancermeth","genomicsclass")

library(coloncancermeth)
data(coloncancermeth)

该数据集为结肠癌病人与对照的DNA甲基化数据集。

数据说明

dim(meth)
dim(pd)
length(gr)

meth为测序数据,pd为样本信息,gr测序片段信息。

colnames(pd)
table(pd$Status)
X = model.matrix(~pd$Status)

查看病患与正常人的分组并构建模型。

chr = as.factor(seqnames(gr))
pos = start(gr)

library(bumphunter)
cl = clusterMaker(chr,pos,maxGap=500)
res = bumphunter(meth,X,chr=chr,pos=pos,cluster=cl,cutoff=0.1,B=0)

按染色体生成因子变量,找出基因起始位点,然后利用bumphunter包寻找甲基化数据中某个阈值(0.1)下甲基化基因聚类的后出现的位置,聚类号,聚类相关性等信息寻找问题基因,可从中提取相关信息

cols=ifelse(pd$Status=="normal",1,2)
Index=(res$table[6,7]-3):(res$table[6,8]+3)
matplot(pos[Index],meth[Index,,drop=TRUE],col=cols,pch=1,xlab="genomic location",ylab="Methylation",ylim=c(0,1))

Index=(res$table[6,7]):(res$table[6,8])

test <- meth[Index,,drop=T]
colnames(test) <- pd$bcr_patient_barcode
test1 <- test[,cols==1]
test2 <- test[,cols==2]

test3 <- apply(test2, 2, mean)
apply(matrix, 1, rank)

从上面可以得到有差异的甲基化数据所在的基因位置并提取相关样本数据信息。可根据差异作图,得到两组数据甲基化水平差异所在的基因位置。可对差异进行平滑操作,得到位置。这样就可以知道甲基化发生的序列位置与水平差异的信息了。


下面的例子是用人类基因组数据探索潜在的CpG岛。

library(BSgenome.Hsapiens.UCSC.hg19)

Hsapiens[["chr1"]]

# 计算某染色体上潜在位点个数

countPattern('CG',Hsapiens[["chr1"]]) 

# 计算某染色体上特定序列比例 观察与期望出现的比例

CG <- countPattern('CG',Hsapiens[["chr1"]])/length(Hsapiens[["chr1"]])
GC <- countPattern('GC',Hsapiens[["chr1"]])/length(Hsapiens[["chr1"]])

table <- alphabetFrequency(Hsapiens[["chr1"]])
expect <- table['C']%*%table['G']/(length(Hsapiens[["chr1"]]))^2

CG/expect