今天我们来聊一聊孟德尔随机化

2023-11-19

欢迎关注”生信修炼手册”!

在传统的实验设计中,由于种种混杂因素的存在,我们仅仅能够分析变量之间的关联性,最典型的比如GWAS, 对于显著的位点,只能够说明这些位点和性状之间存在关联。对于了解事情发生的原因和规律而言,关联性是不够的,我们需要的是因果性。为了更好的探究因果关系,必须在实验设计和方法上加以改进。

孟德尔随机化, Mendilian Randomization,  简写为MR, 是一种在流行病学领域应用广泛的一种实验设计方法。通过引入一个称之为工具变量的中间变量,来分析暴露因素和结局之间的因果关系,示意图如下

参考资料

http://chinaepi.icdc.cn/zhlxbx/ch/reader/create_pdf.aspx?file_no=20170427&flag=1&journal_id=zhlxbx&year_id=2017

传统的实验方法直接探究暴露因素和结局变量之间的因果关联,由于混杂因素的存在,无法有效说明二者之间的因果性。工具变量的引入巧妙规避了混杂因素的影响,在上述模型中

  1. 暴露因素X和结局变量Y会受到混在因素U的影响

  2. 工具变量Z和混杂因素U之间不存在任何联系,相互独立

  3. 工具变量Z和暴露因素X之间存在关联性, 结局变量Y之间没有直接的关联性,仅能够通过暴露因素X和结局变量Y之间建立关联

之所以称之为孟德尔随机化,是因为在工具变量的选择上,将遗传变异作为了工具变量。在孟德尔遗传规律中,亲代等位基因随机分配给子代,基因型决定表型,基因型通过表型与疾病发生关联,基因型看做是工具变量Z, 表型看做是暴露因素X, 疾病看做是结局变量Y。

基因型(特指胚系细胞的基因型)是先天决定的,不会受到生长环境,经济地位,行为因素的干扰,而且先有基因,再有表型,再有疾病,三者的先后顺序符合因果时序。

孟德尔随机化的具体实验设计有很多种,来看一个最简单的模型,示意如下

遗传变量G与暴露因素X有关联,如果观测到遗传变异与解决变量Y之间也存在关联,那么可以说明是遗传变异G通过暴露因素X对结局变量Y造成的影响,从而说明了暴露因素X和结局变量Y之间的因果性。

上述模型称之为一阶段MR, 为了增加分析结果的可靠性,量化关联效应的大小,还有很多更复杂的孟德尔随机试验设计,比如独立样本MR, 两样本MR, 双向MR, 两阶段MR, 基因-暴露交互作用MR等等,其中两样本MR,用来自相同群里的两批数据分别研究遗传变异G与暴露因素X, 遗传变异G与结局变量Y之间的关联性,通常是利用大样本量的GWAS分析,由于其样本量大,分析结果具有较好的把握度。而且可以基于已有的GWAS结果来进行分析,经济高效,应用的最为广泛。

在选择遗传变异时,可以是SNP,也可以是CNV等其他类型的遗传变异,只不过SNP使用的最多。对于SNP而言,并非选择全部的SNP位点,而是需要选择与暴露因素具有较强关联性的SNP位点,可以参考gwas结果来进行筛选。筛选出SNP位点之后,还有多种建模方式,可以利用单个SNP位点,多个SNP位点,等位基因个数,遗传风险评分等不同方式来建模,量化关联。使用多个SNP位点来建模时,需要进行MR-Egger分析来评价基因多效性带来的偏倚。

GWAS数据的不断增加为孟德尔随机化研究提供了数据基础,随着统计方法的推陈出新,各种组学技术的发展,孟德尔随机化的研究也应用的越来越广泛。

·end·

—如果喜欢,快分享给你的朋友们吧—

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  更多精彩

  写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

生物信息入门

只差这一个

公众号

点击下方“阅读原文”,我们一起进步!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

