GPTcelltype——scRNA-seq注释


plain 复制代码
#安装包
install.packages("openai")
remotes::install_github("Winnie09/GPTCelltype")
#填写API
Sys.setenv(OPENAI_API_KEY = 'your_openai_API_key')
#加载包
#Load packages
library(GPTCelltype)
library(openai)
#准备文件
#Assume you have already run the Seurat pipeline https://satijalab.org/seurat/
#"obj" is the Seurat object; "markers" is the output from FindAllMarkers(obj)
#Cell type annotation by GPT-4
##注释
res <- gptcelltype(markers, model = 'gpt-4')
##添加到metadata
# Assign cell type annotation back to Seurat object
obj@meta.data$celltype <- as.factor(res[as.character(Idents(obj))])
##可视化
# Visualize cell type annotation on UMAP
DimPlot(obj,group.by='celltype')
markdown 复制代码
下面是代码逐行详细解释及中文翻译:

```r
#安装包
install.packages("openai")

这行代码安装openai包,这是一个与OpenAI API交互的R包。

  • 中文翻译:安装openai包,这是一个与OpenAI API交互的R包。
r 复制代码
remotes::install_github("Winnie09/GPTCelltype")

这行代码使用remotes包从GitHub安装名为GPTCelltype的包,GPTCelltype包提供了一些功能来注释细胞类型。

  • 中文翻译:使用remotes包从GitHub安装GPTCelltype包,该包提供细胞类型注释功能。
r 复制代码
#填写API
Sys.setenv(OPENAI_API_KEY = 'your_openai_API_key')

这行代码设置环境变量OPENAI_API_KEY,用于存储你的OpenAI API密钥。务必替换'your_openai_API_key'为你的实际API密钥。

  • 中文翻译:设置环境变量OPENAI_API_KEY,用于存储你的OpenAI API密钥。确保替换为你的实际API密钥。
r 复制代码
#加载包
#Load packages
library(GPTCelltype)
library(openai)

这两行代码加载之前安装的两个R包:GPTCelltypeopenai,以便可以使用它们的功能。

  • 中文翻译:加载之前安装的两个R包:GPTCelltypeopenai,以便能够使用它们的功能。
r 复制代码
#准备文件
#Assume you have already run the Seurat pipeline https://satijalab.org/seurat/

这段注释说明在运行后续代码之前,用户需要先使用Seurat分析工具对数据进行预处理。

  • 中文翻译:假设你已经运行了Seurat管道以处理数据。
r 复制代码
# "obj" 是 Seurat 对象; "markers" 是来自 FindAllMarkers(obj) 的输出

这条注释进一步说明了obj是Seurat对象,而markers是通过FindAllMarkers(obj)函数获得的标记基因数据。

  • 中文翻译:"obj" 是 Seurat 对象;"markers" 是来自FindAllMarkers(obj)的输出。
r 复制代码
#Cell type annotation by GPT-4
##注释
res <- gptcelltype(markers, model = 'gpt-4')

这里调用gptcelltype函数使用GPT-4模型对细胞标记进行注释,将结果存储在res变量中。

  • 中文翻译:使用GPT-4模型进行细胞类型注释,将结果存储在res变量中。
r 复制代码
##添加到metadata
# Assign cell type annotation back to Seurat object
obj@meta.data$celltype <- as.factor(res[as.character(Idents(obj))])

这行代码将注释结果res所对应的细胞类型赋值给Seurat对象objmeta.data属性中的celltype列。

  • 中文翻译:将细胞类型注释结果赋值回Seurat对象的meta.data中。
r 复制代码
##可视化
# Visualize cell type annotation on UMAP
DimPlot(obj, group.by='celltype')

最后这行代码使用DimPlot函数在UMAP图上可视化细胞类型注释,以celltype作为分组依据。

  • 中文翻译:在UMAP图上可视化细胞类型注释,以celltype作为分组依据。
    ``

原文中考虑到network相关问题,推荐了另外一个平替

参考:
https://mp.weixin.qq.com/s/xPQQ5v8nIWU1DwfdAxjdfw

相关推荐
立志成为大牛的小牛4 分钟前
数据结构——四十一、分块查找(索引顺序查找)(王道408)
数据结构·学习·程序人生·考研·算法
蒙奇D索大12 分钟前
【计算机网络】[特殊字符] 408高频考点 | 数据链路层组帧:从字符计数到违规编码,一文学透四大实现方法
网络·笔记·学习·计算机网络·考研
遇印记15 分钟前
蓝桥java蜗牛
java·学习·蓝桥杯
格鸰爱童话1 小时前
next.js学习——react入门
学习·react.js·node.js
njsgcs1 小时前
tekla 使用笔记 切管 分割指定长度的管
笔记·tekla
B0URNE1 小时前
【Unity基础详解】Unity3D全程学习路线
学习·unity·游戏引擎
蒙奇D索大2 小时前
【算法】 递归实战应用:从暴力迭代到快速幂的优化之路
笔记·考研·算法·改行学it
9ilk3 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
('-')3 小时前
《从根上理解MySQL》第一章学习笔记
笔记·学习·mysql