2010-05-05 15 views
8

En primer lugar, este puede ser el foro incorrecto para esta pregunta, ya que es bastante maldito R + Bioconductor específico. Aquí es lo que tengo:R + Bioconductor: combina probesets en un ExpressionSet

library('GEOquery') 
GDS = getGEO('GDS785') 
cd4T = GDS2eSet(GDS) 
cd4T <- cd4T[!fData(cd4T)$symbol == "",] 

Ahora CD4T es un objeto ExpressionSet que envuelve una matriz grande con 19794 filas (sondas) y 15 columnas (muestras). La línea final se deshace de todos los probesets que no tienen los símbolos de genes correspondientes. Ahora el problema es que la mayoría de los genes en este conjunto están asignados a más de un conjunto de pruebas. Esto se puede ver haciendo

gene_symbols = factor(fData(cd4T)$Gene.symbol) 
length(gene_symbols)-length(levels(gene_symbols)) 
[1] 6897 

lo tanto, sólo de mis 6897 19794 sondas tienen probeset única -> asignaciones de genes. Me gustaría de alguna manera combinar los niveles de expresión de cada conjunto de pruebas asociado con cada gen. No me importa mucho el ID de la sonda real para cada sonda. Me gustaría mucho terminar con un ExpressionSet que contenga la información fusionada, ya que todos mis análisis posteriores están diseñados para trabajar con esta clase.

Creo que puedo escribir algún código que lo haga a mano y crear una nueva expresión desde cero. Sin embargo, asumo que esto no puede ser un problema nuevo y que existe un código para hacerlo, usando un método estadísticamente sólido para combinar los niveles de expresión génica. Supongo que también hay un nombre propio para esto, pero mis Google no muestran mucho uso. ¿Alguien puede ayudar?

+1

Debe probar biostar.stackexchange.com; es un sitio de tipo StackOverflow exclusivo para preguntas bioinformáticas. –

+0

(aunque creo que esta es una pregunta apropiada aquí, también). –

+0

genial, también lo he puesto en Biostar. –

Respuesta

2

No soy un experto, pero por lo que he visto a lo largo de los años, todos tienen su propia forma favorita de combinar los probesets. Los dos métodos que he utilizado más a gran escala han sido usar solo el conjunto de pruebas que tiene la mayor varianza en la matriz de expresión y el otro ser para tomar la media de los conjuntos de pruebas y crear un meta-conjunto de pruebas fuera de él . Para bloques más pequeños de probesets he visto a personas usar métodos más intensivos que involucran mirar argumentos por probeset para tener una idea de lo que está pasando ... generalmente lo que sucede es que un conjunto de pruebas resulta ser el "bueno" y el el descanso no es muy bueno

No he visto código generalizado para hacer esto, como un ejemplo, recientemente nos dimos cuenta en mi laboratorio de que algunos de nosotros tenemos nuestras propias funciones privadas para hacer lo mismo.

0

La palabra que busca es 'nsFilter' en R genefilter package. Esta función asigna dos cosas principales, solo busca entrez gen ids, el resto de los probesets serán filtrados. Cuando una identificación de entrez tiene múltiples probesets, entonces se retendrá el valor más grande y se eliminarán los demás. Ahora tienes una matriz de identificación de genes entrez única. Espero que esto ayude.

Cuestiones relacionadas