if(!require(pacman))
install.packages("pacman")
## Loading required package: pacman
library("pacman")
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr",
"ggrepel",
"plotly")
Melting_curves <- vroom(file="https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Disociaci%C3%B3n_Grupo2_17022025.csv")
## Rows: 61 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (7): Temperature, A1, B1, C1, D1, E1, H1
##
## ℹ 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.
Melting_curves
## # A tibble: 61 × 7
## Temperature A1 B1 C1 D1 E1 H1
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65 7448. 6822. 8564. 7347. 5628. 6126.
## 2 65.5 7418. 6860. 8557. 7266. 5599. 6067.
## 3 66 7388. 6897. 8550. 7185. 5570. 6008.
## 4 66.5 7358. 6934. 8543. 7104. 5541. 5949.
## 5 67 7328. 6971. 8536. 7022. 5513. 5890.
## 6 67.5 7298. 7009. 8529. 6941. 5484. 5831.
## 7 68 7268. 7046. 8522. 6860. 5455. 5772.
## 8 68.5 7222. 7072. 8499. 6769. 5418. 5707.
## 9 69 7161. 7083. 8458. 6673. 5377. 5639.
## 10 69.5 7089. 7075. 8399. 6574. 5332. 5568.
## # ℹ 51 more rows
Melting_curves2 <- Melting_curves %>%
mutate(Temperatura=Temperature, Bazo=A1, Regina_Testiculo=B1, Marian_Cerebro=C1, Ricardo_HÃgado=D1, Neto_HigCorazon=E1, Johan_Bazo=H1) %>%
select(-Temperature:-H1)
Melting_curves2
## # A tibble: 61 × 7
## Temperatura Bazo Regina_Testiculo Marian_Cerebro Ricardo_HÃgado
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65 7448. 6822. 8564. 7347.
## 2 65.5 7418. 6860. 8557. 7266.
## 3 66 7388. 6897. 8550. 7185.
## 4 66.5 7358. 6934. 8543. 7104.
## 5 67 7328. 6971. 8536. 7022.
## 6 67.5 7298. 7009. 8529. 6941.
## 7 68 7268. 7046. 8522. 6860.
## 8 68.5 7222. 7072. 8499. 6769.
## 9 69 7161. 7083. 8458. 6673.
## 10 69.5 7089. 7075. 8399. 6574.
## # ℹ 51 more rows
## # ℹ 2 more variables: Neto_HigCorazon <dbl>, Johan_Bazo <dbl>
Reordenar los datos agrupacion
Melting_curves3 <- Melting_curves2 %>%
pivot_longer(cols = -Temperatura,
names_to = "Muestras",
values_to = "Fluorescencias")
Melting_curves3
## # A tibble: 366 × 3
## Temperatura Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 65 Bazo 7448.
## 2 65 Regina_Testiculo 6822.
## 3 65 Marian_Cerebro 8564.
## 4 65 Ricardo_HÃgado 7347.
## 5 65 Neto_HigCorazon 5628.
## 6 65 Johan_Bazo 6126.
## 7 65.5 Bazo 7418.
## 8 65.5 Regina_Testiculo 6860.
## 9 65.5 Marian_Cerebro 8557.
## 10 65.5 Ricardo_HÃgado 7266.
## # ℹ 356 more rows
Grafica
Grafica_melting <- ggplot(Melting_curves3,
aes(x=Temperatura,
y= Fluorescencias,
color= Muestras))+
geom_line(linewidth= 1.5)+
theme_classic()+
labs(title = "Curvas de disociación",
subtitle = "Todas las muestras",
caption = "Diseño equipo 1",
x="Temperatura (°C)",
y="Fluorescencia (u.a.)")+
theme(axis.line = element_line(size = 1, 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"))
## 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_melting
Derivadas curvas de disociación
Derivadas <- Melting_curves2 %>%
mutate(across(Bazo:Johan_Bazo,
~-c(NA, diff(.x)/diff(Melting_curves2$Temperatura)),.names = "d_{.col}")) %>%
select(-Bazo:-Johan_Bazo) %>%
slice(-1)
Derivadas
## # A tibble: 60 × 7
## Temperatura d_Bazo d_Regina_Testiculo d_Marian_Cerebro d_Ricardo_HÃgado
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65.5 59.8 -74.6 14.2 162.
## 2 66 59.8 -74.6 14.2 162.
## 3 66.5 59.8 -74.6 14.2 162.
## 4 67 59.8 -74.6 14.2 162.
## 5 67.5 59.8 -74.6 14.2 162.
## 6 68 59.8 -74.6 14.2 162.
## 7 68.5 93.3 -51.9 46.4 182.
## 8 69 121. -21.5 81.9 192.
## 9 69.5 144. 15.6 117. 198.
## 10 70 160. 54.4 149. 199.
## # ℹ 50 more rows
## # ℹ 2 more variables: d_Neto_HigCorazon <dbl>, d_Johan_Bazo <dbl>
Reordenar datos
Derivadas2 <- Derivadas %>%
pivot_longer(cols=-Temperatura,
names_to = "Muestras",
values_to = "Derivadas")
Derivadas2
## # A tibble: 360 × 3
## Temperatura Muestras Derivadas
## <dbl> <chr> <dbl>
## 1 65.5 d_Bazo 59.8
## 2 65.5 d_Regina_Testiculo -74.6
## 3 65.5 d_Marian_Cerebro 14.2
## 4 65.5 d_Ricardo_HÃgado 162.
## 5 65.5 d_Neto_HigCorazon 57.6
## 6 65.5 d_Johan_Bazo 118.
## 7 66 d_Bazo 59.8
## 8 66 d_Regina_Testiculo -74.6
## 9 66 d_Marian_Cerebro 14.2
## 10 66 d_Ricardo_HÃgado 162.
## # ℹ 350 more rows
Graficas Derivadas
Grafica_derivada <- ggplot(Derivadas2,
aes(x=Temperatura,
y=Derivadas,
color=Muestras))+
geom_line(linewidth= 1.5)+
theme_classic()+
labs(title = "Curvas de la derivada de disociación",
subtitle = "Todas las muestras",
caption = "Diseño equipo 1",
x="Temperatura (°C)",
y=expression(-Delta~F / Delta~T))+
theme(axis.line = element_line(size = 1, 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(Derivadas2$Temperatura),
max(Derivadas2$Temperatura),
by= 5 ))
Grafica_derivada
Construir Grafica 3D
Grafica_derivada_3D <- plot_ly(Derivadas2,
x= ~Temperatura,
y= ~Muestras,
z= ~Derivadas,
color = ~factor(Muestras),
type="scatter3d",
mode= "lines",
line= list(width=6)) %>%
layout(title="Curvas de derivadas en 3D",
scene=list(
xaxis=list(title="Temperatura (C°)"),
yaxis=list(title="Muestras"),
zaxis=list(title="-ΔT/ΔF")
))
Grafica_derivada_3D
Grafica individual (del equipo)
Grafica_derivada_equipo1 <- ggplot(Derivadas,
aes(x=Temperatura))+
geom_line(aes(y=d_Bazo, color= "d_Bazo"), linewidth=1.5)+
geom_line(aes(y=d_Regina_Testiculo, color= "d_Regina_Testiculo"), linewidth=1.5)+
scale_color_manual(values= c("d_Bazo"="blue","d_Regina_Testiculo"="pink"))+
theme_classic()+
labs(title="Derivada de Disociación",
subtitle = "Tejido testÃculo",
caption= "Equipo 1",
x= "Temperatura",
y=expression(-Delta~F / Delta~T))+
theme(axis.line = element_line(size = 1, 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(Derivadas2$Temperatura),
max(Derivadas2$Temperatura),
by= 5 ))
Grafica_derivada_equipo1
Etiquetas
Pico <- max(Derivadas$d_Regina_Testiculo)
Pico
## [1] 551.8266
Sacar Temperatura
Tm <- Derivadas %>%
filter(d_Regina_Testiculo==Pico) %>%
select(Temperatura, d_Regina_Testiculo)
Tm
## # A tibble: 1 × 2
## Temperatura d_Regina_Testiculo
## <dbl> <dbl>
## 1 74.5 552.
Grafica con etiqueta
Grafica_derivada_equipo1_2 <- Grafica_derivada_equipo1+
geom_vline(xintercept = Tm$Temperatura, color="orange", linetype= "dashed",
linewidth= 1)+
geom_label_repel(data = Tm,
aes(x= Temperatura,
y= d_Regina_Testiculo,
label = paste("Tm=", round(Temperatura), "C°")),
nudge_x = 3,
nudge_y = -0.03,
max.overlaps = 100,
color="black",
fill="green")
Grafica_derivada_equipo1_2