前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RT-qPCR从384板结果到mRNA相对表达量箱线图

RT-qPCR从384板结果到mRNA相对表达量箱线图

原创
作者头像
用户10328045
修改2023-02-08 23:41:54
6860
修改2023-02-08 23:41:54
举报
文章被收录于专栏:R语言小白

新手小白!!!请多批评指正!!!

某天分析384板数据觉得有点耗时,恰逢R语言刚入门1周,觉得可行,于是行动

在此感谢生信技能树和小洁老师!

保存384板结果为csv

个人习惯每次做两个复孔,上下为同一孔,每个引物占两行

每次可运行8个引物,每个引物总样本量最大为24

数据示例:

image.png
image.png
代码语言:text
复制
rm(list = ls())
#!!!修改参数!!!
dat <- read.csv(file = "ct_value_2.csv",header = F) #文件名
gene_list <- c("ACTIN","A","B","C","D","E","F","G")   #基因名
neican <- "ACTIN"   #内参是哪个基因
n_group <- 3    #分组个数
name_sample <- c("CTRL","TREAT","THERAPY") #组名
n_sample <- c(5,7,12) #每组样本数量
#!!!修改结束!!!

以上内容为不同数据修改参数

如果样本量不满24,引物不满8个,可如下放置数据

image.png
image.png
代码语言:text
复制
# 计算均值
b <- (1:16)[c(T,F)]
for(i in b){
  dat[(((i+1)/2)+16),] <- apply(dat[i:(i+1),],2,mean)
}
dat_aver <- dat[17:24,]

#计算dCT值
library(stringr)
neican_n <- which(str_detect(gene_list,neican) == T)
for (i in 1:8) {
  dat_aver[i+8,] <- dat_aver[i,]-dat_aver[neican_n,]
}
dat_dCT <- dat_aver[9:16,]
dat_dCT <- dat_dCT[-neican_n,]

#计算ddCT
con_aver <- apply(dat_dCT[,1:n_sample[1]], 1, mean)
for (i in 1:7) {
  dat_dCT[i+7,] <- dat_dCT[i,] - con_aver[[i]]
}
dat_ddCT <- dat_dCT[8:14,]

##计算foldchange
dat_foldchange <- 2^(-dat_ddCT)
dat_foldchange
image.png
image.png
代码语言:text
复制
##命名
name <- rep(name_sample[1],n_sample[1])
for (i in 2:n_group) {
 name=c(name,rep(name_sample[i],n_sample[i]))
}

library(tidyr)
library(tibble)
library(dplyr)
gene_name <- gene_list[-neican_n]
gene_name2 <- paste0("gene_",gene_name)
dat_1 = t(dat_foldchange) %>% 
  as.data.frame()
round(dat_1,2)

colnames(dat_1) = gene_name2
dat_2 = rownames_to_column(dat_1) %>%
  mutate(group = name)

pdat = dat_2%>% 
  pivot_longer(cols = starts_with("gene"),
               names_to = "gene",
               values_to = "count") #宽变长

library(ggplot2)
pdat$group2 <- factor(pdat$group,levels = name_sample)
p = ggplot(pdat,aes(gene,count))+
  geom_boxplot(aes(fill= group2))+
  theme_bw()
p
image.png
image.png
代码语言:text
复制
p + facet_wrap(~gene,scales = "free")
image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 保存384板结果为csv
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档