Nota de investigación
Vol. 17(2) | 2026 | e1726952
Revista Mexicana de Ciencias Pecuarias
Nota de investigación

Ali Nilforooshan, Mohammada

Ruíz-Flores, Agustínb

Valerio-Hernández, Jonathan Emanuelc

Saavedra-Jiménez, Luis Antoniod*

aLivestock Improvement Corporation. Private Bag 3016, Hamilton 3240, New Zealand.

bUniversidad Autónoma Chapingo. Posgrado en Producción Animal, Departamento de Zootecnia. Chapingo, Estado de México. México.

cUniversidad Nacional Autónoma de México. Facultad de Medicina y Veterinaria y Zootecnia. CDMX. México.

dUniversidad Autónoma Chapingo. Departamento de Zootecnia. Chapingo, Estado de México. México.

: saavedra.jimenez.luis@gmail.com

Resumen

Este estudio presenta un algoritmo de depuración de datos simplificado, orientado a reducir la carga computacional en las evaluaciones genéticas, especialmente para rasgos poblacionales con altas proporciones de fenotipos faltantes. El método aborda el desafío que plantean los grandes conjuntos de datos al retener selectivamente solo animales fenotipados y sus progenitores para la evaluación genética principal. Este enfoque, aplicable tanto a los métodos de evaluación genética basados en pedigrí (BLUP) como a los híbridos (ssGBLUP), reduce significativamente el número de ecuaciones a resolver, disminuyendo así los requisitos computacionales. El proceso de depuración implica el rastreo ascendente del pedigrí de animales fenotipados (y animales genotipados en el caso de ssGBLUP) o la eliminación iterativa de no progenitores no fenotipados. Las evaluaciones genéticas para valores de cría y confiabilidades se realizan entonces sobre el conjunto reducido de datos. Posteriormente, las evaluaciones para animales excluidos se resuelven iterativamente hacia atrás, calculando sus valores de cría y sus confiabilidades con base en los de sus progenitores del análisis principal. Esta resolución iterativa hacia atrás garantiza que todos los animales reciban una evaluación. Debido a que no se pierden datos fenotípicos, los valores de cría y las confiabilidades estimadas y los valores de cría resueltos hacia atrás no se ven comprometidos. Sin embargo, las confiabilidades resueltas iterativamente hacia atrás para animales excluidos se sobreestimaron debido a la suposición de progenitores no emparentados. Los algoritmos y el código R correspondiente se proporcionan con fines educativos, ofreciendo una solución práctica y eficiente para la evaluación genética en contextos de datos dispersos.

Palabras clave: Algoritmo; Valor de cría; Promedio parental; Pedigrí; Fenotipo

Recibido: 04 de Agosto de 2025

Aceptado:: 25 de Febrero de 2026

Publicado: 08 de Mayo de 2026

En dos estudios previos1,2, a partir de datos de crecimiento de ganado Braunvieh mexicano, se aplicó una estrategia de depuración de datos que llevó a una reducción sustancial en el número de ecuaciones necesarias para resolver evaluaciones genéticas, disminuyendo así los costos computacionales tanto en tiempo como en recursos. En las evaluaciones genéticas, los registros fenotípicos son la principal fuente de información. La forma en que esta información se distribuye genéticamente en la población está definida por la matriz de relaciones genéticas, que puede basarse en el pedigrí, en la genómica o en una combinación de ambas (híbrida). La partición de la varianza fenotípica en varios componentes aleatorios (por ejemplo, genéticos y residuales) se describe mediante los componentes de varianza. Por ejemplo, la heredabilidad cuantifica la partición genética de la varianza fenotípica y refleja cuánto de la superioridad del progenitor se transmite a la descendencia.

