ChAMP包处理甲基化芯片数据

学习笔记

一、甲基化芯片
二、数据处理流程
三、详细步骤

一、甲基化芯片

参考:http://www.biotrainee.com/thread-237-1-1.html

  • 探针类型
    在这里插入图片描述
  • 芯片注释信息
#查看450k芯片
library(IlluminaHumanMethylation450kmanifest)
show(IlluminaHumanMethylation450kmanifest)
#查看850k芯片信息使用另一个R包 IlluminaHumanMethylationEPICkmanifest
#minfi包有特定函数getManifest()可以查看指定对象对应芯片的注释信息

在这里插入图片描述

  • 芯片注释文件

在这里插入图片描述

二、数据处理流程

在这里插入图片描述

#full pipeline in a step-wise process
library(ChAMP)
#-----使用原始数据:包含8个样本,4个肿瘤样本,4个对照样本
testdir<-system.file("extdata",package="ChAMPdata")
# 返回extdata所在的绝对路径(extdata中包含了testDataSet测试数据)
myLoad<-champ.load(testdir)
champ.QC()
myNorm<-champ.norm()
champ.SVD()
batchNorm<-champ.runCombat()
myDMP<-champ.DMP()
myDMR<-champ.DMR()
myDMB<-champ.Block()
myRefBase<-champ.refbase()
champ.CNA()
#找不到champ.MVP()和champ.reffree(),但是data(testDataSet)后有"myMVP"和"myRefFree",说明这两个函数应该是旧版本的,但现在已经不使用了
#默认针对450K芯片的数据进行处理,如果要对850K芯片处理,在load、norm及后续识别甲基化的函数中设置参数arraytype="EPIC"

三、详细步骤

  • 数据准备

1.使用ChAMPdata包中的数据(具体操作见后续)

2.数据库下载,以GEO为例说明数据准备

ChAMP包读取数据不仅要.idat原始文件,还需要一个pd(phenotype)文件,名为sample_sheet.csv(当然sample_sheet这个名字不重要,重要的是这是一个.csv文件)
这个文件记录了各样本信息,具体形式如下
ChAMP自带数据的pd文件

在这里插入图片描述

(数据 GSE109904)可以看到没有sample_sheet.csv文件
(自认为该数据不适合用于甲基化分析)
GEO数据库中没有记录样本信息的pd文件,因此你需要根据各样本信息自行创建一个sample_sheet.csv

编辑.csv文件:
在这里插入图片描述

其中比较重要的属性列是Sample_Name、Sample_Group、Slide(Sentrix_ID)、Array(Sentrix_position) 在这里插入图片描述

注:使用的是GSE109904中4个使用850K芯片测得的样本,Sample_Name具体是什么不重要,只要能区分各个样本就行,如,可以命名为A/B/C/D

  • 一步跑完整个流程
#-----一步跑完整个流程-----#
champ.process(testdir)
# Usage:
champ.process(runload=TRUE,
			  #---是否运行champ.load(),运行后会加载一系列相关的变量
              directory = getwd(),
              #---.idat file所在路径
              filters=c("XY","DetP","Beads","NoCG","SNP","MultiHit"),
              #---数据预处理过程中要过滤掉的内容
              runimpute=TRUE,
              #---是否保留或填补由过滤导致的NA
              imputemethod="Combine",
              #---填补空缺值使用的方法
              runQC=TRUE,
              #---是否运行champ.QC(),用于可视化查看样本的相关信息,如是否有异常样本
              QCplots=c("mdsPlot","densityPlot","dendrogram"),
              #---指定使用champ.QC()要产生的图像
              runnorm=TRUE,
              #---是否运行champ.norm(),用于校正type Ⅱ探针
              normalizationmethod="BMIQ",
              #---指定运行champ.norm()时要使用的方法,除此之外还有PBC、SWAN、FunctionalNormalization方法
              runSVD=TRUE,
              #---是否运行champ.SVD(),可视化检验变异组分的显著性
              runCombat=TRUE,
              #---是否运行champ.runCombat(),用于处理批次效应
              batchname=c("Slide"),
              #---champ.runCombat处理批次效应时的批次标签
              runDMP=TRUE,
              #---是否运行champ.DMR()
              runDMR=TRUE,
              #---是否运行champ.DMR()
     
  • 19
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值