前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >🤑 qPCRtools | 神仙R包分分钟搞定你的qPCR实验结果!~

🤑 qPCRtools | 神仙R包分分钟搞定你的qPCR实验结果!~

作者头像
生信漫卷
发布2023-02-24 14:07:03
发布2023-02-24 14:07:03
86100
代码可运行
举报
运行总次数:0
代码可运行

1写在前面

不知道大家都是怎么完成qPCR的计算的,在不会R的时候,我是用一个祖传Excel表进行计算的。🤣 但是,一直有个缺点,如果需要计算的量比较大时,就不方便了,去搜了一下文献,发现了一个最近发表的R包,不仅可以计算反转录RNA体积,还可以帮助选择定量方法,简直是神仙R包,本期就介绍一下它的使用吧。🥰 感谢原作者的开发,嘿嘿,文末有引用方法。👀

2用到的包

代码语言:javascript
代码运行次数:0
运行
复制
rm(list = ls())
library(tidyverse)
library(ggsci)
library(qPCRtools)
library(ggstatsplot)

3计算反转录用的RNA体积

3.1 示例数据

包内自带了示例数据,这里我们就直接加载吧。🥳 df.1需要至少2列sampleconcentration,剩下的大家随意。🤣 Note! 这里浓度默认是ng/ul。🤜

代码语言:javascript
代码运行次数:0
运行
复制
df.1.path <- system.file("examples", "crtv.data.txt", package = "qPCRtools")

df.1 <- data.table::fread(df.1.path)

head(df.1)

Note! 这里我们的df.2文件至少要包含一个all的列,告诉R具体的反应体积。🤒

代码语言:javascript
代码运行次数:0
运行
复制
df.2.path <- system.file("examples", "crtv.template.txt", package = "qPCRtools")

df.2 <- data.table::fread(df.2.path)

head(df.2)

3.2 开始计算

现在我们就知道每个sample该如何配置反转路体积啦,Perfect!😁 这里我们假设反转1ug。🤩

代码语言:javascript
代码运行次数:0
运行
复制
result <- CalRTable(data = df.1, template = df.2, RNA.weight = 1)

head(result)

4相对标准曲线和扩增效率的计算

拿到新的Primers应该先进行扩增效率的计算,一起看下怎么弄吧。👇

4.1 示例数据

df.1包含至少2列,孔的位置Cq值。😗

代码语言:javascript
代码运行次数:0
运行
复制
df.1.path <- system.file("examples", "calsc.cq.txt", package = "qPCRtools")

df.1 <- data.table::fread(df.1.path)

head(df.1)

df.2包含至少2列,孔的位置浓度。🫠

代码语言:javascript
代码运行次数:0
运行
复制
df.2.path <- system.file("examples", "calsc.info.txt", package = "qPCRtools")

df.2 <- data.table::fread(df.2.path)

head(df.2)

4.2 开始计算

Note! 大家注意一下这里的稀释倍数,默认是4,可以按需更改。😂

代码语言:javascript
代码运行次数:0
运行
复制
CalCurve(
  cq.table = df.1,
  concen.table = df.2,
  lowest.concen = 4,
  highest.concen = 4096,
  dilu = 4,
  by = "mean"
) -> p

p[["table"]]

4.3 可视化

代码语言:javascript
代码运行次数:0
运行
复制
p[["figure"]] +
  theme_bw()+
  scale_color_npg()

5使用相对标准曲线法计算基因表达水平

如果内参基因目的基因扩增效率不相等,我们就不能使用2-ΔΔCt法了,需要选择无参的方法。🤨

5.1 示例数据

cq.table至少包含positionCq值。😘

代码语言:javascript
代码运行次数:0
运行
复制
df1.path <-  system.file("examples", "cal.exp.curve.cq.txt", package = "qPCRtools")

cq.table <-  data.table::fread(df1.path)

head(cq.table)

curve.table标准曲线,可以通过前面介绍的方法计算得出。😂

代码语言:javascript
代码运行次数:0
运行
复制
df2.path = system.file("examples", "cal.expre.curve.sdc.txt", package = "qPCRtools")

curve.table = data.table::fread(df2.path)

head(curve.table)

design.table需要包含position和相应的信息,如干预基因名等。🙃

代码语言:javascript
代码运行次数:0
运行
复制
df3.path = system.file("examples", "cal.exp.curve.design.txt", package = "qPCRtools")