El método de depuración de datos funciona descartando animales que no aportan información a la evaluación genética (es decir, sin registro fenotípico) y que no transmiten información (es decir, no progenitores). Como resultado, solo los animales fenotipados y sus progenitores permanecen en el análisis. Este es el caso de las evaluaciones genéticas basadas en el pedigrí (BLUP3). En cambio, las evaluaciones genéticas basadas en genómica (GBLUP4) no permiten este tipo de filtrado de datos, ya que todos los animales genotipados transmiten información a través de la matriz de relaciones genómicas. En evaluaciones genéticas híbridas, donde animales genotipados y no genotipados se evalúan simultáneamente mediante una matriz de relaciones de pedigrí-genómicas aumentada (ssGBLUP5,6), los animales fenotipados, genotipados y sus progenitores se mantienen en el análisis, y otros animales pueden suprimirse. Por ejemplo, en evaluaciones BLUP de rasgos de crecimiento para el ganado Braunvieh mexicano1, el método de depuración redujo el número de animales en la evaluación de 193,442 a 64,501, de los cuales 37,738 tenían datos fenotípicos. Esto reduce el número de ecuaciones por resolver y las demandas computacionales. Esto no significa que los animales excluidos del análisis no vayan a ser evaluados. De hecho, se requieren evaluaciones genéticas para esos animales. Esos animales reciben su evaluación genética únicamente de sus progenitores (no por descendencia ni por su propio desempeño). El promedio parental de esos animales puede calcularse a partir del modelo de evaluación genética, y la confiabilidad de su evaluación genética (promedio parental) se calcula como , donde r 2 es la confiabilidad1,7. La única desventaja es que esta ecuación asume que el padre y la madre no están emparentados.

Nilforooshan y Garrick8 desarrollaron un método para reducir el número de ecuaciones para animales fenotipados y obtener iterativamente las soluciones para animales no fenotipados. La dimensión de las ecuaciones para ese modelo es considerablemente menor que la del modelo utilizado en el enfoque de depuración de datos presentado. El modelo que utiliza los datos depurados contiene ecuaciones para animales fenotipados y sus progenitores, incluidos los antepasados. No obstante, ese método8 requiere introducir una matriz personalizada en el modelo, donde f y n representan animales fenotipados y no fenotipados, , , y A es la matriz de relaciones basada en pedigríes. Considere que es diferente de utilizando un pedigrí que contiene solo animales fenotipados. Usando el contexto GBLUP, para BLUP puede introducirse en el modelo en lugar de , donde G es la matriz de relaciones genómicas. El modelo para la depuración de datos que se presenta es mucho más grande (muchos progenitores no fenotipados, no limitados a los progenitores de primer grado de animales fenotipados). Sin embargo, tiene la ventaja de que el usuario no necesita calcular , donde q representa a los progenitores no fenotipados de los animales fenotipados. De manera simple, se utiliza el pedigrí de animales retenidos y el software lo emplea para crear una limitada a animales fenotipados y sus progenitores. Una vez estimados los valores de cría y las confiabilidades para los animales del modelo, los valores de cría y las confiabilidades para los animales no incluidos se obtienen de forma sencilla.

Este estudio presenta los algoritmos y el código R para la depuración de datos, así como el cálculo de los valores de cría y de las confiabilidades para animales descartados. Dado que R es un software popular y libre, el código se presenta en el lenguaje de programación R9. Para mayor claridad educativa, solo se usaron funciones base de R, evitando el uso de paquetes adicionales de R. Se proporcionaron puntos de referencia (tiempo de ejecución de la CPU, uso máximo de memoria y número de ecuaciones) utilizando datos de un estudio anterior1.

Depuración de pedigrí: Dado que los registros fenotípicos son la principal fuente de información, se conservan todos los animales fenotipados y el pedigrí incluye animales fenotipados y sus progenitores. Hay dos formas de lograrlo. El primer enfoque, tal como lo describen Nilforooshan et al1, consiste en rastrear el pedigrí de los animales fenotipados hasta que no queden más progenitores por añadir. Esto puede hacerse usando la función pedup del paquete ggroups de R10. La función pedup requiere tres argumentos: (1) pedup, un marco de datos con tres columnas para los identificadores (IDs) de animal, padre y madre; (2) progeny, aquí, el vector de IDs de animales fenotipados; (3) maxgen, un entero positivo que indica el número de generaciones a rastrear. Si se omite maxgen, se reduce el límite superior del número de generaciones y el pedigrí se rastrea hasta la población base (antepasados con ambos progenitores desconocidos). El segundo enfoque consiste en descartar iterativamente a los no progenitores no fenotipados. Esto se hace iterativamente para descartar a los progenitores no fenotipados de animales no fenotipados. El procedimiento se ilustra en el siguiente pseudocódigo:

