Primer paso, instalar a pacman
if (!require(pacman)) install.packages("pacman", dependencies = T)
## Loading required package: pacman
Llamar a pacman
library("pacman")
llamar paqueteria auxiliar
p_load("vroom",
"dplyr",
"ggplot2",
"ggrepel",
"tidyr")
Llamar a la base de datos
Curvas_amplif <- vroom(file = "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplificacion_ejemplo.csv")
## Rows: 35 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (6): Cycle, A1, B1, C1, D1, E1
##
## ℹ 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: 35 × 6
## Cycle A1 B1 C1 D1 E1
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 0.000143 0.0112 -0.0174 0.00306 0.00144
## 2 2 0.00193 0.00429 -0.0116 -0.00116 0.00704
## 3 3 -0.000874 0.00798 -0.00595 0.00443 0.00264
## 4 4 -0.0000775 0.000436 -0.00210 0.00356 0.00336
## 5 5 -0.000844 -0.000278 -0.00152 -0.00433 0.00815
## 6 6 0.00140 0.00158 0.00445 0.00259 0.00399
## 7 7 0.00266 -0.00482 0.00315 0.000907 0.00887
## 8 8 0.00290 -0.00543 0.00493 0.00293 0.000434
## 9 9 0.00123 0.00057 0.00715 0.000636 -0.00599
## 10 10 0.00100 -0.00216 0.00369 0.00314 -0.00409
## # ℹ 25 more rows
Modificación de la base de datos
Curvas_amplif2 <- Curvas_amplif %>%
mutate(Ciclos = Cycle, JFRW = A1, JRL = B1, PPOF = C1, MLL = D1, AALE = E1) %>%
select(-1:-6) %>%
filter(Ciclos >= 21)
Curvas_amplif2
## # A tibble: 15 × 6
## Ciclos JFRW JRL PPOF MLL AALE
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 21 0.00102 -0.000965 -0.000929 -0.00337 -0.000355
## 2 22 -0.00256 0.000608 -0.00444 -0.000276 0.000405
## 3 23 -0.00125 -0.000188 -0.00749 0.00130 -0.00139
## 4 24 0.000363 0.00245 0.00357 0.00448 0.000601
## 5 25 0.00542 0.00822 -0.00250 0.00812 -0.00105
## 6 26 0.00499 0.0236 0.0107 0.0223 0.00217
## 7 27 0.0263 0.0397 0.0264 0.0364 0.00958
## 8 28 0.0461 0.0795 0.0549 0.0665 0.0137
## 9 29 0.0939 0.134 0.0944 0.118 0.0398
## 10 30 0.154 0.192 0.150 0.170 0.0749
## 11 31 0.223 0.253 0.193 0.226 0.124
## 12 32 0.290 0.309 0.235 0.272 0.187
## 13 33 0.352 0.367 0.279 0.328 0.246
## 14 34 0.421 0.426 0.335 0.383 0.287
## 15 35 0.485 0.486 0.386 0.443 0.343
Para la gráfica tenemos que reacomodar los datos de multiples columnas en solo 3 columnas
Curvas_amplif3 <- Curvas_amplif2 %>%
pivot_longer(cols = -Ciclos,
names_to = "Muestras",
values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 75 × 3
## Ciclos Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 21 JFRW 0.00102
## 2 21 JRL -0.000965
## 3 21 PPOF -0.000929
## 4 21 MLL -0.00337
## 5 21 AALE -0.000355
## 6 22 JFRW -0.00256
## 7 22 JRL 0.000608
## 8 22 PPOF -0.00444
## 9 22 MLL -0.000276
## 10 22 AALE 0.000405
## # ℹ 65 more rows
Gráfica y umbral de ciclos
Umbral_ciclos <- 0.08
Curvas_amplif_grafica <- ggplot(Curvas_amplif3,
aes(x = Ciclos,
y = Fluorescencias,
color = Muestras)) +
geom_line(size = 1.5) +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845") +
theme_classic() +
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Práctica 1, \nEquipo: MLL",
caption = "Todas las muestras",
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 = 2))+
scale_y_continuous(labels = scales::number_format(accuracy = 0.05),
breaks = seq(min(Curvas_amplif3$Fluorescencias), max(Curvas_amplif3$Fluorescencias), by = 0.05))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## 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.
Curvas_amplif_grafica
###################################################
Gráfica del equipo
Grafica_equipos <- ggplot(Curvas_amplif2,
mapping = aes(x= Ciclos,
y = MLL))+
geom_line(color ="#6287f1", size = 1.5)+
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845") +
theme_classic() +
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Muestra MLL",
caption = "Diseñó: Manuel Lara Lozano",
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 = 2))+
scale_y_continuous(labels = scales::number_format(accuracy = 0.05),
breaks = seq(min(Curvas_amplif3$Fluorescencias), max(Curvas_amplif3$Fluorescencias), by = 0.05))
Grafica_equipos