1. Instalación de paquetes
Pacman llama a otros paquetes y si no estƔn los instala
*Chunck: Ctlr+alt+I
if (!require(pacman)) install.packages("pacman")
## Loading required package: pacman
Llamar pacman
library("pacman")
2. Cargar los demƔs paquetes necesarios de golpe
Llamar las demƔs bases de datos
p_load("vroom",
"dplyr",
"tidyr",
"ggplot2")
3.Llamar a base de datos para la curva de amplificación
* flecha con Alt + -
Curvas_amplificación <- vroom(file = "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Ejemplo_amplificacion_RT-PCR.csv")
## `curl` package not installed, falling back to using `url()`
## 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_amplificación
## # A tibble: 35 Ć 6
## Cycle A1 B1 C1 D1 E1
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 0.0000213 -0.00531 0.0000279 0.000519 0.000468
## 2 2 -0.0000305 -0.00286 0.00179 0.000301 0.000462
## 3 3 -0.0000823 -0.00136 -0.000335 0.000842 0.0000266
## 4 4 -0.0000536 -0.00101 0.00166 0.000522 -0.000943
## 5 5 -0.0000565 -0.000787 0.000199 0.000586 0.0000877
## 6 6 0.000111 -0.000233 0.00231 0.000451 0.00076
## 7 7 0.000096 0.0000674 -0.000511 -0.00112 -0.000618
## 8 8 0.0000698 0.000602 -0.000595 -0.000944 0.00108
## 9 9 0.000202 0.00143 0.000166 0.000342 -0.000105
## 10 10 -0.00001 0.00101 -0.00136 -0.000254 0.00102
## # ā¹ 25 more rows
4. Limpieza y filtrado de datos
Modificar base de datos
*Signo porcentajes con Cltr+Shift+m
Curvas_amplif2 <- Curvas_amplificación %>% mutate(Ciclos = Cycle, H2O = A1, JRWF = B1, PPOF = C1, MLL = D1, DDR = E1 ) %>% select(-Cycle: -E1) %>%
filter(Ciclos >= 17)
#Para quitar columnas de la grƔfica es desde %>% y select con el menos y lo de filter para quitar ciclos donde ya no se amplifica
#H2O porque es control de agua y los demƔs son los "nombres" de los equipos
Curvas_amplif2
## # A tibble: 19 Ć 6
## Ciclos H2O JRWF PPOF MLL DDR
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 17 0.0000132 0.00126 -0.00121 0.000599 0.000786
## 2 18 0.0000394 0.000431 -0.000969 -0.00155 -0.00119
## 3 19 -0.000106 0.000227 -0.00145 -0.000874 -0.00113
## 4 20 -0.000104 0.000133 -0.00197 -0.000632 -0.00134
## 5 21 -0.000119 0.00104 0.000464 0.000245 -0.000417
## 6 22 -0.0000153 0.00028 0.0032 -0.00081 0.00158
## 7 23 0.0000704 -0.000086 0.00494 0.00162 0.000497
## 8 24 0.00012 -0.000238 0.0144 0.00139 0.00121
## 9 25 -0.0000899 -0.000484 0.0263 0.00634 0.00425
## 10 26 0.0000114 -0.00133 0.0491 0.0101 0.00894
## 11 27 -0.000104 -0.000824 0.0763 0.0202 0.0202
## 12 28 -0.000101 -0.000922 0.105 0.0365 0.0353
## 13 29 -0.000222 -0.000938 0.134 0.0624 0.0594
## 14 30 -0.0000675 -0.000187 0.162 0.0895 0.0823
## 15 31 -0.000089 -0.0000371 0.191 0.114 0.107
## 16 32 -0.000188 0.0018 0.220 0.141 0.128
## 17 33 -0.0000273 0.00345 0.243 0.170 0.152
## 18 34 0.000358 0.00615 0.268 0.197 0.173
## 19 35 0.000345 0.00913 0.293 0.223 0.192
5.Reordenamiento de datos
5.1 Seleccionar los datos a reordenar (variables dependientes)
5.2 Agrupar las variables por nombre
5.3 Agrupar las variables por ciclo
Curvas_amplif3 <- Curvas_amplif2 %>%
pivot_longer(cols = -Ciclos, names_to = "Muestras",
values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 95 Ć 3
## Ciclos Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 17 H2O 0.0000132
## 2 17 JRWF 0.00126
## 3 17 PPOF -0.00121
## 4 17 MLL 0.000599
## 5 17 DDR 0.000786
## 6 18 H2O 0.0000394
## 7 18 JRWF 0.000431
## 8 18 PPOF -0.000969
## 9 18 MLL -0.00155
## 10 18 DDR -0.00119
## # ā¹ 85 more rows
#Se toman todas columnas menos ciclos, y la nueva columna agregada es muestras, que se guardan todos los valores
6. Graficar las muestras seleccionadas y filtradas
GrƔfica
GrƔfica_amplif <- ggplot(data = Curvas_amplif3, mapping = aes(x = Ciclos,
y = Fluorescencias,
color = Muestras)) +
geom_line(linewidth = 1.5)
GrƔfica_amplif
7. Modificar la estƩtica de la grƔfica
Mejorar la grƔfica
Umbral_ciclos <- 0.008
GrƔfica_amplif2 <- GrƔfica_amplif +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#63B5F8") +
theme_classic() + # Para que se quite el fondo gris
labs(
title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras de los tejidos",
caption = "DiseƱado:Zyanya GarduƱo",
x = "Ciclos",
y = "Fluorescencia (u.a.)") +
# Para mejorar los bordes, poner en negritas textos y leyendas es lo siguiente
theme(axis.line = element_line(linewidth = 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)) + # 2 ciclos
scale_y_continuous(breaks = seq(min(Curvas_amplif3$Fluorescencias),
max(Curvas_amplif3$Fluorescencias), by = 0.02),
labels = scales::number_format(accuracy = 0.02))
# sĆmbolo $ para indicar el mĆnimo
GrƔfica_amplif2
GrƔfica de los datos del equipo
GrƔfica_amplif_equipo <- ggplot(Curvas_amplif2,
aes(x = Ciclos)) +
# Primera lĆnea (MLL)
geom_line(aes(y = MLL, color = "Muestras"), linewidth = 1.5) +
# Segunda lĆnea (H2O)
geom_line(aes(y = H2O, color = "Control H2O"), linewidth = 1.5) +
# LĆnea horizontal (Umbral)
geom_hline(yintercept = Umbral_ciclos,
linetype = "dashed",
color = "#63B5F8") +
# Tema y etiquetas
theme_classic() +
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras de los tejidos",
caption = "DiseƱado: Zyanya GarduƱo",
x = "Ciclos",
y = "Fluorescencia (u.a.)",
color = "Tipo de curva") + # tĆtulo de la leyenda
# Personalización de ejes
scale_x_continuous(breaks = seq(min(Curvas_amplif2$Ciclos),
max(Curvas_amplif2$Ciclos), by = 2)) +
scale_y_continuous(breaks = seq(min(Curvas_amplif2$MLL),
max(Curvas_amplif2$MLL),
by = 0.02),
labels = scales::number_format(accuracy = 0.02)) +
# Definir colores manualmente
scale_color_manual(values = c("Muestras" = "#09C88F",
"Control H2O" = "#63B5F8")) +
# Ajustes de estilo
theme(axis.line = element_line(linewidth = 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"))
GrƔfica_amplif_equipo
#MLL fue el ejemplo para la muestra del profe