Input:

ped: data frame containing columns ID, SIRE, and DAM (pedigree information). Missing parents are coded as 0.

phe: vector containing IDs of phenotyped animals, all available in ped.

Algorithm:

Create a copy of ped (ped_prn).

Initialize nrowped to be the number of rows in ped_prn plus 1.

While the number of rows in ped_prn reduces (< nrowped):

Update nrowped to the current number of rows in ped_prn.

Retain in ped_prn only those rows where ID is present in phe or in the list of parents.

Output:

The pruned ped_prn, containing phenotyped animals and their parents.

y en el siguiente bloque de código R:

ped_prn <- ped

nrowped <- nrow(ped_prn) + 1 # Initialize to ensure the loop starts

while(nrow(ped_prn) < nrowped)

{

nrowped <- nrow(ped_prn)

ped_prn <- ped_prn[ped_prn$ID %in% phe | ped_prn$ID %in% c(

unique(ped_prn[ped_prn$SIRE > 0,]$SIRE),

unique(ped_prn[ped_prn$DAM > 0,]$DAM)),]

}

En el caso de ssGBLUP, la lista de animales genotipados no fenotipados se añade a la lista de animales fenotipados (es decir, phe <- c(phe, geno_no_phe)) para evitar que los animales genotipados se descarten.

Evaluación genética: Se realiza utilizando el pedigrí depurado. Se estiman los valores de cría y las confiabilidades para los animales fenotipados y sus progenitores.

Resolución hacia atrás: En este paso se obtienen los valores de cría y las confiabilidades de los animales omitidos, a partir de los valores de cría y las confiabilidades estimadas de sus progenitores en el paso anterior. La resolución hacia atrás se realiza de forma iterativa generación tras generación. En la primera iteración, las soluciones para animales cuyos progenitores son evaluados en el modelo de evaluación genética se resuelven hacia atrás. El proceso se explica en el siguiente pseudocódigo:

Input:

ped: data frame containing columns ID, SIRE, and DAM (pedigree information). Missing parents are coded as 0.

ped_prn: a subset of ped used in the genetic evaluation model.

ge_results: data frame containing columns ID, EBV, and REL for animals evaluated in the genetic evaluation model.

Algorithm:

Merge ped_prn and ge_results by ID.

Extract rows of ped, where ped$ID is not in ge_results$ID (ped_no_ge).

While the number of ped_no_ge rows > 0:

Find rows of ped_no_ge with known parents in ped_prn$ID.

For those rows, calculate EBV and REL from the parent(s).

Append those rows to ped_prn and discard them from ped_no_ge.

Sort ped_prn by ID.

Output:

The full ped data frame with additional (EBV and REL) columns.

y en el siguiente bloque de código R:

ped_prn <- merge(ped_prn, ge_results, by="ID")

ped_no_ge <- ped[!ped$ID %in% ge_results$ID,]

while(nrow(ped_no_ge) > 0)

{

tmp <- ped_no_ge[ped_no_ge$SIRE %in% c(0, ped_prn$ID) &

ped_no_ge$DAM %in% c(0, ped_prn$ID),]

tmp <- merge(tmp, ped_prn[,c("ID", "EBV", "REL")],

by.x="SIRE", by.y="ID", all.x=TRUE)

colnames(tmp)[colnames(tmp)=="EBV"] <- "SIRE_EBV"

colnames(tmp)[colnames(tmp)=="REL"] <- "SIRE_REL"

tmp <- merge(tmp, ped_prn[,c("ID", "EBV", "REL")],

by.x="DAM", by.y="ID", all.x=TRUE)

colnames(tmp)[colnames(tmp)=="EBV"] <- "DAM_EBV"

colnames(tmp)[colnames(tmp)=="REL"] <- "DAM_REL"

tmp[is.na(tmp)] <- 0

tmp$EBV <- (tmp$SIRE_EBV + tmp$DAM_EBV)/2

tmp$REL <- (tmp$SIRE_REL + tmp$DAM_REL)/4

tmp <- tmp[,colnames(ped_prn)]

ped_prn <- rbind(ped_prn, tmp)

ped_no_ge <- ped_no_ge[!ped_no_ge$ID %in% tmp$ID,]

}