今天我们来聊一聊孟德尔随机化 的相关文章

  • 51单片机多机通信

    视频学习链接 https www bilibili com video BV1pi4y147A6 spm id from 333 880 my history page click vd source b91967c499b23106586
  • Zabbix的模板管理与配置

    Zabbix的模板管理与配置 一 查看默认模板的配置项 1 打开客户端信息配置界面 2 选择默认模板的监控项 二 服务端获取客户端的监控项 1 获取客户端系统相关监控项 2 获取客户端硬盘信息等相关监控项 三 创建自定义监控项的key 1
  • 如何在IDEA中使用JDBC

    如何在IDEA中使用JDBC 摘要 安装JDK及IDEA mysql下载安装及预处理 JDBC驱动下载 新建IDEA项目 添加JDBC驱动文件至项目 编写java测试语句 摘要 本文主要介绍了如何用IDEA新建一个java项目 并用JDBC
  • Docker私服之Harbor搭建全过程【安装+启动+jar镜像构建、推送、拉取、运行】

    1 docker安装 docker compose docker和docker compose安装参考链接 2 harbor安装 harbor下载 harbor offline installer v2 5 3 tgz 我下载的版本是2 5
  • 芯片制造系列全流程:设计、制造、封测

    目录 芯片制造系列全流程 简 一 芯片制造全流程简介 二 芯片设计 三 芯片制造 四 封装测试 芯片目前分为三个主要环节 分别是设计 制程 封测 设计水平 制造这一块 最后说说封测这一块 芯片设计 芯片制造 封装测试完整解读 01 芯 片
  • 手把手教你安装CUDA(一看就会)

    1 背景 学习深度学习的话 肯定需要安装PyTorch和TensorFlow 安装这两个深度学习框架之前得安装CUDA CUDA是什么 CUDA是一个并行计算平台和编程模型 能够使得使用GPU进行通用计算变得简单和优雅 Nvidia官方提供
  • 树状数组笔记

    数组 前缀和 树状数组的区别 数组 修改某点O 1 求区间O n 前缀和 修改某点O n 求区间O 1 树状数组 修改某点O logn 求区间O logn 树状数组采取折中的方式 降低整体的时间复杂度 由于算法复杂度取决于最坏的情况的复杂度
  • 1.vs2019 配置Eigen

    目录 一 下载Eigen 二 创建工程 三 测试代码 四 运行结果 一 下载Eigen 下载地址 http eigen tuxfamily org index php title Main Page Download 下载后 将文件解压 二
  • Python--pytesseract验证码识别处理实例

    linux ubuntu系统 安装过程 pytesser 调用了 tesseract 因此需要安装 tesseract 安装 tesseract 需要安装 leptonica 否则编译tesseract 的时候出现 configure er
  • mysql 自定义函数 if not exists_IF配合AND、OR以及NOT函数使用,可以解决工作中的不少难题...

    前面小编已经分别介绍了逻辑判断函数IF AND OR及NOT的用法 同时也提到它们比较少单独使用 那么 这篇文章我们就来介绍一下IF分别和AND OR及NOT的配合用法 1 函数定义回顾 首先来回顾下这4个逻辑判断函数的定义 1 IF函数
  • 每日一题:整齐的数组

    整齐的数组 题目 Daimayuan Online Judge 每一次可以选择一个ai减去k 可以进行若干次操作 使得所有数变相同 说明跟顺序无关 可以从小到大排个序 k大于等于1 说明了每个数只能变小不能变大 那么每个数只能变得和最小的那
  • Android-系统分享使用小结

    Android 系统分享使用小结 概述 如何进行分享 如何筛选分享项 如何区分部分APP下不同分享界面 以微信为例 如何还原过滤前APP分享途径的描述 概述 说到分享 有很多第三方的SDK可供使用 比如友盟 mob都很好用 虽然集成相对容易
  • netcore 文件服务器,在 ASP.NET Core 中上传文件

    ASP NET Core 支持使用缓冲的模型绑定 针对较小文件 和无缓冲的流式传输 针对较大文件 上传一个或多个文件 安全注意事项 向用户提供向服务器上传文件的功能时 必须格外小心 攻击者可能会尝试执行以下操作 执行拒绝服务攻击 上传病毒或
  • supervisor

    使用 安装配置 待续 服务配置 program g7service command bin bash c dotnet YH TaskManager Collect dll directory home service g7 stderr
  • Ubuntu20.04美化成mac 系统样式

    一 效果 二 安装源 1 sudo gedit etc apt sources list deb http mirrors 163 com ubuntu focal main restricted deb http mirrors 163
  • STM32例程之USB HID双向数据传输

    http www viewtool com bbs forum php mod viewthread tid 199 extra page 3D1 程序功能 将STM32的USB枚举为HID设备 STM32使用3个端点 端点0用于枚举用 端
  • 磁盘性能测试相关基础知识

    fio name disk test ioengine libaio direct 1 thread 1 norandommap 1 randrepe at 0 runtime 100 ramp time 6 size 16g filena
  • 在Mac中设置Ctrl+C/V进行复制/粘贴

    从Windows世界走入Mac世界 最让不习惯的是在Mac中 复制 粘贴 的快捷键是Command C V 而且Command键与C V键靠得太近 只能用大拇指与食指进行操作 也让人不习惯 再加上远程桌面连接至Windows时 只能用Ctr
  • Qt中moc问题(qt moc 处理 cpp)

    Qt编译常见的错误 编译报错 1 gt Linking 1 gt cmmwindow obj error LNK2001 unresolved external symbol public virtual struct QMetaObjec
  • 【Flutter 问题系列第 75 篇】Flutter 中 pubspec.yaml 配置文件的说明

    这是 Flutter 问题系列第 75 篇 如果觉得有用的话 欢迎关注专栏 文章目录 一 问题描述 二 属性详解 name description version environment dependencies dev dependenc

