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

【流行病学】Melodi-Presto因果关联工具


title: “[流行病学] Melodi Presto因果关联工具”
date: 2022-12-08
lastmod: 2022-12-08
draft: false
tags: [“流行病学”,“因果关联工具”]
toc: true
autoCollapseToc: true

阅读介绍

Melodi-Presto: A fast and agile tool to explore semantic triples derived from biomedical literature1

triples: subject–predicate–object triple

SemMedDB 大型开放式知识库

使用入口

  • 🚩在线工具 Web Application

  • API

  • Jupyter Notebooks

git 下载到json在提取

curl -X POST 'https://melodi-presto.mrcieu.ac.uk/api/overlap/' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{ "x": [ "diabetes " ], "y": [ "coronary heart disease" ]}' > 1.json

使用示例

X: KRAS 
Y: lung cancer

输入的专业术语应该在Mesh先确定???

文章复现

doi: 10.1093/ije/dyab2032

{{< note >}} 1. 部分内容已经改变 2. Object的挑选精确到chronic 3. Predicate的挑选先无限制 4. Subject的挑选去掉了CRP,但是论文有纳入 5. OR的计算已经去掉? 6. gtf基因和[Uniprot蛋白名库](https://www.uniprot.org/uniprotkb?facets=model_organism%3A9606&query=reviewed%3Atrue)删掉 7. +药物库? {{< /note >}}
library(openxlsx)
# read
df <- read.xlsx("chronic kidney disease.xlsx",sheet = 1,  colNames=TRUE,check.names=FALSE )str(df$Pval)
df$Pval <- as.numeric(df$Pval)
# P value < 0.005
df <- subset(df,df$Pval < 0.005 )# removed triples where the subject was a gene or protein
df$Subject <- tolower(df$Subject)
a=stringr::str_which(df$Subject,pattern = "gene|protein|receptor")
# [waring:delete the CRP in the paper]
df$Subject[a]
df <- df[-a,]# where the term “CAUSES” implies causality, 
#   the term “ASSOCIATED_WITH” implies association, 
#   and the term “COEXISTS_WITH” implies co-existence. 
table(df$Predicate)
df <- subset(df,df$Predicate=="CAUSES"|df$Predicate=="ASSOCIATED_WITH"|df$Predicate=="COEXISTS_WITH")# restricted to triples 
# where the object contained either “kidney” or “renal”
table(df$Object)
dplyr::count(df,forcats::fct_lump_n(Object,n=10))
# 
df$Object <- tolower(df$Object)
b=stringr::str_which(df$Object,pattern = "kidney|renal")
df$Object[b]
df <- df[b,]# removed2 
df$Subject
c=stringr::str_which(df$Subject,pattern = "\\|")
df$Subject[c]
df <- df[-c,]
# 
df$Subject
c=stringr::str_which(df$Subject,pattern = "factor")
df$Subject[c]
df <- df[-c,]
# 
df$Subject
c=stringr::str_which(df$Subject,pattern = "peptide")
df$Subject[c]
df <- df[-c,]# retained only unique risk factors (subjects) 
#    to avoid duplicates
df <- dplyr::arrange(df,desc(Count),Pval)
df <- df[!duplicated(df$Subject),]table(df$Count)
# df <- subset(df,df$Count>2)write.xlsx(df, file = "筛选4.xlsx", colNames = TRUE)# enrichment odds ratio
#  (a) count the number of these triples 
#  (b) the number of total triples matched to the query 
#  (c) the total number of these triples in the data base , 
#  (d) and the total number of triples in the database .# stats.fisher_exact([[a, b-a], [c, d-c]])library(openxlsx)
# read
df <- read.xlsx("chronic kidney disease.xlsx",sheet = 1,  colNames=TRUE,check.names=FALSE )str(df$Pval)
df$Pval <- as.numeric(df$Pval)
# P value < 0.005
df <- subset(df,df$Pval < 0.005 )# removed triples where the subject was a gene or protein
df$Subject <- tolower(df$Subject)
a=stringr::str_which(df$Subject,pattern = "gene|protein|receptor")
# [waring:delete the CRP in the paper]
df$Subject[a]
df <- df[-a,]# where the term “CAUSES” implies causality, 
#   the term “ASSOCIATED_WITH” implies association, 
#   and the term “COEXISTS_WITH” implies co-existence. 
table(df$Predicate)
df <- subset(df,df$Predicate=="CAUSES"|df$Predicate=="ASSOCIATED_WITH"|df$Predicate=="COEXISTS_WITH")# restricted to triples 
# where the object contained either “kidney” or “renal”
table(df$Object)
dplyr::count(df,forcats::fct_lump_n(Object,n=10))
# 
df$Object <- tolower(df$Object)
b=stringr::str_which(df$Object,pattern = "kidney|renal")
df$Object[b]
df <- df[b,]# removed2 
df$Subject
c=stringr::str_which(df$Subject,pattern = "\\|")
df$Subject[c]
df <- df[-c,]
# 
df$Subject
c=stringr::str_which(df$Subject,pattern = "factor")
df$Subject[c]
df <- df[-c,]
# 
df$Subject
c=stringr::str_which(df$Subject,pattern = "peptide")
df$Subject[c]
df <- df[-c,]# retained only unique risk factors (subjects) 
#    to avoid duplicates
df <- dplyr::arrange(df,desc(Count),Pval)
df <- df[!duplicated(df$Subject),]table(df$Count)
# df <- subset(df,df$Count>2)write.xlsx(df, file = "筛选4.xlsx", colNames = TRUE)# enrichment odds ratio
#  (a) count the number of these triples 
#  (b) the number of total triples matched to the query 
#  (c) the total number of these triples in the data base , 
#  (d) and the total number of triples in the database .# stats.fisher_exact([[a, b-a], [c, d-c]])

NHANES

注意事项, 参考文章复现


  1. doi: 10.1093/bioinformatics/btaa726 ↩︎

  2. Trans-ethnic Mendelian-randomization
    study reveals causal relationships between
    cardiometabolic factors and chronic kidney
    disease ↩︎

相关文章:

【流行病学】Melodi-Presto因果关联工具

title: “[流行病学] Melodi Presto因果关联工具” date: 2022-12-08 lastmod: 2022-12-08 draft: false tags: [“流行病学”,“因果关联工具”] toc: true autoCollapseToc: true 阅读介绍 Melodi-Presto: A fast and agile tool to explore semantic triples derived from …...

详细分析KeepAlive的基本知识 并缓存路由(附Demo)

目录 前言1. 基本知识2. Demo2.1 基本2.2 拓展2.3 终极 3. 实战 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本知识推荐阅读&#xff1a;KeepAlive知识点 从实战中学习&#xff0c;源自实战中vue路由的…...

【Go】Go viper 配置模块

1. 配置相关概念 在项目开发过程中&#xff0c;一旦涉及到与第三方中间件打交道就不可避免的需要填写一些配置信息&#xff0c;例如 MySQL 的连接信息、Redis 的连接信息。如果这些配置都采用硬编码的方式无疑是一种不优雅的做法&#xff0c;有以下缺陷&#xff1a; 不同环境…...

zabbix“专家坐诊”第277期问答

在线答疑:乐维社区 问题一 Q&#xff1a;这个怎么解决呢&#xff1f; A&#xff1a;缺少这个依赖。 Q&#xff1a;就一直装不上。 A&#xff1a;装 zabbix-agent2-7.0.0-releasel.el7.x86 64 需要前面提示的那个依赖才可以装。 问题二 Q&#xff1a;大佬&#xff0c;如果agen…...

大模型工程师学习日记(十一):FAISS 高效相似度搜索和密集向量聚类的库

Facebook AI Similarity Search (Faiss /Fez/) 是一个用于高效相似度搜索和密集向量聚类的库。它包含了在任意大小的向量集合中进行搜索的算法&#xff0c;甚至可以处理可能无法完全放入内存的向量集合。它还包含用于评估和参数调整的支持代码。 Faiss 官方文档&#xff1a;We…...

python学习第三天

条件判断 条件判断使用if、elif和else关键字。它们用于根据条件执行不同的代码块。 # 条件判断 age 18 if age < 18:print("你还是个孩子&#xff01;") elif age 18:print("永远十八岁&#xff01;") else:print("你还年轻&#xff01;")…...

深入解析 Svelte:下一代前端框架的革命

深入解析 Svelte&#xff1a;下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架&#xff0c;与 React、Vue 等传统框架不同&#xff0c;它采用 编译时&#xff08;Compile-time&#xff09; 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM&#xff0c;而是…...

C++20 中位移位运算符的统一行为:深入解析与实践指南

文章目录 1. 位移位运算符的基础1.1 左移运算符&#xff08;<<&#xff09;1.2 右移运算符&#xff08;>>&#xff09; 2. C20 对位移位运算符的统一2.1 移位数量超出操作数位宽2.2 负数移位 3. 实践中的注意事项4. 示例代码5. 总结 在 C 的发展历程中&#xff0c;…...

Linux——基本指令

我们今天学习Linux最基础的指令 ls 指令 语法&#xff1a; ls [选项] [⽬录或⽂件] 功能&#xff1a;对于⽬录&#xff0c;该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件&#xff0c;将列出⽂件名以及其他信 息。 命令中的选项&#xff0c;一次可以传递多个 &#xff0c…...

MySql面试总结(二)

WHERE 子句优化 截至2024年7月,MySQL最新稳定版本是8.2,并不存在MySQL 8.4 。下面从常见的几个方面为你介绍 MySQL 8.x 中 WHERE 子句的优化方法: 1. 确保使用索引 原理:索引可以加快数据的查找速度,当 WHERE 子句中的条件列有索引时,MySQL 可以直接定位到符合条件的数…...

Pytorch中的主要函数

目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda&#xff1b;torch.bac…...

Java实现大数据量导出报表

一、实现方式 在Java中&#xff0c;导出数据到Excel有多种方式&#xff0c;每种方式都有其优缺点&#xff0c;适用于不同的场景。以下是常见的几种方式及其特点&#xff1a; 1.1 Apache POI Apache POI 是 Java 中最流行的库&#xff0c;支持读写 Excel 文件&#xff08;包括…...

大语言模型 智能助手——既能生成自然语言回复,又能在必要时调用外部工具获取实时数据

示例代码&#xff1a; import json from langgraph.graph import Graph, END,StateGraph from langchain_core.utils.function_calling import convert_to_openai_function from langchain_community.tools.openweathermap import OpenWeatherMapQueryRun from langchain_core…...

PyTorch 系统教程:理解机器学习数据分割

数据分割是机器学习中的一个基本概念&#xff0c;它直接影响模型的性能和泛化。在本文中&#xff0c;我们将深入研究为什么数据分割在机器学习中很重要&#xff0c;并演示如何使用PyTorch有效地实现它。 理解数据分割 数据分割是将数据集划分为单独的组以进行训练、验证和测试…...

分水岭算法(Watershed Algorithm)教程:硬币分割实例

import cv2 import numpy as np# 1. 图像预处理 img cv2.imread("./water/water_coins.jpeg") gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) kernel np.ones((3, 3), np.int8)…...

【STM32项目实战系列】基于STM32G474的FDCAN驱动配置

前言&#xff1a;本周工作中用到了CANFD的驱动&#xff0c;由于以前都是用到的CAN2.0&#xff0c;所以过程并不是特别的顺利&#xff0c;所以中间遇到几个比较小的问题导致自己卡住了一段时间&#xff0c;特此记录一下并完全奉上自己的配置的源码。 1&#xff0c;CANFD配置与简…...

shell文本处理

shell文本处理 一、grep ​ 过滤来自一个文件或标准输入匹配模式内容。除了 grep 外&#xff0c;还有 egrep、fgrep。egrep 是 grep 的扩展&#xff0c;相当于 grep -E。fgrep 相当于 grep -f&#xff0c;用的比较少。 用法 grep [OPTION]... PATTERN [FILE]...支持的正则描述…...

如何利用客户端双向TLS认证保护云上应用安全

双向TLS(mTLS)通过要求服务器和客户端双方使用数字证书来验证彼此身份&#xff0c;从而扩展了传统TLS的安全性。常规的TLS只会验证服务器的身份(如大家的浏览器在验证网站时的场景)&#xff0c;而mTLS确保在任何数据交换发生之前&#xff0c;双方都对彼此持有信任。在本文中&am…...

nlp第十节——LLM相关

一、模型蒸馏技术 本质上是从一个大模型蒸馏出小模型&#xff0c;从小模型训练出来的概率分布&#xff08;如自回归模型预测下一个字的概率分布&#xff09;分别与大模型预测的概率分布和ground label求loss。与大模型预测的概率分布用KL散度求loss&#xff0c;与ground label用…...

T-SQL 语言基础: SQL 数据库对象元数据及配置信息获取

目录 介绍目录视图 获取表和架构名称获取列信息 信息架构视图 获取表信息获取列信息 系统存储过程和函数 获取对象列表获取对象详细信息获取约束信息获取数据库属性信息 总结引用 介绍 在 SQL 数据库管理中&#xff0c;获取数据库对象的元数据信息是至关重要的。元数据提供了…...

新手也能看懂的CTF靶场通关笔记:从.htaccess上传到SUID提权,手把手复现BUUCTF Week5

新手也能看懂的CTF靶场通关笔记&#xff1a;从.htaccess上传到SUID提权&#xff0c;手把手复现BUUCTF Week5 第一次接触CTF比赛时&#xff0c;看到那些复杂的漏洞利用链总有种"看天书"的感觉。直到自己动手在虚拟机里复现了整个攻击流程&#xff0c;才真正理解每个技…...

MATLAB数据处理小技巧:用reshape函数把一维数组变成你想要的任意形状(附图像处理实例)

MATLAB数据处理实战&#xff1a;reshape函数的高效应用与图像处理案例 当你面对一堆杂乱无章的一维数据时&#xff0c;是否曾为如何将其整理成适合分析的格式而头疼&#xff1f;在MATLAB中&#xff0c;reshape函数就像一位魔术师&#xff0c;能够在不改变数据本质的情况下&…...

告别桌面混乱!用Utools的「本地文件启动」功能,5分钟打造你的专属文件启动器

告别桌面混乱&#xff01;用Utools的「本地文件启动」功能&#xff0c;5分钟打造你的专属文件启动器 每次打开电脑&#xff0c;看到满屏的文件图标和杂乱无章的文件夹&#xff0c;是不是感觉工作效率瞬间降了一半&#xff1f;作为一名长期与文件打交道的专业人士&#xff0c;我…...

保姆级教程:在PX4 1.13.3固件中,为你的地面小车添加一个自定义机型

在PX4 1.13.3中为差速驱动地面小车构建完整自定义机型方案 当我们需要将PX4飞控生态应用于非无人机平台时&#xff0c;地面小车&#xff08;Rover&#xff09;往往是最先考虑的方向。与标准无人机机型不同&#xff0c;地面移动平台在动力学模型、控制参数和硬件接口等方面都存在…...

RISC-V开发板测评实战:从申请到深度评测的完整指南

1. 项目概述&#xff1a;一次深度参与RISC-V生态的绝佳机会最近在电子发烧友论坛上看到了一个挺有意思的活动——“第二届RISC-V开发板测评大赛”&#xff0c;主办方是昊芯。对于咱们这些搞嵌入式、玩单片机、或者对开源硬件和RISC-V架构感兴趣的朋友来说&#xff0c;这绝对是一…...

如何快速实现GitHub界面全面中文化:3分钟安装终极汉化插件

如何快速实现GitHub界面全面中文化&#xff1a;3分钟安装终极汉化插件 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese GitHub中文插件…...

RH850 F1的FLASH自编程实战:如何在程序运行时安全更新数据闪存?

RH850 F1 FLASH自编程实战&#xff1a;如何在运行时安全更新数据闪存&#xff1f; 当车载ECU以120km/h行驶时&#xff0c;突然需要更新发动机标定参数——这个看似矛盾的场景&#xff0c;正是汽车电子工程师每天面对的挑战。RH850 F1系列微控制器独有的**后台操作(BGO)**功能&a…...

从原理到实践:深入解析调频连续波雷达的核心技术与应用

1. 调频连续波雷达的基本原理 我第一次接触调频连续波(FMCW)雷达是在2015年做智能停车项目时。当时为了检测车位占用情况&#xff0c;试过超声波、红外等多种传感器&#xff0c;最后发现毫米波雷达才是最佳选择。FMCW雷达与传统脉冲雷达最大的区别在于它持续发射频率变化的电磁…...

第11篇 安全配置实战:SASL_SSL + SCRAM-SHA-512

第11篇:安全配置实战 —— SASL_SSL + SCRAM-SHA-512 生产落地 系列:Kafka Spring Boot:参数精讲与生产落地实战 本篇关键词:security.protocol SASL SCRAM-SHA-512 SSL TrustStore 生产安全配置 📌 本篇导读 内网开发环境用 PLAINTEXT 完全没问题。但一旦涉及: 云…...

OpenClaw从入门到应用——工具(Tools):技能配置

通过OpenClaw实现副业收入&#xff1a;《OpenClaw赚钱实录&#xff1a;从“养龙虾“到可持续变现的实践指南》 所有与技能相关的配置都位于 ~/.openclaw/openclaw.json 中的 skills 字段下。 {skills: {allowBundled: ["gemini", "peekaboo"],load: {ext…...