ped_prn <- ped_prn[order(ped_prn$ID),]

Ejemplo: La Figura 1 ilustra un ejemplo del pedigrí de diez animales, tres de ellos fenotipados. Este ejemplo demuestra el proceso de depuración a lo largo de las iteraciones, qué animales permanecen en el modelo de evaluación genética y la evaluación de los animales excluidos se resuelve hacia atrás en cada iteración. Los animales 9 y 10 se descartan en la primera iteración de depuración. Los animales 7 y 5 se omiten en la segunda y la tercera iteración, respectivamente. Los animales 1, 2, 3, 4, 6 y 8 se evalúan en el modelo de evaluación genética. Los valores de cría y las confiabilidades de los animales 5 y 9 (de los animales 4 y 6) se resuelven hacia atrás en la primera iteración. El valor de cría y la confiabilidad de los animales excluidos con ambos progenitores ausentes (animal 5) se establecen en 0 en la primera iteración. Los valores de cría de los animales 7 (de los animales 4 y 5) y 10 (de los animales 7) se resuelven hacia atrás en la segunda y tercera iteración, respectivamente.

Figura 1. Un ejemplo del pedigrí de 10 animales. Los animales 4, 6 y 8 (gris) están fenotipados

Este ejemplo se demuestra en acción (Nilforooshan11), donde se imprime la salida de cada iteración de depuración y de resolución hacia atrás para ilustración. También se demuestra la equivalencia entre los resultados del análisis completo y los del análisis reducido, seguida de la resolución hacia atrás.

Extensión a modelos con grupos genéticos: El método presentado puede extenderse a modelos con grupos genéticos. La única diferencia es que los grupos genéticos deben tratarse como progenitores conocidos en la fase de resolución hacia atrás. Los grupos genéticos asignados a progenitores desconocidos de animales descartados deben estar disponibles entre los grupos genéticos asignados a progenitores desconocidos de animales que permanecen en el modelo de evaluación genética. La razón es que los animales omitidos no pueden proporcionar información que respalde soluciones para grupos genéticos.

Evaluación comparativa: Se utilizaron datos de un estudio anterior1 para comparar el tiempo de ejecución de la CPU, el uso máximo de memoria y el número de ecuaciones. Los resultados se presentan en el Cuadro 1. El análisis tri-variado en Nilforooshan et al1 se comparó con el pedigrí completo de 193,442 animales vs al pedigrí reducido de 64,501 animales. Hubo 36,972, 24,255 y 16,121 animales fenotipados para el peso al nacimiento (PN), el peso al destete (PD) y el peso al año (PA), respectivamente. Los 37,738 animales fenotipados para al menos un rasgo se utilizaron para la reducción del pedigrí. Consulte Nilforooshan et al1 para conocer el número de animales fenotipados para diferentes combinaciones de rasgos, las estadísticas básicas de los rasgos y los modelos estadísticos. Los análisis se realizaron utilizando los programas más relevantes de la familia de programas BLUPF9012 (Cuadro 1) en un procesador Intel(R) Xeon(R) Platinum 8280L con una frecuencia de procesador de 2.70 GHz. El procesador estaba equipado con 64 núcleos. No obstante, para que los tiempos de ejecución de la CPU fueran independientes del número de CPU, los análisis se ejecutaron en un solo núcleo.

Cuadro 1. Tiempo de ejecución de la CPU (seg) y uso máximo de memoria (KB) para ejecutar diferentes programas BLUPF90 en el análisis de 3 variables para los datos completos (usando el pedigrí completo) y los reducidos (usando el pedigrí reducido)
Programa* Datos completos Datos reducidos
Tiempo de ejecución Memoria pico Tiempo de ejecución Memoria pico
RENUMF90 7.4 27,020 4.2 16,392
BLUPF90 51.7 1’215,956 22.1 607,772
ACCF90 10.0 77,636 3.1 35,308
REMLF90 13,320.9 2’672,512 9,692.6 1’702,380

