practica 6 - DAPC

Author

sebastian laverde

INTRODUCCION

En los estudios de variación genética, un objetivo clave es deducir la estructura de la población, o sea, identificar cuántos grupos genéticamente distintos hay sin información previa. Para esto, se usan métodos como STRUCTURE, que asume poblaciones panmícticas y marcadores no ligados (Pritchard et al., 2000), y métodos sin modelo como K-means y DAPC (Análisis Discriminante de Componentes Principales), más adecuados para poblaciones clonales o parcialmente clonales.

El DAPC, planteado por Jombart et al. (2010), une análisis de componentes principales (PCA) y análisis discriminante (DA) para disminuir la dimensionalidad y aumentar la separación entre grupos genéticos. Un ejemplo de su uso son los datos del virus de la influenza H3N2 (1903 aislamientos, 125 SNPs) que están en el paquete adegenet de R.

En genética evolutiva, el DAPC ayuda a identificar la estructura genética, valorar la diferenciación y el flujo génico, y ver los agrupamientos que muestran la historia evolutiva de las poblaciones, lo que ayuda a entender cómo los procesos evolutivos forman la diversidad genética actual.

ANALISIS

PRIMERA PARTE

Ejercicio 1

data(H3N2) # load the H3N2 influenza data. Type ?H3N2 for more info.

pop(H3N2) <- H3N2$other$epid

dapc.H3N2 <- dapc(H3N2, var.contrib = TRUE, scale = FALSE, n.pca = 30, n.da = nPop(H3N2) - 1)

scatter(dapc.H3N2, cell = 0, pch = 18:23, cstar = 0, mstree = TRUE, lwd = 2, lty = 2)

Grafica 1 :

El gráfico presenta un Análisis Discriminante de Componentes Principales (DAPC) de 1903 aislamientos del virus de la influenza H3N2. Estos aislamientos fueron genotipados usando 125 SNPs del segmento de hemaglutinina. Cada punto en el gráfico representa un aislamiento, y los colores indican los grupos por año epidémico (2002–2006).

Los ejes discriminantes resumen la variación genética entre los años. Para lograr esto, se retuvieron 30 componentes principales y se maximizó la separación de los cinco grupos definidos. Se aprecia una trayectoria temporal que va desde 2002 (azul) hasta 2006 (rojo), unida por el árbol de mínima extensión (MST). Esto sugiere que hubo una acumulación gradual de cambios genéticos, posiblemente debido a la deriva o a la presión selectiva inmunológica, lo que resultó en linajes diferentes a lo largo del tiempo.

El diagrama de eigenvalores muestra que los primeros ejes explican la mayor parte de la diferenciación. Esto confirma que la estructura genética tiene una dirección temporal, lo cual es típico de la evolución del H3N2.

EJERCICIO 2

matplot(freq906, pch = c(“c”, “t”), type = “b”,

xlab = “year”, ylab = “allele frequency”, main = “SNP # 906”,

xaxt = “n”, cex = 1.5)

axis(side = 1, at = 1:6, lab = 2001:2006)

matplot(freq399, pch = c(“c”, “t”), type = “b”,

xlab = “year”, ylab = “allele frequency”, main = “SNP #399”,

xaxt = “n”, cex = 1.5)

axis(side = 1, at = 1:6, lab = 2001:2006)

Grafica 2: Frecuencias alélicas temporales de SNPs #906 y #399 en H3N2 (2001–2006):

Esta grafica muestra la variación anual de los alelos C y T en dos loci virales. Entre 2001 y 2005, el alelo C es predominante, pero en 2006 se observa un incremento importante del alelo T. Esto sugiere un posible reemplazo alélico debido a la presión selectiva o la deriva genética. Este patrón es característico de la rápida evolución adaptativa del H3N2, posiblemente causada por cambios antigénicos o la respuesta inmune del huésped, y muestra la acumulación temporal de variación genética en poblaciones virales (Jombart, Devillard & Balloux, 2010).

