Content uploaded by Dora-Luz Flores
Author content
All content in this area was uploaded by Dora-Luz Flores on Nov 10, 2020
Content may be subject to copyright.
Herramienta computacional para estimar la tasa
de migraci´on de flujos gen´eticos en diferentes
poblaciones
C. G. Villegas1, R. Mu˜n´ız-Salazar2*, D. L. Flores3
1Departamento de Sistemas y Computaci´on, Instituto Tecnol´ogico de Durango, Durango, M´exico.
2Escuela de Ciencias de la Salud, Universidad Aut´onoma de Baja California, Ensenada, M´exico.
3Facultad de Ingenier´ıa, Arquitectura y Dise˜no, Universidad Aut´onoma de Ba ja California,
Ensenada, M´exico.
*ramusal@uabc.edu.mx
Resumen
El flujo gen´etico es la transferencia de alelos de genes de una poblaci´on a otra, el cual
influye en la variabilidad gen´etica de una poblaci´on y con ello de su evoluci´on, dependiendo
si hay mayor o menor flujo gen´etico entre los individuos de las poblaciones. Por tal motivo,
es importante, determinar tanto la direcci´on, como la intensidad del flujo gen´etico entre las
poblaciones. Actualmente, existen diversos programas de c´omputo gratuitos que permiten
calcular el flujo gen´etico entre poblaciones. Uno de ellos y que es ampliamente usado
es Migrate, con base en inferencia bayesiana. Sin embargo, este programa no realiza la
interpretaci´on de los resultados, por lo que, es necesario realizarlo de manera manual. Por
ello, el presente trabajo trata sobre el desarrollo de una herramienta con interfaz gr´afica
basada en Python para estimar la tasa de migraci´on de flujo gen´etico entre poblaciones,
aplicando la prueba tde Student no pareada con varianza desigual. La principal ventaja
de esta herramienta es la automatizaci´on en la selecci´on y extracci´on de datos, y en la
aplicaci´on de los c´alculos estad´ısticos y con ello poder determinar si el flujo gen´etico entre
dos poblaciones es unidireccional o bidireccional.
Palabras clave: Flujo gen´etico, Gen´etica poblaciones, Migraci´on, Migrate, Python.
1 Introducci´on
Una poblaci´on es un grupo local de individuos que pertenece a una especie, adem´as, es una entidad
gen´etica abierta, que puede intercambiar genes con otras poblaciones de la misma especie, mientras que
la especie es una entidad cerrada, que no puede intercambiar genes con otras entidades. Las poblaciones
son din´amicas; pueden crecer y expandirse o disminuir y contraerse mediante cambios en las tasas de
nacimiento o mortalidad, o por migraci´on o fusi´on con otras poblaciones. Las poblaciones raramente son
sistemas cerrados. Por lo regular, se produce cierta cantidad de transferencia de genes, lo cual es m´as
probable cuando las poblaciones se encuentran estrechamente relacionadas espacial y gen´eticamente.
Entre las poblaciones adyacentes de una especie el flujo de genes puede ser grande, por lo que es de
esperar que las poblaciones contiguas posean una composici´on g´enica m´as semejante que las que est´an
m´as alejadas geogr´aficamente. Por ello, la migraci´on entre grupos geogr´aficamente aislados es un suceso
de gran importancia porque los complejos g´enicos se alteran y, en general, todas las diferencias gen´eticas
entre las poblaciones se reducen [1].
La eficacia del intercambio de genes depende de la estructura de las dos poblaciones (emigrante
y receptora) y, m´as espec´ıficamente, de la cantidad de migraci´on (´ındice de migraci´on, m) y de la
magnitud de la diferencia en frecuencias g´enicas entre las dos poblaciones [1].
Actualmente, existen diferentes softwares de aplicaci´on que describen la diversidad gen´etica dentro y
entre poblaciones [2], entre los m´as importantes se encuentran: Fstat, Genepop y M´ıgrate, centr´andose
en este ´ultimo, Migrate [3] estima el tama˜no de poblaci´on efectivo, las tasas de migraci´on pasadas
dx.doi.org/10.24254/CNIB.20.55
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
entre npoblaciones asumiendo un modelo de matriz de migraci´on con tasas de migraci´on asim´etricas
y diferentes tama˜nos de subpoblaciones, y divergencias o mezclas de poblaciones. Migrate utiliza la
inferencia bayesiana para estimar conjuntamente todos los par´ametros. Adem´as, Migrate corre con
datos de secuencias de DNA con o sin variaci´on de velocidad del sitio, datos de polimorfismo de un
solo nucle´otido (SNP), datos de microsat´elites y electrofor´eticos.
Sin embargo, el programa Migrate no determina si existen diferencias significativas entre poblaciones
y la direcci´on del flujo, raz´on por la cual se propone el desarrollo de esta herramienta. Este trabajo
presenta una herramienta gr´afica para el procesamiento de datos resultantes de los c´alculos realizados
en el software Migrate, determina si existen diferencias significativas en el n´umero de migrantes y la
direcci´on del flujo gen´etico entre poblaciones y el usuario puede seleccionar el nivel de confianza para
realizar el c´alculo. La ventaja principal de esta herramienta gr´afica es el ambiente amigable e intuitivo
para el usuario.
2 Metodolog´ıa
2.1 Conjunto de datos
Se parte de un archivo de salida (outfile) que es generado por Migrate, el cual contiene una tabla con el
n´umero de migrantes (MLE) por poblaci´on calculados con diferentes percentiles. En la Fig. 1se muestra
un ejemplo de la tabla generada por Migrate, en el que se muestran seis columnas que se describen a
continuaci´on.
•Columna 1. Par´ametro. Muestra los valores de T heta para cada npoblaci´on, y posteriormente
muestra el par de poblaci´on analizada. M 21, corresponde al par de la poblaci´on 2 y 1, y as´ı
sucesivamente.
•Columnas 2 a 5. Percentiles bajos para cada par´ametro.
•Columna 6. MLE. Corresponde al valor de n´umero de migrantes para cada par de poblaci´on.
2.2 Extracci´on de datos
Para extraer solo los datos necesarios del archivo de salida de Migrate, se identifican los renglones
clave dentro de los archivos, los cuales a partir de su ubicaci´on contendr´an la informaci´on necesaria.
Es importante analizar el formato del contenido, ya que es posible encontrar patrones que faciliten la
ubicaci´on de los par´ametros deseados. Dentro de los archivos de salida de Migrate se encuentran cinco
columnas clave:
1. El inicio del total de poblaciones con su respectivo total individual
2. El fin del total de poblaciones
3. Los percentiles bajos: 0.005, 0.025, 0.050 y 0.250
4. El valor de MLE
5. Los percentiles altos: 0.750, 0.950, 0.975 y 0.995
Como se observa en la Fig. 1, la tabla contiene valores de T heta, (T heta 1, T heta 2, . . . ), dichos
valores no son necesarios para el an´alisis, por lo que se deben omitir. Sin embargo, con esta informaci´on,
se puede conocer la cantidad de pares a analizar, en este ejemplo, se tienen 14 pares (T heta 14).
Para conocer la cantidad de pares a analizar (par´ametros), se hace uso del c´alculo de permutaciones,
como se muestra en la ecuaci´on (1).
Pn
r=n!
(n−r)! (1)
donde: nes el total de poblaciones y res el par de poblaciones. Para este caso, dado que se esta
trabajando con pares, entonces r= 2.
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
Fig. 1. Ejemplo de un archivo generado por Migrate
2.3 Procesamiento de datos
Una vez que se extraen los datos del archivo de salida de Migrate, estos son almacenados en estructuras
tipo listas, vectores y matrices de Python [4]. En la Fig. 2se muestra una secci´on del c´odigo donde
observa la forma en la que se obtuvieron los datos para su procesamiento en la interfaz.
El desarrollo de este trabajo fue realizado en Python v.3.8.4 haciendo uso de sus librer´ıas [5].
1. Para creaci´on de interfaz gr´afica, PyQt5
2. Para aplicar prueba tde Student, scipy
3. Para selecci´on, extracci´on y manipulaci´on de datos, Pandas
Es justo aqu´ı donde inicia la automatizaci´on del c´alculo estad´ıstico entre pares de par´ametros o
poblaciones. Por ejemplo, el par´ametro M 21 significa que el flujo gen´etico va de la poblaci´on 2 a la
poblaci´on 1 y por su parte el par´ametro M 12 significa que el flujo gen´etico va de la poblaci´on 1 a la
poblaci´on 2.
Los pares de poblaciones se deben comparar estad´ısticamente por medio de una prueba de tde
Student, ecuaci´on (2), para determinar si existen diferencias significativas en la direcci´on del flujo
gen´etico entre poblaciones. Si hay diferencia significativa, entonces una poblaci´on es la que est´a enviando
mayor n´umero de individuos (migrantes) a la otra poblaci´on. Si no hay diferencia significativa, entonces
el flujo es bidireccional.
tσ/2=µ1−µ2
(n1−1)σ2
1+ (n2−1)σ2
2
n1+n2−2r1
n1
+1
n2
(2)
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
Fig. 2. C´odigo en Python para el procesamiento de los datos obtenidos de Migrate
donde µ1yµ2son las medias de los dos conjuntos de datos muestra, σ1yσ2son las varianzas de
las dos poblaciones y n1yn2son los n´umeros de elementos de cada muestra.
Para llevar a cabo el an´alisis estad´ıstico, se contemplan las hip´otesis, pruebas de decisi´on e inter-
pretaciones que se muestran en la Tabla 1. La Fig. 3muestra gr´aficamente estas pruebas de hip´otesis
y su interpretaci´on. MLE21 representa el n´umero de migrantes de la poblaci´on 2 a la poblaci´on 1,
MLE12 indica el n´umero de migrantes de la poblaci´on 1 a la poblaci´on 2, ttab es el valor del estad´ıstico
tobtenida de tablas estad´ısticas y tcalc es valor del estad´ıstico tobtenido de la ecuaci´on (2).
Tabla 1: Prueba de hip´otesis y su interpretaci´on
Hip´otesis Decisi´on Interpretaci´on
Ho: MLE21 = MLE12 −ttab > tcalc > ttab se rechaza HoFlujo gen´etico es unidireccional
HA: MLE21 6= MLE12 −ttab < tcalc < ttab se acepta HoFlujo gen´etico es bidireccional
3 Resultados y Discusi´on
La interfaz principal es intuitiva, como se muestra en la Fig. 4, se encuentran cuatro botones que gu´ıan
al usuario a realizar el an´alisis estad´ıstico entre pares de poblaciones de manera sencilla.
Al oprimir el bot´on Open file se abre un directorio de archivos que permite al usuario elegir un
documento con extensi´on .txt, al seleccionar el archivo en la cabecera de la interfaz se muestra por medio
de etiquetas la direcci´on en la que se encuentra el archivo y el n´umero de poblaciones analizadas en
Migrate. Durante el proceso de carga de los datos, se crean tres archivos con extensi´on .csv, el primero
contiene las poblaciones con su respectivo total individual y los restantes contienen los percentiles.
El archivo de poblaciones obtiene el total de las mismas y los archivos con percentiles se unen para
almacenar y mostrar sus datos en una tabla. El bot´on Run muestra la tabla generada en el proceso
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
Fig. 3. N´umero de migrantes que dona la poblaci´on 1 a la poblaci´on 2 que es receptora (MLE12)
y viceversa (MLE21). Las flechas indican la direcci´on y la intensidad del flujo gen´etico. Las
flechas de mayor tama˜no y con una sola direcci´on indican que una de las dos poblaciones es la
que est´a donando una mayor cantidad de migrantes a la poblaci´on receptora.
Fig. 4. Interfaz principal
anterior.
Para la selecci´on de valores con los que se quiera realizar el an´alisis, en la parte intermedia de la
interfaz se presentan diferentes opciones que representan los percentiles, el usuario solo puede escoger
una de ellas, al escoger, el bot´on Results realiza los c´alculos con los valores de esas columnas, aplica la
prueba tde Student, y muestra los resultados en otra tabla.
El bot´on Export permite al usuario exportar los resultados anteriores a un archivo con extensi´on
.csv, para ser visualizados como tabla, como se observa en la Fig. 5.
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
Fig. 5. Archivo que se genera con la herramienta computacional desarrollada en donde las
poblaciones se encuentran ordenadas por pares de poblaciones de manera consecutiva y muestra
el tipo de migraci´on entre poblaciones.
4 Conclusiones
En el presente trabajo se mostr´o una herramienta con interfaz gr´afica para estimar la tasa de migraci´on
de flujos gen´eticos en diferentes poblaciones.
Est´a desarrollada en Python y la interfaz es amigable con el usuario ya que el flujo de los elementos
en la interfaz es f´acil de seguir, y es posible usarla sin necesidad de saber programar, sin descargar un
entorno de programaci´on y sin conocer el lenguaje. Como trabajo futuro, se pretende subir la aplicaci´on
a un servidor web, de esta manera ser´a m´as accesible su uso para estudiantes, maestros e investigadores.
Declaraci´on de conflictos de inter´es
Los autores declaran no tener ning´un conflicto de inter´es para este trabajo.
Agradecimientos
Los autores desean agradecer a la Academia Mexicana de Ciencias por haber otorgado una beca a la
estudiante Cinthya-Guadalupe Villegas para su estancia de investigaci´on de verano virtual.
Referencias
[1] A. Templeton, Gene Flow and Subdivided Populations, ch. 6, pp. 155–193. Academic Press, 2019.
[2] T. Garrido-Gardu˜no and E. V´azquez-Dom´ınguez, “M´etodos de an´alisis gen´eticos, espaciales y de
conectividad en gen´etica del paisaje,” Biodivers, vol. 84, no. 3, pp. 1031–1054, 2013.
[3] P. Beerli, MIGRATE: documentation and program. (Version 4.0). Washington: Department of
Scientific Computing, Florida State University, 2016.
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020
Herramienta computacional para estimar flujos gen´eticos C. G. Villegas, et al.
[4] M. Summerfield, Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt
Programming. Prentice Hall, 1st ed., 2006.
[5] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, and C. SciPy,
“Scipy 1.0: fundamental algorithms for scientific computing in python,” Nat. Methods, vol. 17, no. 3,
pp. 261–272, 2020.
XLIII Congreso Nacional de Ingenier´ıa Biom´edica, 15 – 17 de octubre 2020