* Breve descripción de los programas: RENUMF90 - renumeración de datos y comprobaciones de pedigrí; BLUPF90 - BLUP en memoria; ACCF90 - aproximación de las exactitudes para los valores de cría; REMLF90 - REML con maximización acelerada de expectativas.

Los análisis completo y reducido tuvieron 7,615 ecuaciones correspondientes a efectos fijos (2537, 2540 y 2538 para PN, PD y PA, respectivamente). El número de ecuaciones para efectos fijos no cambia, ya que no hay pérdida de datos fenotípicos. El número de ecuaciones correspondientes a efectos aleatorios fue cinco veces el número de animales del pedigrí (193,442 y 64,501 animales para el pedigrí completo y el reducido, respectivamente). Esto se debe a que tres rasgos y PD tienen efectos aleatorios adicionales (aparte de la genética aditiva directa) para la genética materna y los efectos ambientales permanentes maternos.

Las diferencias en el tiempo de ejecución entre el análisis completo y el reducido no fueron significativas, salvo en la estimación de los componentes de varianza (Cuadro 1: REMLF90). Los análisis completos usaron más memoria para todas las tareas. Para los datos estudiados, es posible realizar los análisis completos en una computadora portátil económica con 8 GB de RAM. Sin embargo, para datos de mayor tamaño, eso podría significar depender de un servidor en lugar de una computadora portátil.

La principal diferencia computacional entre los datos completos y los depurados se observó en la estimación de los componentes de varianza. Debido a limitaciones computacionales, usar un subconjunto de datos para estimar los componentes de varianza es una práctica común. Los datos para la mayoría de las evaluaciones genéticas nacionales son mucho más grandes que los datos estudiados, y usar los datos completos para estimar los componentes de varianza suele no ser una opción. Además, el uso de datos poco informativos puede ralentizar o provocar una mala convergencia. La depuración de datos presentada puede servir como primer paso para crear un subconjunto de datos que permita eliminar datos poco informativos y hacer factible la estimación de los componentes de varianza para datos grandes.

Debido a que no hubo pérdida de datos fenotípicos entre el análisis completo y el reducido, los valores de cría y las confiabilidades estimadas fueron idénticos entre el análisis completo y el reducido. También fue cierto para los valores de cría resueltos hacia atrás, ya que esos son totalmente condicionales (iguales) a los promedios parentales.

Aunque la confiabilidad de los animales descartados fue idéntica entre el análisis completo y el reducido, las confiabilidades obtenidas iterativamente hacia atrás para los animales omitidos se sobreestimaron en comparación con las predichas por el análisis completo (Figura 2). No está claro si esta sobreestimación se relaciona únicamente con la simplificación (ignorando la relación entre progenitores) realizada en la resolución hacia atrás de la confiabilidad de la descendencia a partir de las confiabilidades de los progenitores. Se necesita más investigación sobre este asunto. La mayoría de las confiabilidades resueltas hacia atrás fueron cercanas a cero, por lo que, dadas algunas sobrestimaciones grandes, las inflaciones promedio de confiabilidad fueron solo 0.061, 0.047 y 0.040 para PN, PD y PA, respectivamente. Las medianas correspondientes fueron 0.051, 0.035 y 0.029.

Figura 2. Diagramas de dispersión entre las confiabilidades resueltas hacia atrás para los animales excluidos (eliminados del análisis reducido) y las confiabilidades correspondientes del análisis completo para peso al nacimiento (PN=BW), peso al destete (PD=WW) y peso al año (PA=YW)

La depuración de pedigrí y la resolución hacia atrás son computacionalmente sencillas y rápidas, y requieren solo unos segundos para realizarse. Estas tareas no se sometieron a pruebas comparativas, ya que las técnicas avanzadas de programación podían reducir aún más el tiempo de ejecución y los requisitos de memoria. Para fines educativos, se mantuvo el código simple y en base R.