随机推荐

  • 向数据库插入数据报错Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\xE5\xA4\

    之前连接数据库都没问题 可是今天新加一个表之后 向这个表中加入数据就报错 2018 08 25 14 54 59 082 WARN 8136 nio 8090 exec 7 m m a ExceptionHandlerExceptionRe
  • unity game界面按下play会不断闪烁,按下暂停键(pause)或者中止/下一步(step),game界面的画面会接连变化

    没找到答案 改了两个下午的程序 改完还是这样 后来发现是FixedUpdate Update与OnDrawGizmos的问题 OnDrawGizmos是每帧都会绘制 用FixedUpdate理所当然就那啥了 分析的时候 就突然想到是不是这俩
  • JWT token心得与使用实例

    本文你能学到什么 token的组成 token串的生成流程 token在客户端与服务器端的交互流程 Token的优点和思考 参考代码 核心代码使用参考 不是全部代码 JWT token的组成 头部 Header 格式如下 typ JWT a
  • 剑指offer第二版(C++实现)

    剑指offer 2 面试需要的基础知识 数据结构 数组 二维数组中的查找 字符串 替换空格 链表 从尾到头打印链表 树 重建二叉树 栈和队列 用两个栈实现队列 算法和数据结构 查找和排序 旋转数组的最小数字 递归和循环 斐波那契数列 位运算
  • Go语言实现区块链与加密货币-Part3(交易优化,单机模拟多节点通信)

    交易 二 在这个系列文章的一开始 我们就提到了 区块链是一个分布式数据库 不过在之前的文章中 我们选择性地跳过了 分布式 这个部分 而是将注意力都放到了 数据库 部分 到目前为止 我们几乎已经实现了一个区块链数据库的所有元素 今天 我们将会
  • 轻松解决Visual Studio登陆凭证问题

    很多同学在使用Visual Studio的时候 在试用期过后 需要登陆验证时 往往会登陆不上 出现 无法刷新用户凭证 无法获得信赖 等问题 如图 解决方式 点击账户选项 使用系统Web浏览器
  • 解决:xcode:Member reference base type ‘rapidjson::Document‘ (aka ‘int‘) is not a structure or union

    xcode Member reference base type rapidjson Document aka int is not a structure or union 首先尝试了 把rapidjson当作源码接进项目 放在demo的
  • DB2动态实现时间类型加减

    DB2动态实现时间类型加减 需求分析 根据时间类型动态展示数据 例如作图表展示中x轴时间等 具体实现 db2 sql select t4 SERIES t7 TARGET NAME max t4 DATATIME DATATIME SUBS
  • html结合css实现浏览器展示3D相册

    最近写了一个在浏览器展示3D相册效果 通过html文件结合css实现 1 html详细代码如下
  • Windows10 系统下cuda安装教程,小白教程 !很详细!!

    Windows10 系统下cuda安装教程 1 查看适合自己电脑的cuda版本 1 点击Windows R 输入nvidia smi 看一下自己电脑支持的conda 版本是 根据下图白框标出的地方可以看出我的conda 版本是10 0 2
  • 游戏引擎:打造梦幻游戏世界的秘密武器

    介绍 游戏引擎是游戏开发中不可或缺的工具 它为开发者提供了构建游戏世界所需的各种功能和工具 本文将介绍游戏引擎的概念 使用方法以及一个完整的游戏项目示例 游戏引擎的概念 游戏引擎是一种软件框架 它提供了游戏开发所需的各种功能和工具 包括图形
  • Burp Suite的安装

    首先 想要使用burp suite必须有Java环境 想要检查自己是否有Java环境可以在cmd命令行中输入java java version来查看 java环境可以去oracle官网下载一个jdk1 8 然后双击安装就行 jdk版本不能太
  • 两种方法清空memcache缓存(转)

    默认memcache会监听11221端口 如果想清空服务器上memecache的缓存 大家一般使用的是 telnet localhost 11211flush all 同样也可以使用 echo flush all nc localhost
  • c++——static总结

    前言 经过static修饰的变量 存储在内存的全局静态区 且被static修饰的变量只能在本模块的所有函数引用 内存中的存储区域如下 堆区 是由程序员手动申请 new 与释放 delete 的内存区域 从低地址向高地址申请 内存空间大 存储
  • 用户登录测试用例

    谈起用户登录的测试用例 试问有没有在面试测试职位的时候 经常被面试官问到或者是在笔试题上会让你回答 你当时的回答全面了吗 你对自己的答案给多少分呢 然而这只是面试而已 在工作中你的测试用例写得怎么样 有没有考虑全面呢 前几天网上报了一门课程
  • GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计

    1 GBT9706 1中B型BF型和CF型各表示什么意思 代表的是根据与患者接触的部件的电击防护分类 F代表floating绝缘 有很高的保护要求 低漏电流 B代表身体Body C代表心脏cardiac B类设备 具有特定程度电击防护的设备
  • Linux 编译安装中的 configure 命令

    用了这么久的 Linux 系统 也许你会发现 在编译安装中 有的服务编译安装需要执行 configure 命令 而有的却不需要 这是为什么呢 也是不是像我一样一头雾水呢 其实这取决于服务的构建系统和配置方式 以下是两个常见情况 自动配置系统
  • Keil编译完成后出现的程序大小说明

    Keil编译完成后出现的程序大小说明 Code 代表执行的代码 程序中所有的函数都位于此处 也可认为是程序所占用的FLASH大小 存储在FLASH中 RO data Read only data 代表只读数据 程序中所定义的全局常量数据和字
  • OpenStack--创建虚拟机

    启动虚拟机之前需要先做一些前期准备 比如网络和 IP 地址分配 虚拟机 类型创建等等 具体如下 1 网络规划及 IP 划分 官网安装文档 https docs openstack org ocata zh CN install guide
  • 今天我们来聊一聊孟德尔随机化

    欢迎关注 生信修炼手册 在传统的实验设计中 由于种种混杂因素的存在 我们仅仅能够分析变量之间的关联性 最典型的比如GWAS 对于显著的位点 只能够说明这些位点和性状之间存在关联 对于了解事情发生的原因和规律而言 关联性是不够的 我们需要的是