Instalación de paquetes #Pacman: llama a otros paquetes y si no estan los instala
if(!require(pacman))
install.packages("pacman")
## Loading required package: pacman
Llamar a pacman
library("pacman")
Llamar paqueteria necesaria
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr")
Llamar a base de datos
Curvas_amplif <- read.csv(file="https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Ejemplo_amplificacion_RT-PCR.csv")
Curvas_amplif
## Cycle A1 B1 C1 D1 E1
## 1 1 2.13e-05 -5.31e-03 0.0000279 0.000519 0.0004680
## 2 2 -3.05e-05 -2.86e-03 0.0017900 0.000301 0.0004620
## 3 3 -8.23e-05 -1.36e-03 -0.0003350 0.000842 0.0000266
## 4 4 -5.36e-05 -1.01e-03 0.0016600 0.000522 -0.0009430
## 5 5 -5.65e-05 -7.87e-04 0.0001990 0.000586 0.0000877
## 6 6 1.11e-04 -2.33e-04 0.0023100 0.000451 0.0007600
## 7 7 9.60e-05 6.74e-05 -0.0005110 -0.001120 -0.0006180
## 8 8 6.98e-05 6.02e-04 -0.0005950 -0.000944 0.0010800
## 9 9 2.02e-04 1.43e-03 0.0001660 0.000342 -0.0001050
## 10 10 -1.00e-05 1.01e-03 -0.0013600 -0.000254 0.0010200
## 11 11 -4.83e-05 1.26e-03 0.0000840 -0.000135 0.0001370
## 12 12 4.73e-05 8.42e-04 -0.0013000 -0.001040 0.0006220
## 13 13 1.69e-04 9.74e-04 -0.0003200 -0.000318 -0.0011100
## 14 14 -1.59e-05 4.56e-04 -0.0002670 0.001220 -0.0008180
## 15 15 -1.11e-04 4.53e-04 -0.0026100 -0.001090 -0.0004680
## 16 16 -1.07e-05 8.28e-04 -0.0019100 0.000642 -0.0001290
## 17 17 1.32e-05 1.26e-03 -0.0012100 0.000599 0.0007860
## 18 18 3.94e-05 4.31e-04 -0.0009690 -0.001550 -0.0011900
## 19 19 -1.06e-04 2.27e-04 -0.0014500 -0.000874 -0.0011300
## 20 20 -1.04e-04 1.33e-04 -0.0019700 -0.000632 -0.0013400
## 21 21 -1.19e-04 1.04e-03 0.0004640 0.000245 -0.0004170
## 22 22 -1.53e-05 2.80e-04 0.0032000 -0.000810 0.0015800
## 23 23 7.04e-05 -8.60e-05 0.0049400 0.001620 0.0004970
## 24 24 1.20e-04 -2.38e-04 0.0144000 0.001390 0.0012100
## 25 25 -8.99e-05 -4.84e-04 0.0263000 0.006340 0.0042500
## 26 26 1.14e-05 -1.33e-03 0.0491000 0.010100 0.0089400
## 27 27 -1.04e-04 -8.24e-04 0.0763000 0.020200 0.0202000
## 28 28 -1.01e-04 -9.22e-04 0.1053000 0.036500 0.0353000
## 29 29 -2.22e-04 -9.38e-04 0.1336000 0.062400 0.0594000
## 30 30 -6.75e-05 -1.87e-04 0.1621000 0.089500 0.0823000
## 31 31 -8.90e-05 -3.71e-05 0.1908000 0.114400 0.1068000
## 32 32 -1.88e-04 1.80e-03 0.2197000 0.141400 0.1281000
## 33 33 -2.73e-05 3.45e-03 0.2434000 0.170300 0.1515000
## 34 34 3.58e-04 6.15e-03 0.2678000 0.196600 0.1726000
## 35 35 3.45e-04 9.13e-03 0.2927000 0.223100 0.1923000
Modificar base de datos #select: para seleccionar columnas #filter (una vez que ya conoces donde empieza la amplificación): para seleccionar filas
Curvas_amplif2 <- Curvas_amplif %>% #Cmd+Shift+M
mutate(Ciclos = Cycle, H2O = A1, JRWF = B1, PPOF = C1, MLL = D1, DDR = E1) %>%
select(-Cycle:-E1) %>%
filter(Ciclos >=17)
Curvas_amplif2
## Ciclos H2O JRWF PPOF MLL DDR
## 1 17 1.32e-05 1.26e-03 -0.001210 0.000599 0.000786
## 2 18 3.94e-05 4.31e-04 -0.000969 -0.001550 -0.001190
## 3 19 -1.06e-04 2.27e-04 -0.001450 -0.000874 -0.001130
## 4 20 -1.04e-04 1.33e-04 -0.001970 -0.000632 -0.001340
## 5 21 -1.19e-04 1.04e-03 0.000464 0.000245 -0.000417
## 6 22 -1.53e-05 2.80e-04 0.003200 -0.000810 0.001580
## 7 23 7.04e-05 -8.60e-05 0.004940 0.001620 0.000497
## 8 24 1.20e-04 -2.38e-04 0.014400 0.001390 0.001210
## 9 25 -8.99e-05 -4.84e-04 0.026300 0.006340 0.004250
## 10 26 1.14e-05 -1.33e-03 0.049100 0.010100 0.008940
## 11 27 -1.04e-04 -8.24e-04 0.076300 0.020200 0.020200
## 12 28 -1.01e-04 -9.22e-04 0.105300 0.036500 0.035300
## 13 29 -2.22e-04 -9.38e-04 0.133600 0.062400 0.059400
## 14 30 -6.75e-05 -1.87e-04 0.162100 0.089500 0.082300
## 15 31 -8.90e-05 -3.71e-05 0.190800 0.114400 0.106800
## 16 32 -1.88e-04 1.80e-03 0.219700 0.141400 0.128100
## 17 33 -2.73e-05 3.45e-03 0.243400 0.170300 0.151500
## 18 34 3.58e-04 6.15e-03 0.267800 0.196600 0.172600
## 19 35 3.45e-04 9.13e-03 0.292700 0.223100 0.192300
Reordenamiento de datos
Curvas_amplif3 <- Curvas_amplif2 %>%
pivot_longer(cols = -Ciclos,
names_to = "Muestras",
values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 95 × 3
## Ciclos Muestras Fluorescencias
## <int> <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
Gráfica
Grafica_amplif <- ggplot(data = Curvas_amplif3,
mapping = aes(x = Ciclos,
y = Fluorescencias,
color = Muestras)) +
geom_line( linewidth = 1.5)
Grafica_amplif
Mejorar la gráfica
Quitar fondo, poner fondo blanco, poner los ejes, mejorar los ejes y poner umbral de ciclos
Umbral_ciclos <- 0.008
Grafica_amplif2 <- Grafica_amplif +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845")+
theme_classic()+
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñó: Aitana Barrientos",
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(breaks = seq(min(Curvas_amplif3$Fluorescencias),
max(Curvas_amplif3$Fluorescencias),
by = 0.02),
labels = scales::number_format(accuracy = 0.02))
## 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 per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafica_amplif2
Gráfica de los datos del equipo
Grafica_amplif_equipo <- ggplot(Curvas_amplif2,
aes(x = Ciclos)) +
geom_line(aes(y = MLL, color ="MLL"), linewidth = 1.5) +
geom_line(aes(y = H2O, color ="H2O"), linewidth = 1.5) +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845")+
scale_color_manual(values = c("MLL" = "#1e2f7c", "H2O" = "#900C3F"))+
theme_classic()+
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñó: Aitana Barrientos",
x = "Ciclos",
y = "Fluorescencia (u.a.)",
color = "Muestras") + #Título de la leyenda
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(breaks = seq(min(Curvas_amplif3$Fluorescencias),
max(Curvas_amplif3$Fluorescencias),
by = 0.02),
labels = scales::number_format(accuracy = 0.02)) +
geom_line(aes(x = Ciclos,
y = H2O),
color = "#900C3F",
linewidth = 1.5)
Grafica_amplif_equipo