甲基化相关的习题背景补充
有学徒表示虽然看了我在B站免费分享的视频课程《甲基化芯片(450K或者850K)数据处理 》,详见:免费视频课程《甲基化芯片数据分析》,但是课程过于强调实操,很多背景知识大家比较缺乏,所以学徒自告奋勇补充了一些甲基化基础知识,供大家学习!
下面是哈医大学徒整理
DNA甲基化
- 定义:DNA甲基化(DNA methylation)是研究得最清楚、 也是最重要的表观遗传修饰形式,主要是基因组 DNA上的胞嘧啶第5位碳原子和甲基间的共价结合,胞嘧啶由此被修饰为5甲基胞嘧啶(5-methylcytosine,5mC)
- 哺乳动物基因组中5mC占胞嘧啶总量的2%-7%,约70%的5mC存在于CpG二连核苷
- 在结构基因的5’端调控区域, CpG二连核苷常常以成簇串联形式排列,这种富含CpG二连核苷的区域称为CpG岛(CpG islands),其大小为500-1000bp,约56%的编码基因含该结构
- 影响:基因调控元件(如启动子)所含CpG岛中的5mC会阻碍转录因子复合体与DNA的结合
- DNA甲基化一般与基因沉默相关联
- 非甲基化一般与基因的活化相关联
- 而去甲基化往往与一个沉默基因的重新激活相关联
DNA甲基化状态的遗传和保持:
- DNA复制后,新合成链在DNMT1的作用下,以旧链为模板进行甲基化。(缺乏严格的精确性,95%)
- 甲基化并非基因沉默的原因而是基因沉默的结果,其以某种机制识别沉默基因,后进行甲基化
- DNA全新甲基化引发因素可能包括:
- DNA本身的序列、成分和次级结构
- RNA根据序列同源性可能靶定的区域
- 特定染色质蛋白、组蛋白修饰或相当有序的染色质结构
DNA去甲基化:
- 主动去甲基化:
复制相关的去甲基化:
在复制过程中维持甲基化酶活性被关闭或维持甲基化酶活性被抵制。
全新甲基化|甲基化状态保持|去甲基化:
0QY7Md.png
DNA甲基化的分布:
- 转座子
- 逆转录病毒衍生的重复序列
- 大多数功能基因的编码区
Roles of DNA methylation:
甲基化芯片
甲基化芯⽚主要是450K和850K,都是采⽤了两种探针Infinium Ⅰ 和Infinium Ⅱ对甲基化 进⾏测定;
- Infinium I采⽤了两种bead(甲基化M和⾮甲基化U)
- II只有⼀种bead(即甲基化和⾮甲基化在⼀起)
这也导致了它们在后续荧光探测的不同,450K采⽤了两种荧光探测信号(红光和绿光)。
850k
编码区域与增强子区域范围广泛覆盖的唯一组合
每份样本分析超过850,000个甲基化位点,可达单核苷酸分辨率
● 实验分析方法可重现性高
技术平行重复性>98%
● 简单的工作流程
PCR-free(无需聚合酶链式反应)的操作,结合强大的Infinium HD Assay实验分析方法
● 与福尔马林固定、石蜡包埋样本兼容
可提供适用于福尔马林固定、石蜡包埋样本的甲基化研究实验方案
Infinium MethylationEPIC BeadChip芯片基于业界领先的Infinium HumanMethylation450 BeadChip芯片的基础上开发,包含原有90%以上的CpG,外加新增的350,000个位于增强子区域的CpG。该实验分析方法能够在单个CpG位点的水平上提供定量甲基化测量,可适用于正常及福尔马林固定、石蜡包埋(FFPE)样本,为深入了解表观遗传变化提供了强大的检测分辨率。
表达谱芯片 |
甲基化芯片 |
---|---|
.cel |
.idat |
基因表达矩阵 |
甲基化信号矩阵 |
下载甲基化芯片的两种方式
- 下载原始idat原始文件:
library(GEOquery)
getGEOSuppFiles("GSE68777") #或者自己上官网下载
untar("GSE68777/GSE68777_RAW.tar", exdir = "GSE68777/idat") # minfi ⽆法读取压缩的idat⽂件,所以需要解压
head(list.files("GSE68777/idat", pattern = "idat"))
idatFiles <- list.files("GSE68777/idat", pattern = "idat.gz$", full = TRUE)
rgSet <- read.metharray.exp("GSE68777/idat")
rgSet
save(rgSet,file = 'GSE68777_minfi_rgSet.Rdata')
- 下载甲基化信号值矩阵:
require(GEOquery)
require(Biobase)
GSE80559 <- getGEO("GSE80559")
beta.m <- exprs(GSE80559[[1]])
甲基化信号值矩阵3个层次的差异分析
- DMP:DMP代表找出Differential Methylation Probe(差异化CpG位点)
- DMR:DMR代表找出Differential Methylation Region(差异化CpG区域)
- DMB:Block代表Differential Methylation Block(更⼤范围的差异化region区域)
专有名词 |
概念 |
---|---|
beta |
One single beta matrix to do filtering. (default = myImport$beta). |
M |
One single M matrix to do filtering. (default = NULL). |
pd |
pd file related to this beta matrix, suggest provided, because maybe filtering would be on pd file. (default = myImport$pd) |
intensity |
intensity matrix. (default = NULL). |
Meth |
Methylated matrix. (default = NULL). |
UnMeth |
UnMethylated matrix. (default = NULL). |
detP |
Detected P value matrix for corresponding beta matrix, it MUST be 100% corresponding, which can be ignored if you don't have.(default = NULL) |
beadcount |
Beadcount information for Green and Red Channal, need for filterBeads.(default = NULL) |
Beta和M值的差别
- M-values具有更好的统计特性,更适合用于进行下游的统计分析(差异分析等)
- Beta-values更加容易解释,更能说明生物学上的意义
β值的具体意义
- 任何等于或大于0.6的β值都被认为是完全甲基化的
- 任何等于或小于0.2的β值被认为是完全未甲基化的
- β值在0.2和0.6之间被认为是部分甲基化的
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- KDE下完美的Unity桌面体验,扔掉active window control
- C++核心准则T.5:结合使用泛型和面向对象技术应该增强它们的效果而不是成本
- C++核心准则T.10:为所有的模板参数定义概念
- C语言二级指针用法之模拟句柄用途
- Linux解压缩文件
- C++核心准则T.11:只要可能就使用标准概念
- 给pugjs的stun主题添加canvas时钟
- C++核心准则T.12:声明局部变量类型时,概念比auto更好
- Arch Linux切换rEFInd开机引导程序
- C++核心准则T.13:对于简单的,单类型参数概念,使用缩略记法更好
- VBA编写Ribbon Custom UI编辑器08——实现ZIP的写入
- 用 Python 写个七夕表白神器
- 3分钟短文 | Laravel 用户授权原来内置了这么多方法
- E0144"const char *" 类型的值不能用于初始化 "char *" 类型的实体的三种解决方法
- 数据采集面对JS加密无所适从?善用这3个工具,搞定一大半的JS逆向!