Ejercicio 3 :

set.seed(999)

pramx <- xvalDapc(tab(Pram, NA.method = “mean”), pop(Pram))

Grafica 3: Validación cruzada del DAPC para determinar el número óptimo de ejes de PCA retenidos.

La gráfica ilustra la relación entre la exactitud de las predicciones y el número de ejes de PCA empleados en el análisis DAPC. Cada punto negro representa un resultado de validación cruzada, mientras que la densidad azul indica la variabilidad observada en las repeticiones. Se aprecia que el rendimiento tiende a estabilizarse al usar entre 10 y 25 ejes, rango en el cual la proporción de clasificaciones correctas es más alta y consistente. Esto sugiere que, dentro de este rango, se alcanza un balance adecuado entre la precisión del modelo y el sobreajuste, señalando el número más apropiado de componentes a retener para describir la estructura genética sin perder información importante (Jombart, Devillard & Balloux, 2010).

Ejercicio 4:

set.seed(999)

system.time(pramx <- xvalDapc(tab(Pram, NA.method = “mean”), pop(Pram),

n.pca = 10:20, n.rep = 1000,

parallel = “multicore”, ncpus = 4L))

Grafica 4: Validación cruzada del DAPC para la selección óptima de ejes de PCA (10–20):

La grafica exhibe la exactitud de la clasificación del análisis DAPC, modificando el número de componentes principales (PCA) retenidos entre 10 y 20. Cada punto negro representa un resultado de validación cruzada y el color azul denota la distribución de los valores logrados en 1000 repeticiones. La proporción de predicciones correctas se mantiene alta y estable (aproximadamente 0.7–0.8), lo que sugiere que retener entre 12 y 18 ejes de PCA ofrece una representación adecuada de la estructura genética, perfeccionando la exactitud sin sobreajustar el modelo.

Ejercicio 5:

scatter(pramx$DAPC, col = other(Pram)$comparePal, cex = 2, legend = TRUE,

clabel = FALSE, posi.leg = “bottomleft”, scree.pca = TRUE,

posi.pca = “topleft”, cleg = 0.75, xax = 1, yax = 2, inset.solid = 1)

Grafica 5: Mapa de estructura genética multivariante (DAPC): agrupamiento y variación entre sitios/linajes:

El gráfico presenta un Análisis Discriminante de Componentes Principales (DAPC) con los ejes DA1 y DA2, que explican entre el 65 % y el 70 % de la variación genética. Cada punto representa un individuo, con colores que indican ocho poblaciones diferentes (Nursery_CA, Nursery_OR, JHallCr_OR, NFChetHigh_OR, Coast_OR, HunterCr_OR, Winchuck_OR, ChetcoMain_OR y PistolRSF_OR). Los centroides muestran la media genética de cada población, y las líneas señalan la distancia de cada individuo a su centro poblacional. Las elipses representan el intervalo de confianza del 95 % para cada población, siendo más amplias en Coast_OR y Winchuck_OR, lo que implica una mayor variabilidad genética.

Los ejes del gráfico muestran cómo se diferencian genéticamente las poblaciones: el eje DA1 explica alrededor del 45 % de la varianza discriminante y el DA2 entre el 20 % y el 25 %. El gráfico de autovalores del PCA (arriba a la izquierda) indica que los primeros componentes agrupan la mayor parte de la variabilidad total, mientras que los autovalores del DA (abajo a la derecha) confirman que las primeras funciones discriminantes son las más útiles. Las poblaciones con centroides cercanos, como Nursery_OR y JHallCr_OR, tienen un bajo FST (< 0.05), lo que indica poca diferenciación. En cambio, PistolRSF_OR y Coast_OR están más separadas, lo que sugiere aislamiento genético moderado (FST ≈ 0.15–0.20).

Desde un punto de vista evolutivo, las poblaciones más cercanas en el espacio multivariante probablemente tienen flujo génico continuo, mientras que las separadas muestran divergencia genética o adaptación local. El análisis DAPC, al no depender de suposiciones de equilibrio de Hardy-Weinberg, permite identificar estructuras genéticas sutiles y procesos de diferenciación poblacional actuales (Jombart et al., 2010).

SEGUNDA PARTE

Ejercicio 6:

Documento TXT para el analisis de los microsatelites de arboles de haya, 13 microsatelites como marcadores

tab <- read.csv(“D:/Mis Documentos/Descargas/GEN/DataMEC-11-0816.R1.txt” sep = “\t”, row.names = 1)

Calcular el porcentaje de varianza explicada

eig_percent <- pca1$eig / sum(pca1$eig) * 100

barplot(eig_percent[1:10], main = “Varianza explicada por componente (%)”,

ylab = “Porcentaje de varianza”, col = “lightblue”)

Grafica 6: Porcentaje de varianza explicada por componente principal (PCA):

La gráfica enseña el porcentaje de varianza genética que explican los diez primeros componentes principales del análisis PCA. El primer componente explica cerca del 4.5 % de la variabilidad total, y los siguientes decrecen poco a poco, cada uno contribuyendo entre el 3 % y el 4 %. Este patrón sugiere que la diversidad genética se distribuye de forma relativamente pareja entre varios ejes, sin que un solo componente domine la variación. En genética evolutiva, esto implica una estructura genética moderada, causada probablemente por varios factores evolutivos como la deriva, el flujo génico o la selección local.

Ejercicio 7:

# GRÁFICO DEL PCA CON ggplot2

ggplot(pca_df, aes(x = PC1, y = PC2, color = Region)) +

geom_point(size = 3, alpha = 0.8) +

stat_ellipse(level = 0.95, linetype = 2) +

labs(title = “PCA de datos de microsatélites”,

x = paste0(“PC1 (”, round(eig_percent[1], 2), “%)”),

y = paste0(“PC2 (”, round(eig_percent[2], 2), “%)”)) +

theme_minimal() +

theme(legend.position = “right”)

Grafica 7: PCA de microsatélites: estructura regional (PC1 4.8%, PC2 4.12%):

Los dos primeros ejes solo dan cuenta de aproximadamente el 4.8% y el 4.12% de la variación, sumando alrededor del 8.9%. Esto sugiere que la variabilidad genética se distribuye ampliamente entre muchos factores. En el espacio PC1–PC2, se observan tres concentraciones longitudinales y elipses del 95% por región (Este, Sur, Oeste). Sin embargo, existe un solapamiento amplio, especialmente en el grupo Oeste (muchos puntos azules), lo que indica una estructuración regional entre débil y moderada. Existe una inclinación hacia cierta diferenciación espacial, pero no una separación clara. Para confirmar procesos evolutivos como el flujo génico, el aislamiento o la selección, es útil complementar esto con el FST entre regiones y análisis discriminantes (DAPC) o pruebas de significancia.

Ejercicio 8:

GRÁFICO ALTERNATIVO CON SCATTER DE adegenet

s.class(pca1$li, fac = pop(tabAA),

col = rainbow(nlevels(pop(tabAA))),

clabel = 0.8, grid = FALSE,

xax = 1, yax = 2,

sub = paste(“PC1 (”, round(eig_percent[1], 1), “%) - PC2 (”,

round(eig_percent[2], 1), “%)”))

Grafico 8: (PC1 4.8%, PC2 4.12%):

El mismo que el anterior, solo que aca se proyecta de otra manera para que se vea el solapamiento de una manera mas clara, donde se notan que tienen unos margenes estrechos de diferenciacion donde el azul y el naranja, estan muy relacionados y el verde tiende a estar un poco diferenciado.

Ejercicio 9

GRÁFICO 3D (opcional)