design.table = data.table::fread(df3.path)

head(design.table)

5.2 开始计算

代码语言:javascript
代码运行次数:0
运行
复制
CalExpCurve(
  cq.table,
  curve.table,
  design.table,
  correction = TRUE,
  ref.gene = "OsUBQ",
  stat.method = "t.test",
  ref.group = "CK",
  fig.type = "box",
  fig.ncol = NULL) -> res

res[["table"]]

5.3 可视化

大家可以直接使用res[["figure"]]提取结果的可视化图,这里我为了更加美观,提取了数据进行美化。😘

代码语言:javascript
代码运行次数:0
运行
复制
res[["table"]] %>% 
  grouped_ggbetweenstats(y = expre,
                        x = Treatment,
                        grouping.var = Gene,
                        type = "nonparametric"
                         )

62-ΔΔCt法计算表达水平

数据准备与上面的方法相似,这里就不做具体介绍了。😂

6.1 示例数据

代码语言:javascript
代码运行次数:0
运行
复制
df1.path <-  system.file("examples", "ddct.cq.txt", package = "qPCRtools")

cq.table <-  data.table::fread(df1.path)

head(cq.table)

代码语言:javascript
代码运行次数:0
运行
复制
df2.path <-  system.file("examples", "ddct.design.txt", package = "qPCRtools")

design.table <-  data.table::fread(df2.path)

head(df.2)

6.2 开始计算

代码语言:javascript
代码运行次数:0
运行
复制
CalExp2ddCt(cq.table,
            design.table,
            ref.gene = "OsUBQ", ## 内参
            ref.group = "CK", ## 对照
            stat.method = "t.test", ## 统计方法
            fig.type = "bar",
            fig.ncol = NULL) -> res

res[["table"]]

6.3 可视化

代码语言:javascript
代码运行次数:0
运行
复制
res[["table"]] %>% 
  grouped_ggbetweenstats(y = expre,
                        x = Treatment,
                        grouping.var = gene,
                        type = "nonparametric"
                         )

7使用RqPCR方法计算表达水平

这种方法也是一种不需要内参的计算方法,数据格式也是几乎一样的。

7.1 示例数据

代码语言:javascript
代码运行次数:0
运行
复制
df1.path <- system.file("examples", "cal.expre.rqpcr.cq.txt", package = "qPCRtools")

cq.table <- data.table::fread(df1.path, header = TRUE)

head(cq.table)

代码语言:javascript
代码运行次数:0
运行
复制
df2.path <- system.file("examples", "cal.expre.rqpcr.design.txt", package = "qPCRtools")

design.table <- data.table::fread(df2.path, header = TRUE)

head(design.table)

7.2 开始计算

代码语言:javascript
代码运行次数:0
运行
复制
CalExpRqPCR(cq.table,
           design.table,
           ref.gene = NULL,
           ref.group = "CK",
           stat.method = "t.test",
           fig.type = "box",
           fig.ncol = NULL
           ) -> res


res[["table"]]

7.3 可视化

代码语言:javascript
代码运行次数:0
运行
复制
res[["table"]] %>% 
  grouped_ggbetweenstats(y = Expre4Stat,
                        x = group,
                        grouping.var = gene,
                        type = "nonparametric"
                         )

8引用

🌟 如何引用:👇

Li X, Wang Y, Li J, Mei X, Liu Y, Huang H. qPCRtools: An R package for qPCR data processing and visualization. Front Genet. 2022;13:1002704. Published 2022 Sep 13. doi:10.3389/fgene.2022.1002704


最后祝大家早日不卷!~


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信漫卷 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
  • 2用到的包
  • 3计算反转录用的RNA体积
    • 3.1 示例数据
    • 3.2 开始计算
  • 4相对标准曲线和扩增效率的计算
    • 4.1 示例数据
    • 4.2 开始计算
    • 4.3 可视化
  • 5使用相对标准曲线法计算基因表达水平
    • 5.1 示例数据
    • 5.2 开始计算
    • 5.3 可视化
  • 62-ΔΔCt法计算表达水平
    • 6.1 示例数据
    • 6.2 开始计算
    • 6.3 可视化
  • 7使用RqPCR方法计算表达水平
    • 7.1 示例数据
    • 7.2 开始计算
    • 7.3 可视化
  • 8引用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档