Frecuencias
mínimas en relMix
Como mucho de
vosotros sabéis, en relMix y en Familias se requiere que la suma de las
frecuencias alélicas de cada marcador sume 1, como en la vida real. Esto
también tiene que ver con los modelos mutacionales que el software puede
utilizar (ver por ejemplo, pág. 171 del libro de Thore:
http://www.familias.name/book.html). Pero ¿qué pasa si queremos utilizar
una frecuencia mínima en algún caso que estemos evaluando? Bueno, pues aquí va
la explicación de cómo funciona esto en relMix (aplicable también a Familias),
con un ejemplo que me envió Thore.
En realidad
existen dos versiones de relMix:
i) la llamada «function version»
más orientada a investigadores y
ii) la «GUI version» más orientada
a usuarios.
Pero ambas versiones usan el mismo código, la misma función de
verosimilitud y necesitan que las frecuencias de cada marcador sumen 1. En la
versión GUI, las frecuencias alélicas se «pre-procesan» de forma que
si no suman 1, el usuario tiene que tomar una decisión (como en Familias).
Por ejemplo,
imaginemos que disponemos de las siguientes frecuencias (no muy realistas, sólo
es un ejemplo) para el siguiente marcador M1:
Marker-1
Alelo 8 = 0.0008
Alelo 9 = 0.3992
Alelo 10 = 0.4000
Suman 0.8, en
lugar de 1. El software entonces te ofrece dos opciones:
a) Añadir un
«rest allele», es decir añadir un alelo extra con la frecuencia
necesaria para que la suma sea 1
b) Escalar, es
decir, redondear las frecuencias de los alelos 8, 9 y 10 para que sumen 1
En el ejemplo
anterior, si el usuario decide añadir un alelo extra llamado «rest
allele», obtendrá:
Marker-1
Alelo 8 = 0.0008
Alelo 9 = 0.3992
Alelo 10 = 0.4000
Rest allele = 0.2
Y si por el
contrario, el usuario decide escalar, cada frecuencia alélica se dividirá por
la suma de todas las frecuencias (en este caso, por 0.8), y así obtendrá:
Marker-1
Alelo 8 = 0.0010
Alelo 9 = 0.4990
Alelo 10 = 0.5000
Pero no nos
perdamos, estábamos interesados en usar frecuencias mínimas, así que imaginemos
que la frecuencia del alelo 8 (0.0008) nos parece demasiado pequeña e imprecisa
y pensamos que esto podría sesgar el resultado. Queremos entonces usar la
frecuencia mínima en lugar de la estimada, por ejemplo queremos usar una
frecuencia mínima de 0.01. En relMixGUI esto se define cuando cargamos la base
de datos (Database -> Options) y así, nuestro archivo original (con alelo 8
= 0.0008) se convierte en:
Marker-1
Alelo 8 = 0.01
Alelo 9 = 0.3992
Alelo 10 = 0.4000
En este caso,
como las frecuencias no suman 1 (suman 0.8092), el usuario tiene que decidir si
escalar o añadir un alelo extra. Pero en otros casos, si al añadir la
frecuencia mínima, la suma supera el valor 1, la única opción es escalar (no se
pueden añadir alelos extra, pues la suma aún daría un valor más grande que 1).
En el ejemplo, lo
más razonable es añadir un alelo extra, pues si escalamos la frecuencia mínima
que hemos introducido en el alelo 8 se modificaría también
(0.01/(0.01+0.3992+0.4000) = 0.0125), y no queremos que eso pase.
Veamos cómo funciona
entonces con un ejemplo de Thore:
Ejemplo (sin
drop-out, sin alelo silente, sin theta)
Madre = 9/9
Padre = 8/10
Mezcla = 8/9
p = frec. alelo 8
= 0.0008
H1 :
«Padre» es el padre
H2 : un hombre al
azar es el padre
LR = 0.5/p = 625
(En detalle: LR
=0.5/(p^2+2*p(1-p)*0.5)=1/p)
El resultado LR =
625 es exactamente el que saldría con relMixGUI si la frecuencia mínima la
definimos = 0 y no escalamos.
Si decidimos
escalar, pero seguimos sin usar la frecuencia mínima, entonces la frecuencia
del alelo 8 pasa de ser 0.0008 a ser 0.001 como hemos visto anteriormente (p =
0.0008 / 0.8) y el LR sería entonces:
LR = 0.5/p = 500
Finalmente, si
decidimos usar una frecuencia mínima de 0.01 y no escalamos (p = 0.01), el LR
tomaría un valor de:
LR = 0.5/p =50
Para que lo
podáis comprobar Thore nos manda archivos con este ejemplo. Podéis descargarlos
aquí: mezcla, referencias, database (ya sabéis, una vez estéis en la dirección,
control + s para guardarlos en vuestro ordenador)
Espero que os sea
útil este comentario! Lo importante es que sigamos aprendiendo!
Yari, mi querida, básicamente lo que ocurre es que no te queda más remedio que escalar cuando las frecuencias suman más de uno. Esto puede ocurrir en varias situaciones. Por ejemplo, en algunos papers poblacionales, las frecuencias publicadas ya suman más de 1 porque redondean (por ejemplo, pueden sumar 1,002), así que no tienes más remedio que escalar. También pasa cuando surge un caso con un alelo no descrito, o cuando quieres usar una frecuencia mínima y al sustituir la frec del alelo raro por la mínima la suma es más de 1 (como hemos visto en este post). Pero también hay trucos para no tener que escalar en este último caso, por ejemplo, definiendo en la base de datos sólo las frecuencias de los alelos involucrados en el caso que estás analizando (incluida la mínima) + el alelo extra. No se si me explico… aunque esto tiene consecuencias si hay mutaciones implicadas, pues los modelos mutacionales exigen que todos los alelos estén representados (y con esta práctica estamos quitando alelos).
Mil gracias a todos por vuestros comentarios!! La verdad es que sois todos tan cariñosos conmigo y con Thore and cols. que esto me anima mucho a seguir trabajando!!
Tuve verdaderas tentaciones de subir el post relMix 1 antes de que terminara el plazo para enviar los resultados del GHEP, pues pienso que en estos desafíos, lo importante es que todos aprendamos. Pero me pareció que sería una falta de respeto al autor del desafío, que no se quién es, pero lo felicito!, pues me pareció buenísimo. Así que, si anda por ahí, que se manifieste y lo felicitamos como se merece!!
gracias Lou, que claro lo has dejado.
seguimos…
Gracias Louritas!
En que casos sería entonces recomendable escalar las frecuencias?
Besos!