当前位置: 首页 > news >正文

xQTLs 共定位分析(XQTLbiolinks包)

XQTL 共定位分析

XQTLbiolinks 是一个端到端的生物信息学工具,由深圳湾实验室李磊研究团队开发,用于高效地分析公共或用户定制的个xQTLs数据。该软件提供了一个通过与 xQTLs 共定位分析进行疾病靶基因发现的流程,以检测易感基因和致病变异。

图片

github地址

https://github.com/dingruofan/xQTLbiolinks

0. R包下载与引用

用户可以通过以下代码安装或者引用:

#if (!require("BiocManager", quietly = TRUE)){install.packages("BiocManager")}
#BiocManager::install("SummarizedExperiment") # For windows or linux
#if(!require("devtools")){install.packages("devtools")}
#devtools::install_github("dingruofan/xQTLbiolinks")
library(data.table)
library(xQTLbiolinks)
library(stringr)
library(coloc)

1.数据预处理

使用示例文件(GRCh38 版本基因组)的 GWAS 摘要汇总数据,在大脑 - 小脑中执行共定位分析:

gwasDF <- fread("http://bioinfo.szbl.ac.cn/xQTL_biolinks/xqtl_data/gwasDFsub.txt")
tissueSiteDetail="Brain - Cerebellum"
head(gwasDF)

输入的数据必须要有以下几列,列名可以不一样,但顺序必须相同:

  • 列1. variants,使用rsID(例如“rs11966562”)

  • 列2. chromosome,染色体

  • 列3. position,snp的基因组位置

  • 列4. P-value

  • 列5. MAF,等位基因频率

  • 列6. beta,效应大小

  • 列7. se,标准误

示例使用的是内置的 GTEX 数据,可以使用以下代码查看其中可使用的组织来源 eqtl 数据:

xQTLbiolinks::tissueSiteDetailGTExv8$tissueSiteDetail %>% unique()

2.鉴定哨兵 snps

