if(!require(pacman))
  install.packages("pacman")
## Loading required package: pacman
library("pacman")
p_load("vroom","dplyr","ggplot2","tidyr")
Curvas_amplif <- vroom(file="https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplif_grupo1_24022025.csv")
## Rows: 51 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (9): Cycle, A1, B1, C1, D1, E1, F1, G1, Manuel
## 
## ℹ 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.
Curvas_amplif
## # A tibble: 51 × 9
##    Cycle     A1     B1     C1     D1      E1     F1      G1 Manuel
##    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>   <dbl>  <dbl>   <dbl>  <dbl>
##  1     1 -732.  -450.  -50.4  -30.1  -109.   -10.7  -5.87   -37.4 
##  2     2 -402.  -237.  -20.8   15.9   -80.6  -10.4  -8.17     1.12
##  3     3 -294.  -171.  -14.1   11.9   -71.2   -7.35 -5.06     7.85
##  4     4 -322.  -143.    8.14  13.6   -60.4   -6.83 -3.26    15.0 
##  5     5 -300.  -100.   12.1    5.93  -54.7   -3.67 -3.51     8.92
##  6     6 -277.   -84.8  17.0   14.6   -41.4    1.04  0.0908   6.62
##  7     7 -232.   -78.9  14.0   10.8   -31.2   -2.24 -2.85    -4.64
##  8     8 -197.   -61.4  14.8   13.6   -23.1    3.22  4.79    -2.66
##  9     9 -143.   -39.9  11.0   10.4   -13.4    4.09  2.17    -4.38
## 10    10  -95.6  -12.9   3.21   8.78   -2.80   2.80 -0.0460  28.3 
## # ℹ 41 more rows
Curvas_amplif2 <- Curvas_amplif %>% 
  mutate(Ciclos=Cycle, PPBA=A1, ZARX=B1, FFSS=C1, LANS=D1, Negativo=E1, D2MI=F1, DR=Manuel) %>% select(-Cycle:-Manuel) 
Curvas_amplif2
## # A tibble: 51 × 8
##    Ciclos   PPBA   ZARX   FFSS   LANS Negativo   D2MI     DR
##     <dbl>  <dbl>  <dbl>  <dbl>  <dbl>    <dbl>  <dbl>  <dbl>
##  1      1 -732.  -450.  -50.4  -30.1   -109.   -10.7  -37.4 
##  2      2 -402.  -237.  -20.8   15.9    -80.6  -10.4    1.12
##  3      3 -294.  -171.  -14.1   11.9    -71.2   -7.35   7.85
##  4      4 -322.  -143.    8.14  13.6    -60.4   -6.83  15.0 
##  5      5 -300.  -100.   12.1    5.93   -54.7   -3.67   8.92
##  6      6 -277.   -84.8  17.0   14.6    -41.4    1.04   6.62
##  7      7 -232.   -78.9  14.0   10.8    -31.2   -2.24  -4.64
##  8      8 -197.   -61.4  14.8   13.6    -23.1    3.22  -2.66
##  9      9 -143.   -39.9  11.0   10.4    -13.4    4.09  -4.38
## 10     10  -95.6  -12.9   3.21   8.78    -2.80   2.80  28.3 
## # ℹ 41 more rows
Curvas_amplif3 <- Curvas_amplif2 %>% 
  pivot_longer(cols= -Ciclos,
               names_to = "Muestras",
               values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 357 × 3
##    Ciclos Muestras Fluorescencias
##     <dbl> <chr>             <dbl>
##  1      1 PPBA             -732. 
##  2      1 ZARX             -450. 
##  3      1 FFSS              -50.4
##  4      1 LANS              -30.1
##  5      1 Negativo         -109. 
##  6      1 D2MI              -10.7
##  7      1 DR                -37.4
##  8      2 PPBA             -402. 
##  9      2 ZARX             -237. 
## 10      2 FFSS              -20.8
## # ℹ 347 more rows
Grafica_amplif <- ggplot(data = Curvas_amplif3,
                         mapping = aes(x = Ciclos, y = Fluorescencias, color = Muestras)) +
  geom_line (linewidth = 1.5)
Grafica_amplif

Umbral_ciclos <- 500

Grafica_amplif2 <- Grafica_amplif +
  geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "black")+
  theme_classic()+
  labs(title = "Curvas de amplificación RT-qPCR",
       subtitle = "Todas las muestras",
       caption = "Diseñaron: Lidia Reyes, Ana Elena Sordo, Nicole Castañeda y Samantha Álvarez",
       x = "Ciclos",
       y = "Fluorescencia (u.a.)")+
  theme(axis.line = element_line (size = 1.2, color = "black"),
        axis.title = element_text(face = "bold"),
        axis.text = element_text(face = "bold"),
        legend.title = element_text(face = "bold"),
        legend.text = element_text(face = "bold"))+
  scale_x_continuous(breaks = seq(min(Curvas_amplif3$Ciclos),
                                  max(Curvas_amplif3$Ciclos),
                                  by = 5))+
  scale_y_continuous(breaks = seq(min(Curvas_amplif3$Fluorescencias),
                                  max(Curvas_amplif3$Fluorescencias),
                                  by = 1000),
                     labels = scales::number_format(accuracy = 1))
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafica_amplif2

Grafica_amplif_equipo <- ggplot(Curvas_amplif2,
                                aes(x = Ciclos, y = LANS))+
  geom_line(aes(y= LANS, color = "LANS"), linewidth = 1.5)+
  geom_line(aes(y= DR, color = "DR"), linewidth = 1.5)+
  geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "black")+
scale_color_manual(values = c("LANS" = "blue", "DR"= "pink"))+
  theme_classic()+
  labs(title = "Curvas de amplificación RT-qPCR",
       subtitle = "Muestra de equipo",
       caption = "Diseñaron: Lidia Reyes, Ana Elena Sordo, Nicole Castañeda y Samantha Álvarez",
       x = "Ciclos",
       y = "Fluorescencia (u.a.)",
       color = "Muestras")+
  theme(axis.line = element_line (size = 1.2, color = "black"),
        axis.title = element_text(face = "bold"),
        axis.text = element_text(face = "bold"),
        legend.title = element_text(face = "bold"),
        legend.text = element_text(face = "bold"))+
  scale_x_continuous(breaks = seq(min(Curvas_amplif2$Ciclos),
                                  max(Curvas_amplif2$Ciclos),
                                  by = 5))+
  scale_y_continuous(breaks = seq(min(Curvas_amplif2$LANS),
                                  max(Curvas_amplif2$LANS),
                                  by = 1000),
                     labels = scales::number_format(accuracy = 1))
Grafica_amplif_equipo