【流行病学】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
注意事项, 参考文章复现
doi: 10.1093/bioinformatics/btaa726 ↩︎
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. 实战 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本知识推荐阅读:KeepAlive知识点 从实战中学习,源自实战中vue路由的…...

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

zabbix“专家坐诊”第277期问答
在线答疑:乐维社区 问题一 Q:这个怎么解决呢? A:缺少这个依赖。 Q:就一直装不上。 A:装 zabbix-agent2-7.0.0-releasel.el7.x86 64 需要前面提示的那个依赖才可以装。 问题二 Q:大佬,如果agen…...
大模型工程师学习日记(十一):FAISS 高效相似度搜索和密集向量聚类的库
Facebook AI Similarity Search (Faiss /Fez/) 是一个用于高效相似度搜索和密集向量聚类的库。它包含了在任意大小的向量集合中进行搜索的算法,甚至可以处理可能无法完全放入内存的向量集合。它还包含用于评估和参数调整的支持代码。 Faiss 官方文档:We…...
python学习第三天
条件判断 条件判断使用if、elif和else关键字。它们用于根据条件执行不同的代码块。 # 条件判断 age 18 if age < 18:print("你还是个孩子!") elif age 18:print("永远十八岁!") else:print("你还年轻!")…...
深入解析 Svelte:下一代前端框架的革命
深入解析 Svelte:下一代前端框架的革命 1. Svelte 简介 Svelte 是一款前端框架,与 React、Vue 等传统框架不同,它采用 编译时(Compile-time) 方式来优化前端应用。它不像 React 或 Vue 依赖虚拟 DOM,而是…...

C++20 中位移位运算符的统一行为:深入解析与实践指南
文章目录 1. 位移位运算符的基础1.1 左移运算符(<<)1.2 右移运算符(>>) 2. C20 对位移位运算符的统一2.1 移位数量超出操作数位宽2.2 负数移位 3. 实践中的注意事项4. 示例代码5. 总结 在 C 的发展历程中,…...

Linux——基本指令
我们今天学习Linux最基础的指令 ls 指令 语法: ls [选项] [⽬录或⽂件] 功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信 息。 命令中的选项,一次可以传递多个 ,…...
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;torch.bac…...
Java实现大数据量导出报表
一、实现方式 在Java中,导出数据到Excel有多种方式,每种方式都有其优缺点,适用于不同的场景。以下是常见的几种方式及其特点: 1.1 Apache POI Apache POI 是 Java 中最流行的库,支持读写 Excel 文件(包括…...
大语言模型 智能助手——既能生成自然语言回复,又能在必要时调用外部工具获取实时数据
示例代码: 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 系统教程:理解机器学习数据分割
数据分割是机器学习中的一个基本概念,它直接影响模型的性能和泛化。在本文中,我们将深入研究为什么数据分割在机器学习中很重要,并演示如何使用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驱动配置
前言:本周工作中用到了CANFD的驱动,由于以前都是用到的CAN2.0,所以过程并不是特别的顺利,所以中间遇到几个比较小的问题导致自己卡住了一段时间,特此记录一下并完全奉上自己的配置的源码。 1,CANFD配置与简…...

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

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

nlp第十节——LLM相关
一、模型蒸馏技术 本质上是从一个大模型蒸馏出小模型,从小模型训练出来的概率分布(如自回归模型预测下一个字的概率分布)分别与大模型预测的概率分布和ground label求loss。与大模型预测的概率分布用KL散度求loss,与ground label用…...
T-SQL 语言基础: SQL 数据库对象元数据及配置信息获取
目录 介绍目录视图 获取表和架构名称获取列信息 信息架构视图 获取表信息获取列信息 系统存储过程和函数 获取对象列表获取对象详细信息获取约束信息获取数据库属性信息 总结引用 介绍 在 SQL 数据库管理中,获取数据库对象的元数据信息是至关重要的。元数据提供了…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...