生信技能树的一个学徒学完后去了某产工作,然后拿到了一份《早期胰腺癌分子诊断专家共识(2023年版)》,如下,想看看几款miRNA体外诊断试剂盒性能如何。现在我们来看看!
在开始使用具体的数据进行查看之前,我们来问问人工智能大模型会给出一个什么样的答案。问:miRNA体外诊断试剂盒性能怎么样?kimi:https://kimi.moonshot.cn/
miRNA体外诊断试剂盒的性能表现较为出色,以下是其在不同方面的表现: 灵敏度
特异性
精密度
动态范围
适用性
操作便捷性
首先当然需要去搜索一下胰腺癌相关的数据集,这里我们检索到了一些数据:
这里我们使用 GSE24279 看看,看诊断试剂盒的方法其实比较简单,就是miRNA相对于对照正常,在癌症样本中是高表达还是低表达,看看标书中的描述看看:
rm(list = ls()) ## 魔幻操作,一键清空~
options(stringsAsFactors = F)
library(AnnoProbe)
library(GEOquery)
library(ggplot2)
library(ggstatsplot)
library(patchwork)
library(reshape2)
library(stringr)
getOption('timeout')
options(timeout=10000)
## 获取并且检查表达量矩阵
# ~~~gse编号需修改~~~
gse_number <- 'GSE24279'
list.files()
gset <- getGEO( gse_number , destdir = '.', getGPL = F)
gset[[1]]
a <- gset[[1]]
dat <- exprs(a) #a现在是一个对象,取a这个对象通过看说明书知道要用exprs这个函数
dim(dat)#看一下dat这个矩阵的维度
dat[1:4,1:4] #查看dat这个矩阵的1至4行和1至4列,逗号前为行,逗号后为列
##~~~查看数据是否需要log~~~
range(dat)
boxplot(dat[,1:4],las=2)
# 这里进行简单操作
dat <- log2(dat-min(dat)+1)
boxplot(dat[,1:4],las=2)
rownames(dat)
dim(dat)
有三种表型:正常,炎症,癌症
# 根据生物学背景及研究目的人为分组
# 通过查看说明书知道取对象a里的临床信息用pData
pd <- pData(a)
##挑选一些感兴趣的临床表型。
colnames(pd)
#
pd[,10]
pd$title
group_list <- pd$`disease state:ch1`
table(group_list)
group_list <- factor(group_list, levels = c("healthy","pancreatitis","pancreatic cancer"))
table(group_list)
# hsa-miR-30c-5p,hsa-miR-24-3p,hsa-miR-23a-3p,hsa-miR-132-3p
rownames(dat)
cg <- strsplit('hsa-miR-30c-5p,hsa-miR-24-3p,hsa-miR-23a-3p,hsa-miR-132-3p',',')
cg <- unlist(cg)
cg
cg %in% rownames(dat)
# 上面没有这四个miRNA的成熟体3`,5`,直接看非成熟体看看
cg <- strsplit('hsa-miR-30c,hsa-miR-24,hsa-miR-23a,hsa-miR-132',',')[[1]]
cg
cg %in% rownames(dat)
cg <- cg[cg%in% rownames(dat)]
cg
dat[cg,1:10]
# 绘图
mydata <- reshape2::melt(dat[cg,])
mydata$group <- rep(group_list,each=length(cg))
head(mydata)
library(ggpubr)
p <- ggboxplot(mydata, x = "Var1", y = "value", color = "group", palette = "jama",
add = "jitter",xlab = "",ylab = "expression")
p
结果如下: