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包:GPTCelltype和openai,以便可以使用它们的功能。

  • 中文翻译:加载之前安装的两个R包:GPTCelltype和openai,以便能够使用它们的功能。
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对象obj的meta.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

相关推荐
外收内放13 分钟前
FastAPI猜字谜实战(4):让AI主持人开口
开发语言·python·学习·fastapi
yuanxi20018 分钟前
大众汽车集团或暂停印度电动汽车投资:PSS⁵谈判力视角
职场和发展·创业创新·学习方法
叶子野格25 分钟前
《JAVA学习:前置知识》
学习
NoteDeep 深度笔记25 分钟前
排期看不出冲突?把任务表切成甘特图
笔记·个人开发·甘特图·笔记应用·深度笔记·云笔记
小猪佩奇TONY1 小时前
Linux 内核学习(19) --- linux swap 机制
linux·学习·swap·kswapd
andrsted1 小时前
企业培训时间难统一?练题簿让在线免费刷题与培训考核更好安排
学习·微信小程序·小程序·学习方法·刷题
李航19831 小时前
虚拟盖房子,在游戏中学习房子的建造过程
人工智能·学习·游戏·计算机视觉·ai编程
霍霍的袁2 小时前
【C++11】左值右值引用与移动语义详细笔记(左值右值、右值引用、移动构造、移动赋值、引用折叠、万能转发)
c++·笔记·学习·visual studio
MandalaO_O2 小时前
SpringMVC 异常处理 & 拦截器
笔记
外收内放2 小时前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi