RT-qPCR从384板结果到mRNA相对表达量箱线图
2023-03-07 09:04:18 时间
新手小白!!!请多批评指正!!!
某天分析384板数据觉得有点耗时,恰逢R语言刚入门1周,觉得可行,于是行动
在此感谢生信技能树和小洁老师!
保存384板结果为csv
个人习惯每次做两个复孔,上下为同一孔,每个引物占两行
每次可运行8个引物,每个引物总样本量最大为24
数据示例:
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个,可如下放置数据
# 计算均值
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
##命名
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
p + facet_wrap(~gene,scales = "free")
相关文章
- 微软 Windows 11 Edge 浏览器 Mica 云母效果失效,教你如何恢复
- 谷歌加持 在Windows 11平台上运行安卓游戏
- 如何使用 Mozilla SOPS 优雅的管理你的 Kubernetes Secret
- Wine 7.0发布,Linux上运行Windows程序重大更新
- 如何在VMware虚拟机上安装Windows 11,即使它不符合系统要求
- 微软发Windows Server 2022新版:ISO镜像开放下载
- Bash Shell 脚本新手指南(二)
- Azure虚拟桌面要求、自定义等
- OpenHarmony源码解析之基于wayland的输入系统
- 谷歌 Chrome Canary 99 浏览器推出:删除默认搜索引擎功能回归
- Linux Mint 全新的 Edge ISO 已经可以下载了!
- OpenHarmony 图形子系统(二)weston compositor分析
- 如何扫描和修复 Linux 磁盘错误
- Windows 11好用为什么有些人打死都不更新 理由找到了
- Chrome浏览器推送最后一个双位数版本:删除默认搜索引擎功能回归
- Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
- 准备升级了!Ubuntu 21.04 将在本周达到支持终点
- 为自己的鸿蒙卡片增加编辑能力
- Linux教程系列:namei 用法,独特而伟大的 Linu
- 微软新OS上线!Windows 11 SE系统全面推出:配置需求暴降