Observaciones finales: Este estudio introduce algoritmos y códigos para la depuración de pedigrí con el fin de mantener a los animales fenotipados y a sus progenitores en la evaluación genética, así como para obtener, posterior al análisis, los valores de cría (promedios parentales) y las confiabilidades para los animales excluidos del análisis, lo cual es menos exigente computacionalmente que evaluar directamente a esos animales en el modelo de evaluación genética. El número de ecuaciones en el modelo de evaluación genética correspondientes a los efectos aleatorios de los animales se reduce y, en consecuencia, las demandas computacionales también se reducen. Este método es especialmente ventajoso para rasgos y poblaciones en los que los fenotipos son escasos y la mayoría de los animales de las últimas generaciones no están fenotipados. La resolución de ecuaciones BLUP y la aproximación de confiabilidades fueron lo suficientemente rápidas como para que las diferencias de tiempo computacional entre el análisis completo y el reducido fueran insignificantes. Cuando la memoria no es una limitación, los datos completos pueden utilizarse para estas tareas. No obstante, dadas las limitaciones computacionales para estimar componentes de varianza, el algoritmo de depuración de pedigrí introducido es una excelente opción como primer paso para preparar un subconjunto de datos.

Agradecimientos

Los autores agradecen a la Asociación Mexicana de Criadores de Ganado Suizo de Registro por permitir el uso de sus bases de datos y a los criadores por su amable colaboración en este estudio.

Conflicto de interés:

Ninguno de los autores tiene conflictos de intereses que declarar.

Licencia:

Este es un artículo de acceso abierto distribuido bajo los términos de la licencia Creative Commons Atribución-NoComercial CC BY-NC 4.0 Internacional.

Literature cited:

1. Nilforooshan MA, Ruı́z-Flores A, Pérez-Rodrı́guez P, Pabiou T, Saavedra-Jiménez LA, Valerio-Hernández JE. Multitrait analysis of growth traits for the optimization of breeding value prediction in Braunvieh cattle. Rev Mex Cienc Pecu 2025;16(1):55-68. https://doi.org/10.22319/rmcp.v16i1.6648.

2. Saavedra-Jiménez LA, Ramírez-Valverde R, Núñez-Domínguez R, Ruíz-Flores A, García-Muñiz JG, Nilforooshan MA. Effect of two phantom parent grouping strategies on the genetic evaluation of growth traits in Mexican Braunvieh cattle. Rev Mex Cienc Pecu 2021;12(3):878-892. https://doi.org/10.22319/rmcp.v12i3.5562.

3. Henderson CR. Best linear unbiased estimation and prediction under a selection model. Biometrics 1975;31(2):423-447. https://doi.org/10.2307/2529430.

4. VanRaden PM. Efficient methods to compute genomic predictions. J Dairy Sci 2008;91(11):4414-4423. https://doi.org/10.3168/jds.2007-0980.

5. Aguilar I, Misztal I, Johnson DL, Legarra A, Tsuruta S, Lawlor TJ. Hot topic: A unified approach to utilize phenotypic, full pedigree, and genomic information for genetic evaluation of Holstein final score. J Dairy Sci 2010;93(2):743-752. https://doi.org/10.3168/jds.2009-2730.

6. Christensen OF, Lund MS. Genomic prediction when some animals are not genotyped. Genet Sel Evol 2010;42(1):2. https://doi.org/10.1186/1297-9686-42-2.

7. Harris B, Johnson D. Approximate reliability of genetic evaluations under an Animal Model. J Dairy Sci 1998;81(10):2723-2728. https://doi.org/10.3168/jds.S0022-0302(98)75829-1.

8. Nilforooshan MA, Garrick D. Reduced animal models fitting only equations for phenotyped animals. Front Genet 2021;12:372. https://doi.org/10.3389/fgene.2021.637626.

9. R Core Team. R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

10. Nilforooshan MA, Saavedra-Jiménez LA. ggroups: An R package for pedigree and genetic groups data. Hereditas 2020;157:17. https://doi.org/10.1186/s41065-020-00124-2.

11. Nilforooshan MA. Iterative pruning of non-phenotyped non-parent animals and back-solving of their solutions followed by the genetic evaluation analysis. Mendeley data 2025. https://doi.org/10.17632/sjts2m64fd.2.

12. Misztal I, Tsuruta S, Lourenco DAL, Aguilar I, Legarra A, Vitezica Z. Manual for BLUPF90 family of programs. 2014. https://nce.ads.uga.edu/wiki/lib/exe/fetch.php?media=blupf90_all.pdf.