哨兵 SNP 可以通过使用 xQTLanalyze_getSentinelSnp 及其参数 p-value < 5e-8SNP-to-SNP distance > 10e6 bp来检测。如果提供的 GWAS 文件基因组版本是 GRCh37,推荐将其转换为 GRCh38(使用参数:genomeVersion="grch37)。

sentinelSnpDF <- xQTLanalyze_getSentinelSnp(gwasDF, pValueThreshold = 5e-08)
# 筛选过后的snp如下
sentinelSnpDF
#>          rsid  chr position   pValue    maf    beta      se
#> 1: rs13120565 chr4 10702513 5.66e-10 0.6429 0.01825 0.00294

3.确定 snps 相关性状基因

性状基因是指位于哨兵 SNPs 1Mb 范围内(默认值,可以通过参数detectRange更改)的基因,使用函数 xQTLanalyze_getTraits 搜索哨兵 SNPs 1Mb 范围内的每个基因。

traitsAll <- xQTLanalyze_getTraits(sentinelSnpDF, detectRange=1e6, tissueSiteDetail=tissueSiteDetail)
# 总共检测到3个特征基因与1个SNP之间的3个关联
traitsAll
#>          rsid  chr position   pValue    maf    beta      se       gencodeId
#> 1: rs13120565 chr4 10702513 5.66e-10 0.6429 0.01825 0.00294 ENSG00000002587
#> 2: rs13120565 chr4 10702513 5.66e-10 0.6429 0.01825 0.00294 ENSG00000109684
#> 3: rs13120565 chr4 10702513 5.66e-10 0.6429 0.01825 0.00294 ENSG00000261490

4.进行共定位分析

共定位方法中有四个统计假设

  • H0:表型1(GWAS)和 表型2 (*QTL)与某个基因组区域的所有SNP位点无显著相关

  • H1/H2:表型1(GWAS)或表型2(*QTL)与某个基因组区域的SNP位点显著相关

  • H3:表型1(GWAS)和 表型2 (*QTL)与某个基因组区域的SNP位点显著相关,但由不同的因果变异位点驱动

  • H4:表型1(GWAS)和 表型2 (*QTL)与某个基因组区域的SNP位点显著相关,且由同一个因果变异位点驱动

① 对于单个特征基因,例如上步骤中的 ENSG00000109684,可以使用coloc方法执行共定位分析:

output <- xQTLanalyze_coloc(gwasDF, "ENSG00000109684", tissueSiteDetail=tissueSiteDetail) # using gene symbol
# 输出是一个列表,包括两部分:coloc_Out_summary 和 gwasEqtlInfo
output$coloc_Out_summary
#>    nsnps    PP.H0.abf   PP.H1.abf    PP.H2.abf  PP.H3.abf PP.H4.abf
#> 1:  7107 7.097893e-11 1.32221e-07 3.890211e-06 0.00625302  0.993743
#>          traitGene candidate_snp SNP.PP.H4
#> 1: ENSG00000109684    rs13120565 0.5328849

② 对于多个特征基因,可以使用for循环或lapply函数来获取所有基因的输出(使用coloc和hyprcoloc方法)

outputs <- rbindlist(lapply( unique(traitsAll$gencodeId), function(x){ # using gencode ID.xQTLanalyze_coloc(gwasDF, x, tissueSiteDetail=tissueSiteDetail, method = "Both")$colocOut }))
# outputs是一个data.table,它合并了所有基因的 coloc_Out_summary 的所有结果
outputs
#>          traitGene nsnps    PP.H0.abf    PP.H1.abf    PP.H2.abf  PP.H3.abf
#> 1: ENSG00000002587  6452 1.730175e-05 3.218430e-02 6.603361e-05 0.12198838
#> 2: ENSG00000109684  7107 7.097893e-11 1.322210e-07 3.890211e-06 0.00625302
#> 3: ENSG00000261490  6601 5.287051e-05 9.848309e-02 4.801374e-04 0.89435622
#>     PP.H4.abf candidate_snp SNP.PP.H4 hypr_posterior hypr_regional_prob
#> 1: 0.84574398    rs13120565 0.4140146         0.5685             0.9694
#> 2: 0.99374296    rs13120565 0.5328849         0.9793             0.9999
#> 3: 0.00662768    rs13120565 0.4219650         0.0000             0.0101
#>    hypr_candidate_snp hypr_posterior_explainedBySnp
#> 1:         rs13120565                        0.2726
#> 2:         rs13120565                        0.4747
#> 3:         rs13120565                        0.4118

5. 结果可视化

对于潜在的因果基因ENSG00000109684(PP4=0.9937 & hypr_posterior=0.9999,数值越大越显著),我们可以获得其跨组织的显著关联:

xQTLvisual_eqtl("ENSG00000109684")

图片

为了可视化 p 值分布和比较 GWAS 和 eQTL 的信号,首先通过 rsid 合并 GWAS 和 eQTL 的变异

eqtlAsso <- xQTLdownload_eqtlAllAsso(gene="ENSG00000109684", tissueLabel = tissueSiteDetail, data_source = "liLab")
gwasEqtldata <- merge(gwasDF, eqtlAsso, by="rsid", suffixes = c(".gwas",".eqtl"))

函数 xQTLvisual_locusCompare 在右上角显示候选 SNP rs13120565:

xQTLvisual_locusCompare(gwasEqtldata[,.(rsid, pValue.eqtl)], gwasEqtldata[,.(rsid, pValue.gwas)], legend_position = "bottomright")
# 注意:SNP连锁不平衡信息会自动在线下载。由于网络问题,下载有时可能会失败。如果这种情况发生,请再次尝试运行。

图片

GWAS 信号的 Locuszoom 图

xQTLvisual_locusZoom(gwasEqtldata[,.(rsid, chrom, position, pValue.gwas)], legend=FALSE)

图片

eQTL 信号的 LocusZoom 图

xQTLvisual_locusZoom(gwasEqtldata[,.(rsid, chrom, position, pValue.eqtl)], highlightSnp = "rs13120565", legend=FALSE)

图片

eQTL(rs13120565-ENSG00000187323.11)标准化表达的小提琴图

xQTLvisual_eqtlExp("rs13120565", "ENSG00000109684", tissueSiteDetail = tissueSiteDetail)

图片

xQTLvisual_locusCombine结合locuscompare和locuszoom图

xQTLvisual_locusCombine(gwasEqtldata[,c("rsid","chrom", "position", "pValue.gwas", "pValue.eqtl")], highlightSnp="rs13120565")

图片

共定位位点应显示出一般模式,其中高 LD 的 SNPs 将显示出与共定位基因表达水平的强关联,而低 LD 的 SNPs 的 eQTL 关联将减弱。eQTL 的这种模式在不同组织/细胞类型中变化,其强度表明了变异的调节效应的力量。我们可以使用 xQTLvisual_coloc 可视化不同组织/细胞类型中 eQTL 的 p 值与 LD 之间的相关性,以轻松区分这种模式:

multi_tissue_coloc <- xQTLvisual_coloc(gene="ENSG00000109684", variantName="rs13120565", tissueLabels = c("Brain - Cerebellar Hemisphere", "Brain - Cerebellum", "Thyroid", "Lung","Cells - EBV-transformed lymphocytes"))

图片

速来速去 

图片

今天就分享到这

相关文章:

xQTLs 共定位分析(XQTLbiolinks包)

XQTL 共定位分析 XQTLbiolinks 是一个端到端的生物信息学工具&#xff0c;由深圳湾实验室李磊研究团队开发&#xff0c;用于高效地分析公共或用户定制的个xQTLs数据。该软件提供了一个通过与 xQTLs 共定位分析进行疾病靶基因发现的流程&#xff0c;以检测易感基因和致病变异。…...

网络工程(学习记录)

day1创建Vlan Switch>enable Switch#configure terminal Switch(config)#hostname SW1 修改名称为SW1 SW1(config)# SW1(config)#vlan 10 创建vlan10 SW1(config-vlan)#vlan 20 SW1(config)#interface f0/1 进入接口f0…...

全志A133 android10 适配EC20 4G模块

一&#xff0c;移植适配 1. 驱动移植 代码路径&#xff1a;longan/kernel/linux-4.9/drivers/usb/serial/option.c diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 9f96dd2..2f25466 100644 --- a/drivers/usb/serial/option.cb/drivers/us…...

数据分析:Python语言网络图绘制

文章目录 介绍加载R包类别导入数据下载数据画图介绍 网络图是一种图形表示法,用于展示实体之间的关系。在不同的领域中,网络图有着不同的含义和用途:在生物学中,网络图可以用来表示生物分子之间的相互作用,如蛋白质相互作用网络。 加载R包 import pandas as pd import …...

使用ChatGPT引导批判性思维,提升论文的逻辑与说服力的全过程

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 批判性分析&#xff08;Critical Analysis&#xff09; 是论文写作中提升质量和说服力的重要工具。它不仅帮助作者深入理解和评价已有研究&#xff0c;还能指导作者在构建自己论点时更加…...

vue限定类型上传文件 最简单实践(单个可文件、可图片)

这个是为了文件导入弄的&#xff0c;内部运维人员使用的 目前还没做删除文件的交互 <el-uploadclass"upload-demo"ref"upload":before-upload"handleBeforeUpload"action"#"accept".xls,.xlsx":limit"1">&l…...

【GUI设计】基于图像分割和边缘算法的GUI系统(7),matlab实现

博主简介&#xff1a; 如需获取设计的完整源代码或者有matlab图像代码项目需求/合作&#xff0c;可联系主页个人简介提供的联系方式或者文末的二维码。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于图像分割和边缘算法的GUI系统…...

未来之窗VOS编程工具让你的工作效率翻倍———未来之窗行业应用跨平台架构

未来之窗编程工具概述 平板电脑/手机用于编程具有诸多优点。其便携性强&#xff0c;方便随时随地开展工作。触摸操作直观便捷&#xff0c;长续航能满足长时间需求&#xff0c;启动迅速。支持手写绘图&#xff0c;利于表达想法。能集成多种编程工具&#xff0c;还便于通过云服务…...

分布式数据库——HBase基本操作

启动HBase: 1.启动hadoop,进入hadoop的sbin中 cd /opt/hadoop/sbin/ 2.初始化namenode hdfs namenode -format 3.启动hdfs ./start-all.sh 4.启动hbase cd /opt/hbase/bin ./start-hbase.sh 5.使用jps查看进程 jps 以下图片则是hbase启动成功~ 运行HBase ./hbase sh…...

Go语言并发编程中的超时与取消机制解析

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 并发编程是Go语言的核心优势之一,而在实际应用中,超时和取消操作会频繁出现。超时机制能够帮助我们理解系统行为,防止系统因为某些任务执行过长而陷入困境。与此同时,取消操作则是应对超时的一种自然反应。此…...

Unity3D UIdocument如何改变层级详解

前言 在Unity3D中&#xff0c;UI文档的层级改变通常涉及UI元素的显示顺序&#xff0c;这是通过UGUI&#xff08;Unitys Graphical User Interface&#xff09;系统来实现的。以下是一篇关于如何在Unity3D中改变UI元素层级的详细解析&#xff0c;包括技术详解和代码实现。 对惹…...

Debian与Ubuntu:深入解读两大Linux发行版的历史与联系

Debian与Ubuntu&#xff1a;深入解读两大Linux发行版的历史与联系 引言 在开源操作系统的领域中&#xff0c;Debian和Ubuntu是两款备受瞩目的Linux发行版。它们不仅在技术上有着密切的联系&#xff0c;而且各自的发展历程和理念也对开源社区产生了深远的影响。本文将详细介绍…...

GPU服务器本地搭建Dify+xinference实现大模型应用

文章目录 前言一、显卡驱动配置1.检测显卡2.安装驱动 二、安装nvidia-docker二、安装Xinference1.拉取镜像2.运行Xinference3.模型部署 三、安装Dify1.下载源代码2.启动 Dify3.访问 Dify 四、Dify构建应用1.配置模型供应商2.聊天助手3.Agent 前言 本文使用的GPU服务器为UCloud…...

嵌入式程序设计经验 创建复位函数

在设计嵌入式系统重新时 需要考虑软复位的情况, 软复位时 很多变量都需要重置为初始值, 如果一个个去赋值 很麻烦, 下面是一个简单的办法 主要是对结构体 复位的方法: #include <stdint.h>typedef struct {uint8_t reg1;uint8_t reg2;uint8_t reg3; } StruSimuStat1…...

每天五分钟深度学习框架pytorch:交叉熵计算时的维度是什么?

本文重点 前面我们学习了pytorch中已经封装好的损失函数,已经封装好的损失函数有很多,但是我们并没有详细介绍,原因就是单独介绍损失函数可能难以理解,我们上一章节的目的是让大家先了解一下常见的损失函数,然后再之后的实际使用中遇到哪个损失函数,我们就使用哪个损失函…...

【Axure视频教程】跨页面控制中继器表格

今天教大家在Axure制作跨页面控制中继器表格的原型模板&#xff0c;我们可以在一个页面中通过交互&#xff0c;对另一个页面中的中继器进行控制&#xff0c;控制其显示的数据内容。那这个模板使用也很简单&#xff0c;复制粘贴按钮&#xff0c;在中继器表格里填写对应的数据&am…...

Android 利用OSMdroid开发GIS 添加 控件以及定位

部署看这个&#xff1a;Android 利用OSMdroid开发GIS-CSDN博客 添加控件&#xff0c;直接上源码 activity_main.xml&#xff1a; <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/…...

前端vue-实现富文本组件

1.使用wangeditor富文本编辑器 工具网站&#xff1a;https://www.wangeditor.com/v4/ 下载安装命令&#xff1a;npm i wangeditor --save 成品如下图&#xff1a; 组件实现代码 <template><div><!-- 富文本编辑器 --><div id"wangeditor">…...

AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的气动控制(中)

目录 2.2 CAN总线技术及TTCAN协议 2.2.1 CAN总线技术 2.2.2 TTCAN协议 3 气动系统的定位控制研究 3.1 滑模控制原理 3.1.1 滑模控制概念和特性 3.1.2 滑模控制的抖振问题 3.1.3 非奇异终端滑模控制 3.2 气动系统定位控制策略设计 3.2.1 跟踪微分器的设计…...

国内可用ChatGPT-4中文镜像网站整理汇总【持续更新】

一、GPT中文镜像网站 ① yixiaai.com 支持GPT4、4o以及o1&#xff0c;支持MJ绘画 ② chat.lify.vip 支持通用全模型&#xff0c;支持文件读取、插件、绘画、AIPPT ③ AI Chat 支持GPT3.5/4&#xff0c;4o以及MJ绘画 二、模型知识 o1/o1-mini&#xff1a;最新的版本模型&am…...

别再只会用‘Let‘s think step by step’了:DeepSeek-R1原生CoT机制详解与实战调优

解锁DeepSeek-R1推理潜能&#xff1a;原生思维链技术深度解析与高阶应用指南 当我们在数学考试中遇到复杂题目时&#xff0c;老师总会强调"把解题过程写清楚"。这种分步思考的方式&#xff0c;正是人类解决复杂问题的核心方法。如今&#xff0c;大语言模型也掌握了这…...

城通网盘限速破解:ctfileGet让下载效率提升10倍的技术革命

城通网盘限速破解&#xff1a;ctfileGet让下载效率提升10倍的技术革命 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字化协作日益频繁的今天&#xff0c;网盘已成为信息传递的重要枢纽。然而城通…...

3步革新Windows任务栏:TranslucentTB打造个性化桌面体验

3步革新Windows任务栏&#xff1a;TranslucentTB打造个性化桌面体验 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在视觉主导的数字时代…...

火影迷的AI绘画神器:忍者绘卷Z-Image Turbo零基础入门实战

火影迷的AI绘画神器&#xff1a;忍者绘卷Z-Image Turbo零基础入门实战 1. 前言&#xff1a;当火影忍者遇上AI绘画 作为一名火影迷&#xff0c;你是否曾经幻想过自己也能创造出独特的忍者世界角色&#xff1f;现在&#xff0c;借助"忍者绘卷Z-Image Turbo"这款专为火…...

CVPR 2025新秀OverLoCK上手实测:在COCO数据集上跑目标检测,比MogaNet-B高1% AP是怎么做到的?

OverLoCK实战指南&#xff1a;如何在COCO目标检测任务中超越MogaNet-B 1% AP 计算机视觉领域的主干网络架构正在经历一场静默革命。2025年CVPR最新收录的OverLoCK网络以其创新的"先概览再聚焦"设计理念&#xff0c;在多个视觉任务中展现出惊人的性能突破。本文将带您…...

激发创意:利用快马平台ai模型辅助设计与优化cmhhc算法

激发创意&#xff1a;利用快马平台AI模型辅助设计与优化CMHHC算法 最近在做一个字符串压缩相关的项目&#xff0c;需要实现一个自定义的压缩算法CMHHC。这个算法的核心思想其实很简单&#xff1a;对于连续出现的相同字符&#xff0c;用该字符加上出现次数来表示。比如"aa…...

SpringBoot+Redis实现高并发短信登录:双拦截器设计背后的架构思考

SpringBootRedis高并发短信登录架构深度解析&#xff1a;双拦截器设计与性能优化实战 1. 高并发场景下的登录架构挑战 在当今互联网应用中&#xff0c;短信验证码登录已成为主流的身份验证方式之一。但当系统面临高并发请求时&#xff0c;传统的Session-based方案会暴露出诸多瓶…...

ArchLinux新手必看:用Fcitx5搞定中文输入,从安装到美化皮肤保姆级教程

ArchLinux新手必看&#xff1a;用Fcitx5搞定中文输入&#xff0c;从安装到美化皮肤保姆级教程 刚接触ArchLinux的新手们&#xff0c;面对命令行界面时总会有些手足无措。特别是当需要输入中文时&#xff0c;如何配置一个既美观又实用的输入法成了许多人的第一个挑战。Fcitx5作…...

避坑指南:UGUI项目中使用SpriteAtlas的5个致命错误(附解决方案)

UGUI项目中使用SpriteAtlas的5个致命错误与实战解决方案 在Unity UI开发中&#xff0c;SpriteAtlas作为性能优化的利器&#xff0c;能够显著减少DrawCall并优化内存使用。然而&#xff0c;许多开发者在实际项目中往往会踩中一些"坑"&#xff0c;导致性能不升反降&…...

C-index避坑指南:生存分析中90%人会犯的5个评估错误

C-index避坑指南&#xff1a;生存分析中90%人会犯的5个评估错误 在临床研究和生物统计领域&#xff0c;C-index&#xff08;Harrells concordance index&#xff09;作为评估生存分析模型预测性能的核心指标&#xff0c;其正确计算与解读直接影响研究结论的可靠性。然而&#x…...