Instalación de paquetería

if(!requireNamespace("pacman", quietly = F))
  install.packages("pacman")
## Loading required namespace: pacman
library("pacman")
p_load("vroom",
       "dplyr",
       "ggplot")
## Warning: package 'ggplot' is not available for this version of R
## 
## A version of this package for your version of R might be available elsewhere,
## see the ideas at
## https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
## Warning: 'BiocManager' not available.  Could not check Bioconductor.
## 
## Please use `install.packages('BiocManager')` and then retry.
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'ggplot'
## Warning in p_load("vroom", "dplyr", "ggplot"): Failed to install/load:
## ggplot

Llamar base de datos

Datos_PCR <- vroom(file= "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Cts1.csv")
## Rows: 32 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): Well, Grupo, Practica, Fluor
## dbl (1): Cq
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Datos_PCR
## # A tibble: 32 × 5
##    Well     Grupo Practica Fluor    Cq
##    <chr>    <chr> <chr>    <chr> <dbl>
##  1 A01      G1    Relativa SYBR   30.8
##  2 B01      G1    Relativa SYBR   41  
##  3 C01      G1    Relativa SYBR   26.1
##  4 D01      G1    Relativa SYBR   41  
##  5 E01      G1    Relativa SYBR   41  
##  6 F01      G1    Relativa SYBR   22.3
##  7 Profesor G1    Relativa SYBR   30.7
##  8 Profesor G2    Relativa SYBR   30.7
##  9 B01      G2    Relativa SYBR   20.3
## 10 C01      G2    Relativa SYBR   18.7
## # ℹ 22 more rows

Filtrar los datos

Filtrado <- Datos_PCR %>% 
  filter(Practica == "Relativa") %>% 
  filter(Grupo == "G1") %>% 
  select("Well", "Cq")
#Cq es lo mismo que Ct, nada más que así lo nombra el equipo
Filtrado
## # A tibble: 7 × 2
##   Well        Cq
##   <chr>    <dbl>
## 1 A01       30.8
## 2 B01       41  
## 3 C01       26.1
## 4 D01       41  
## 5 E01       41  
## 6 F01       22.3
## 7 Profesor  30.7

Valor de gen de referencia

Referencia <- Datos_PCR %>% 
  filter(Grupo == "Referencia") %>% 
  select(Well, "Cq")
Referencia
## # A tibble: 1 × 2
##   Well          Cq
##   <chr>      <dbl>
## 1 Referencia  18.4

Para sacar el valor del primer Delta Ct directo, es decir, vamos a sacar 2^-DeltaCt

Dos_DCt <- Filtrado %>% 
  mutate(DCt= (Cq-Referencia$Cq),
         DosDCt = 2^-DCt)
Dos_DCt
## # A tibble: 7 × 4
##   Well        Cq   DCt      DosDCt
##   <chr>    <dbl> <dbl>       <dbl>
## 1 A01       30.8 12.4  0.000181   
## 2 B01       41   22.6  0.000000157
## 3 C01       26.1  7.72 0.00473    
## 4 D01       41   22.6  0.000000157
## 5 E01       41   22.6  0.000000157
## 6 F01       22.3  3.94 0.0652     
## 7 Profesor  30.7 12.3  0.000198

Obtener el valor de 2^-DDCt

Dos_DDCt <- Dos_DCt %>% 
  mutate(DosDDCt= DosDCt/last(DosDCt),
         L2= log2(DosDDCt)) %>% 
  slice(2, 7)
Dos_DDCt
## # A tibble: 2 × 6
##   Well        Cq   DCt      DosDCt  DosDDCt    L2
##   <chr>    <dbl> <dbl>       <dbl>    <dbl> <dbl>
## 1 B01       41    22.6 0.000000157 0.000794 -10.3
## 2 Profesor  30.7  12.3 0.000198    1          0

Graficar datos

Grafica_comparativa <- ggplot(Dos_DDCt, aes(x = Well, y = DosDDCt, fill = Well)) +
  geom_col() +
  theme_classic() +
  labs(
    title = "Análisis relativo RT-qPCR",
    subtitle = "Tejido",
    caption = "Diseño: Equipo 2",
    x = "Muestra",
    y = "Fold Change (2^-DDCt)"
  ) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    axis.title.x = element_text(face = "bold"),
    axis.title.y = element_text(face = "bold")
  )
Grafica_comparativa

Gráfica logaritmo

Dos_DDCt2 <- Dos_DCt %>%  
  mutate(DosDDCt= DosDCt/last(DosDCt),
         L2= log2(DosDDCt)) 
Dos_DDCt2 
## # A tibble: 7 × 6
##   Well        Cq   DCt      DosDCt    DosDDCt      L2
##   <chr>    <dbl> <dbl>       <dbl>      <dbl>   <dbl>
## 1 A01       30.8 12.4  0.000181      0.915     -0.128
## 2 B01       41   22.6  0.000000157   0.000794 -10.3  
## 3 C01       26.1  7.72 0.00473      23.9        4.58 
## 4 D01       41   22.6  0.000000157   0.000794 -10.3  
## 5 E01       41   22.6  0.000000157   0.000794 -10.3  
## 6 F01       22.3  3.94 0.0652      329.         8.36 
## 7 Profesor  30.7 12.3  0.000198      1          0
Grafica_comparativa2 <- ggplot(Dos_DDCt2, aes(x = Well, y = L2, fill = Well)) +
  geom_col() +
  geom_hline(yintercept = 0, linetype = "solid", color = "black", linewidth = 0.2) +
  theme_classic() +
  labs(
    title = "Análisis relativo RT-qPCR",
    subtitle = "Tejido: hígado",
    caption = "Diseño: Equipo 2",
    x = "Muestra",
    y = "Log2 (FCh)"
  ) +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    axis.title.x = element_text(face = "bold"),
    axis.title.y = element_text(face = "bold")
  )
Grafica_comparativa2