Pregunta:
¿Cuáles son las etiquetas en mi matriz de distancias de rstats?
flashton
2017-06-28 10:28:40 UTC
view on stackexchange narkive permalink

Tengo una matriz de distancias generada por hierfstat, por lo tanto, con un enlace al archivo fasta aquí:

  biblioteca (adegenet) biblioteca (hierfstat) snps < - fasta2DNAbin ('test.fa', chunkSize = 50) gi <- DNAbin2genind (snps) # definir manualmente las poblaciones para pasar a pares.fstp <- c ('Botswana', 'Botswana', 'Botswana', 'Botswana' , 'Francia', 'Francia', 'Vietnam', 'Vietnam', 'Uganda', 'Uganda', 'Uganda', 'Uganda', 'Vietnam', 'Vietnam', 'Laos', 'Laos', ' Laos ',' Vietnam ',' Vietnam ',' Vietnam ',' Vietnam ',' Vietnam ') f <- pairwise.fst (gi, p, res.type = c (' dist ',' matrix ')) as .matrix (f)  

que produce

  1 2 3 4 51 0 0.2189008 0.225567409 0.1821518 0.2594097222 0.2189008 0 0.130736953 0.1648034 0.1910507723 0.2255674 0.130737 0 0.1669077 0.006396789480 0.182 0.166907683 0 0.2039314575 0.2594097 0.1910508 0.006396789 0.2039315 0  

¿Es seguro asumir que 1 = Botswana, 2 = Francia, 3 = Vietnam, 4 = Uganda y 5 = Laos? es decir, que las filas / columnas de la matriz de distancia siguen el orden en que cada población apareció por primera vez en p?

¿Hay alguna manera de determinar con certeza qué fila / columna en la matriz de distancia? ¿A qué población corresponde?

¡Bienvenido a Bioinformática! Puede cambiar el orden de sus columnas en la entrada y ver cómo es la salida, si las columnas en la salida siguen a las columnas en la entrada, entonces sería más seguro. Pero esto es del paquete adegenet, ¿no? ¿Podría proporcionar algunos datos de prueba para probar yo mismo? De lo contrario, puede verificar el código fuente de pairwise.fst
agregué un archivo de prueba y las bibliotecas que estaba usando :-) supongo que _podría_ ingresar al código fuente o permutar las muestras para verificar, pero parece sensato que habría una opción solo para imprimirlas de alguna manera ...
One responder:
galicae
2017-06-28 13:23:44 UTC
view on stackexchange narkive permalink

Descargo de responsabilidad: no tengo adagenet y hierfstat instalados, solo miré el código fuente. Parece que pairwise.fst (el código obsoleto del paquete adagenet, que parece estar usando) ya devuelve una matriz. Establezca res.type = "matrix" e intente llamar a rownames (f) y colnames (f) después.

Funcionó de maravilla, ¡gracias! Estoy usando pairwise.fst porque es el método mencionado en este tutorial de 2015 http://adegenet.r-forge.r-project.org/files/tutorial-basics.pdf. ¿Dónde leíste que está en desuso?
Estaba buscando el código fuente. Hay funciones pairwise.fst en adagenet y en hierfstat. Si observa la función en el [repositorio adagenet] (https://github.com/cran/adegenet), verá que está comentada (R / fstat.R). Es, a mi entender (limitado), una de las funciones que se han subcontratado / exportado al paquete `hierfstat`.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...