Instalación de paquetes
if(!require(pacman))
install.packages("pacman") # para que no se esté instalando todo el tiempo
## Loading required package: pacman
library("pacman")
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr")
Base de datos
Curvas_amplif <- read.csv("https://raw.githubusercontent.com/ManuelLaraMVZ/Metabolomica_2026_1/refs/heads/main/Amplificaci%C3%B3n-RT-qPCR-20261_G1.csv")
head(Curvas_amplif)
## Cycle A1 A2 A3 A4 A5 A6
## 1 1 -9.4820849 -4.6293737 -11.777275 -26.285354 -5.853723 -10.59438327
## 2 2 -8.2355249 1.4191769 -8.049590 -9.478556 5.367281 -0.92868366
## 3 3 -1.6772250 2.0911121 -1.785421 -5.302475 3.967811 -0.06897497
## 4 4 0.3185735 5.6280553 7.224736 1.146931 8.550542 2.61675858
## 5 5 2.2108334 0.8847123 2.828714 -3.090434 5.377117 1.82031017
## 6 6 -6.6374424 -3.1625487 1.561358 -6.039556 5.910620 0.97070016
Modificar nombres columnas
Curvas_amplif2 <- Curvas_amplif %>%
mutate(Ciclo = Cycle,
Equipo_1_riñon = A1,
Equipo_2_cerebelo = A2,
Equipo_2_cerebelo_repeticion = A3,
Equipo_3_higado = A4,
Equipo_4_higado = A5,
Equipo_5_corteza_cerebral = A6) %>%
select(-Cycle:-A6)
Curvas_amplif2
## Ciclo Equipo_1_riñon Equipo_2_cerebelo Equipo_2_cerebelo_repeticion
## 1 1 -9.4820849 -4.6293737 -11.7772746
## 2 2 -8.2355249 1.4191769 -8.0495902
## 3 3 -1.6772250 2.0911121 -1.7854214
## 4 4 0.3185735 5.6280553 7.2247356
## 5 5 2.2108334 0.8847123 2.8287136
## 6 6 -6.6374424 -3.1625487 1.5613583
## 7 7 -5.9423238 -0.7823888 -0.6270633
## 8 8 1.9437281 3.6886636 0.2085411
## 9 9 -3.6448056 -1.1077201 -0.8618762
## 10 10 -0.9504983 -1.3818447 0.1964022
## 11 11 -1.0704692 -4.6268267 -6.0786860
## 12 12 -4.0826359 3.0639808 -5.1912493
## 13 13 -5.6351169 -2.5734721 4.3455890
## 14 14 -0.1675053 8.6797492 9.0193333
## 15 15 -0.8401372 8.8392659 13.9957484
## 16 16 3.1419238 20.6178322 35.9797793
## 17 17 0.4453537 32.9489408 61.4085921
## 18 18 -0.6993381 58.6831283 90.5880275
## 19 19 -2.2119365 88.4611803 121.4411764
## 20 20 -1.0441537 119.0936698 148.4208196
## 21 21 0.3081392 144.9460662 170.4055821
## 22 22 2.3711248 163.0303977 189.9850745
## 23 23 0.1614810 175.6811662 207.8820747
## 24 24 4.0503749 187.6572857 224.5392444
## 25 25 4.7454935 199.6070647 238.3876641
## 26 26 7.8592963 210.2382783 250.9962958
## 27 27 3.1660928 217.1758991 261.4314367
## 28 28 5.9511283 219.3416774 268.5150038
## 29 29 11.8121388 222.4495320 273.7231170
## 30 30 4.6344001 225.7678660 278.7910732
## 31 31 4.4139032 231.9343416 285.4757579
## 32 32 3.2250317 235.3664922 290.2673024
## 33 33 3.6178860 241.6114577 292.5044770
## 34 34 3.3097533 243.5933785 294.1721172
## 35 35 5.8278075 247.0345531 295.3230749
## 36 36 7.3028951 245.9013570 300.0756779
## 37 37 7.0780503 246.2882630 301.3884990
## 38 38 5.8847496 245.5842740 303.9718747
## 39 39 3.9422104 246.9222362 304.0008804
## 40 40 2.7576477 247.4540958 306.2909797
## 41 41 2.2611064 246.0142452 305.7459886
## 42 42 0.5248584 242.8084487 304.6009401
## 43 43 -1.7462855 239.9006451 303.1095185
## 44 44 -5.0249532 238.1537776 301.0707298
## 45 45 -5.8501414 237.3050045 299.3908700
## 46 46 -5.3429828 236.9909627 298.1232248
## 47 47 -4.9894767 235.0602373 299.1819097
## 48 48 -6.4760990 232.7485888 297.1124623
## 49 49 -5.6407421 230.4978762 296.1425288
## 50 50 -5.4014170 230.5301180 294.9141860
## 51 51 -4.5050870 230.5624039 296.8226743
## Equipo_3_higado Equipo_4_higado Equipo_5_corteza_cerebral
## 1 -26.28535430 -5.8537227 -10.59438327
## 2 -9.47855619 5.3672807 -0.92868366
## 3 -5.30247480 3.9678107 -0.06897497
## 4 1.14693074 8.5505417 2.61675858
## 5 -3.09043383 5.3771166 1.82031017
## 6 -6.03955623 5.9106199 0.97070016
## 7 -1.03545902 0.8710510 -1.82505540
## 8 0.62877114 1.3907730 3.64788428
## 9 -2.95044851 -3.9775633 0.45872975
## 10 -3.44174230 -1.3140243 2.31742306
## 11 -2.39480464 -1.9381592 -0.05761754
## 12 -0.20388814 -5.3215744 4.77083813
## 13 1.38266219 -1.4750337 11.66457238
## 14 4.20391947 3.7766950 33.08126763
## 15 0.11106172 0.8799676 62.16627552
## 16 5.06223421 18.4882776 97.78390779
## 17 4.38789850 23.2535596 142.07676560
## 18 0.09858559 45.7956588 181.69907760
## 19 0.44823393 74.1387863 217.53589160
## 20 7.17445771 106.9902667 246.54191470
## 21 1.60909720 135.6707376 270.56598580
## 22 2.42055684 157.9320331 289.70480430
## 23 -0.90989223 176.3156408 308.17328780
## 24 -1.36143150 191.2729995 322.42669100
## 25 2.53758775 204.6136745 335.58013790
## 26 2.03434321 214.2038484 346.68773130
## 27 2.14839117 221.5902889 356.60789240
## 28 9.08338713 225.8042541 363.15883790
## 29 0.40437049 229.7684731 366.81331340
## 30 0.88596480 232.4662385 371.41880790
## 31 1.49950508 236.0449098 379.16585080
## 32 0.06203012 235.8376688 383.85857760
## 33 0.67544777 236.1829262 386.92169450
## 34 2.70844373 234.4904944 385.30511300
## 35 -1.68708488 234.4634902 387.40891850
## 36 4.19819676 233.2749875 387.44410710
## 37 3.89055419 230.0798167 388.88151640
## 38 -1.67370839 223.9226030 388.52667290
## 39 -2.30902163 217.9624546 389.86346930
## 40 3.78478794 212.1123489 390.65261170
## 41 2.93997279 207.8086043 388.66381580
## 42 1.98881813 201.0294299 384.97947780
## 43 0.49853976 196.6118218 384.08587520
## 44 -4.79012379 189.1227225 384.04249680
## 45 -3.70282106 184.6878919 384.94550350
## 46 -3.03757552 180.1167596 385.15613220
## 47 0.11330159 177.2809241 383.51805410
## 48 -4.54477637 170.9702207 381.60343510
## 49 -5.15423716 164.5240412 379.32131760
## 50 -0.61060970 160.4963362 379.15061290
## 51 1.35751066 159.3647416 379.74683600
Reordenamiento de datos: 1. Seleccionar datos a reordenar (variables dependientes) 2. Agrupar variables por nombre 3. Agrupar variables por ciclo
# Para poner en una columna el nombre de dónde viene la muestra en la otra su fluorescencia correspondiente:
Curvas_amplif3 <- Curvas_amplif2 %>%
pivot_longer(cols = -Ciclo, # para manejo de muchos datos (seleccionar todas menos la de ciclo)
names_to = "Muestras",
values_to = "Fluorescencia")
Curvas_amplif3
## # A tibble: 306 × 3
## Ciclo Muestras Fluorescencia
## <int> <chr> <dbl>
## 1 1 Equipo_1_riñon -9.48
## 2 1 Equipo_2_cerebelo -4.63
## 3 1 Equipo_2_cerebelo_repeticion -11.8
## 4 1 Equipo_3_higado -26.3
## 5 1 Equipo_4_higado -5.85
## 6 1 Equipo_5_corteza_cerebral -10.6
## 7 2 Equipo_1_riñon -8.24
## 8 2 Equipo_2_cerebelo 1.42
## 9 2 Equipo_2_cerebelo_repeticion -8.05
## 10 2 Equipo_3_higado -9.48
## # ℹ 296 more rows
Graficar
Grafica_amplif <- ggplot(data = Curvas_amplif3,
mapping = aes(x = Ciclo,
y = Fluorescencia,
color = Muestras)) +
geom_line(linewidth = 1)
Grafica_amplif
Mejorar la gráfica grupal
library(ggplot2)
threshold <- 50
Grafica_amplif <- ggplot(
data = Curvas_amplif3,
aes(x = Ciclo, y = Fluorescencia, color = Muestras)
) +
geom_line(linewidth = 1) +
# LÃnea de threshold
geom_hline(yintercept = threshold,
linetype = "dashed",
linewidth = 0.8,
color = "black") +
# Etiqueta del threshold
annotate("text",
x = max(Curvas_amplif3$Ciclo) * 0.85,
y = threshold + 10,
label = "Threshold",
size = 4,
color = "black") +
# Colores más formales
scale_color_brewer(palette = "Dark2") +
# Etiquetas formales
labs(
title = "Curvas de amplificación por PCR",
subtitle = "Detección de fase exponencial y umbral de fluorescencia",
x = "Número de ciclos",
y = "Fluorescencia (RFU)",
color = "Muestra"
) +
# Tema más formal
theme_minimal(base_size = 13) +
theme(
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(size = 12),
axis.title = element_text(face = "bold"),
legend.position = "right",
panel.grid.minor = element_blank()
)
Grafica_amplif
Aislar gráfica del equipo
# Instalación y carga de paquetes
if(!require(pacman)) install.packages("pacman")
library(pacman)
p_load(ggplot2, dplyr, vroom)
# Cargar datos
Datos_curva <- vroom(file = "https://raw.githubusercontent.com/ManuelLaraMVZ/Metabolomica_2026_1/refs/heads/main/Amplificaci%C3%B3n-RT-qPCR-20261_G1.csv")
## Rows: 51 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (7): Cycle, A1, A2, A3, A4, A5, A6
##
## ℹ 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.
# Seleccionar solo Cycle y A6 (Equipo 6)
Curva_PCR_P2 <- Datos_curva %>%
select(Cycle, A6)
# Definir threshold
threshold <- 50
# Crear gráfica
Grafica_curva_PCR_P2 <- ggplot(Curva_PCR_P2,
aes(x = Cycle, y = A6)) +
# Curva principal
geom_line(color = "#5A0F2E", linewidth = 1.2) +
geom_point(size = 1.8, color = "#5A0F2E", alpha = 0.7) +
# Threshold
geom_hline(yintercept = threshold,
linetype = "dashed",
linewidth = 0.9,
color = "black") +
annotate("text",
x = max(Curva_PCR_P2$Cycle) * 0.7,
y = threshold + 20,
label = "Threshold",
size = 4) +
# Etiquetas
labs(
x = "Número de ciclos",
y = "Fluorescencia (RFU)",
title = "Curva de amplificación RT-qPCR",
subtitle = "Equipo 6 (Muestra A6) – Corteza cerebral de rata",
caption = "Carrillo Garnica Samantha; SerranÃa Reinada Edith; Oropeza Durán Elisa Natalia; Garduño MartÃnez Zyanya Paola (SZEN)"
) +
# Tema
theme_minimal(base_size = 14, base_family = "serif") +
theme(
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(size = 12),
axis.title = element_text(face = "bold"),
panel.grid.minor = element_blank()
)
Grafica_curva_PCR_P2