if(require(scatterplot3d)) {

scatterplot3d(pca_df$PC1, pca_df$PC2, pca_df$PC3,

color = as.numeric(factor(pca_df$Region)),

pch = 16, main = “PCA 3D”,

xlab = paste0(“PC1 (”, round(eig_percent[1], 1), “%)”),

ylab = paste0(“PC2 (”, round(eig_percent[2], 1), “%)”),

zlab = paste0(“PC3 (”, round(eig_percent[3], 1), “%)”))

legend(“topright”, legend = levels(factor(pca_df$Region)),

col = 1:nlevels(factor(pca_df$Region)), pch = 16) }

Grafico 9: PCA 3D de microsatélites: estructura regional en tres componentes (PC1–PC3):

La gráfica tridimensional muestra la distribución de las muestras por región en las tres primeras componentes del PCA: PC1 (4.8%), PC2 (4.1%) y PC3 (3.8%). En conjunto, explican cerca del 12.7% de la varianza total, lo que indica que la variabilidad genética se distribuye en varias dimensiones. En el espacio 3D, se ven grupos difusos por región (Este, Sur, Oeste), pero con un amplio solapamiento entre los puntos. Esto sugiere una estructuración regional entre débil y moderada, en lugar de una separación clara. La dispersión dentro de cada región implica heterogeneidad interna y posible flujo génico. Estos patrones concuerdan con poblaciones conectadas demográficamente donde no hay un solo eje que domine la variación. Por eso, es útil complementar el PCA con medidas cuantitativas (FST, análisis discriminante o pruebas de selección) para confirmar la diferenciación y los procesos evolutivos subyacentes (Patterson et al., 2006).

                     **CONCLUSIONES** 

En la primera parte de la practica encontramos que los análisis muestran una población viral con cambios genéticos temporales claros (trayectoria 2002–2006 y reemplazos alélicos puntuales en lugares importantes) sobre una estructura genética moderada entre grupos. Esto apunta a una dinámica evolutiva activa (deriva + episodios de selección/adaptación local) que se debe complementar con FST, pruebas de selección y modelos temporales para confirmar procesos y cuantificar la fuerza de la selección.

En la segunda parte los tres primeras componentes del PCA solo explican aproximadamente el 12.7% de la varianza total, lo cual indica una estructura genética distribuida y no muy marcada. Se identifican núcleos regionales (Este, Sur, Oeste), pero el alto solapamiento sugiere una buena conectividad y flujo génico moderado, sin que haya una separación nítida. Estos datos sugieren que hay diversas diferencias pequeñas entre loci, producto de deriva local, mezcla de poblaciones o adaptación poligénica leve, más que de un evento selectivo fuerte.

Los resultados del análisis de asignación (DAPC) ya realizado apoyan esta interpretación: las bajas probabilidades de asignación y el solapamiento entre los grupos confirman una diferenciación parcial, lo cual es compatible con un flujo génico persistente entre regiones. En resumen, los datos muestran una estructura genética difusa aunque presente, con poblaciones conectadas y solo indicios leves de divergencia.

BIBLIOGRAFIA

Excoffier, L., Smouse, P. E., & Quattro, J. M. (1992). Analysis of molecular variance inferred from metric distances among DNA haplotypes: Application to human mitochondrial DNA restriction data. Genetics, 131(2), 479–491. https://doi.org/10.1093/genetics/131.2.479

Jombart, T., Devillard, S., & Balloux, F. (2010). Discriminant analysis of principal components: A new method for the analysis of genetically structured populations. BMC Genetics, 11, 94. https://doi.org/10.1186/1471-2156-11-94

Whitlock, M. C., & McCauley, D. E. (1999). Indirect measures of gene flow and migration: FST ≠ 1/(4Nm+1). Heredity, 82(2), 117–125. https://doi.org/10.1038/sj.hdy.6884960

Wright, S. (1951). The genetical structure of populations. Annals of Eugenics, 15(1), 323–354. https://doi.org/10.1111/j.1469-1809.1949.tb02451.x