---
# System prepended metadata

title: 'Seminario V: Expresión génica'
tags: [Estudiantes, UAX]

---

###### tags: `UAX` `Estudiantes`
# Seminario Expresión génica
 <font color = 'gray'>
    <p style="text-align:right;">Prof.: Laura J. Marcos-Zambrano </font>
    
### Importar de datos de microarrays procesados desde GEO a R

![](https://i.imgur.com/r6p2U1g.png)

Aclarando términos y formatos. Cualquier duda revisa la web de [GEO](https://www.ncbi.nlm.nih.gov/geo/). 

:::info
**GSM:** GEO Sample
**GSE:** GEO Series (listas de archivos GSM que juntos forman un solo experimento) 
**GDS:** GEO Dataset. 
Una serie GEO (GSExxx) es un registro original proporcionado por el remitente que resume un estudio. El personal de GEO vuelve a ensamblar estos datos en un dataset GEO (GDSxxx). Un conjunto de datos representa una colección de muestras biológica y estadísticamente comparables procesadas utilizando la misma plataforma. La información que refleja las variables experimentales se proporciona a través de subconjuntos de DataSet.
:::

La clase de objetos `ExpressionSet` se usa comúnmente para almacenar datos de experimentos de microarrays. Un objeto de clase ExpressionSet típico contiene los siguientes datos:

**assayData**
intensidades crudas o procesadas, donde cada fila corresponde a una sonda y cada columna corresponde a una muestra

**phenoData**
metadatos experimentales, donde cada fila corresponde a una muestra.

**featureData**
Esta es una anotación opcional de las características (por ejemplo, genes o transcripciones) medidas en un experimento.

**annotation**
un vector de caracteres que especifica el nombre de la plataforma

![](https://i.imgur.com/dHrWoTb.png)

:::success
Vamos a trabajar con datos de GEO (ID de acceso: [GSE33146](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE33146)). El experimento se hizo en una línea de células cancerosas crecidas en cultivo. Las células se cultivan en MEGM (donde retienen un fenotipo epitelial) o SCGM (donde se someten a una transición epitelial-mesencial reversible, o EMT). Se realizó un análisis de la expresión génica utilizando el microarray [hgu133plus2](https://bioconductor.org/packages/release/data/annotation/html/hgu133plus2.db.html) para identificar los genes asociados con el proceso EMT.
:::


### Instalar paquetes a usar en RStudio: 
```r=1
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("GEOquery")
```
## Obtener datos de GEO en R 

Antes de cualquier análisis, necesitamos obtener los datos en R. Si navegas en [GSE33146](https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE33146), verás que hay varios formatos de archivo diferentes disponibles para descargar.

:::info
[**SOFT files**](https://www.ncbi.nlm.nih.gov/geo/info/soft.html)
Es el formato que se suele usar para enviar archivos a GEO. Contiene mucha información sobre el experimento (cumplimiento de MIAME: Minimum Information About a Microarray Experiment) y también contiene las estimaciones para cada gen o transcripción, en un formato de archivo personalizado.

**Archivo [MINiML](https://www.ncbi.nlm.nih.gov/geo/info/MINiML.html)**
El formato de archivo MINiML utiliza XML, un lenguaje de marcado legible por computadora. Tiene la misma información que SOFT, pero en un formato diferente.

**Series matrix file** (Archivo de matriz de serie) 
El archivo de matriz está destinado a ser legible directamente en una hoja de cálculo. Generalmente, estos archivos no tienen toda la información proporcionada por SOFT, pero es fácil trabajar con ellos.

**Archivos complementarios**
Los archivos `.CEL` tienen los datos originales sin procesar. :eye-in-speech-bubble: Como queremos procesarlo nosotros mismos, eso es lo que necesitaremos
:::

### Descargar directamente los datos a R usando `GEOquery`

El paquete [GEOquery](https://www.bioconductor.org/packages/release/bioc/html/GEOquery.html) proporciona herramientas para leer archivos directamente desde GEO en función del número de accesión. GEOquery funciona para diferentes tipos de datos GEO, incluidas muestras (GSM), plataformas (GPL), conjuntos de datos (GDS) y series (GSE).

:::warning
GEOquery, al igual que otros paquetes de Biconductor, crea objetos de datos que parecen algo complicados. Si está acostumbrado a listas R simples, vectores y marcos de datos, las estructuras de datos pueden parecer abrumadoras. Ten en cuenta que estas estructuras de datos, independientemente de lo complicadas que sean, son básicamente composiciones de estructuras de datos que ya conoces: listas, vectores, matrices y dataframes.
:::

### Obtener un solo objeto GSM para una sola muestra

Podemos crear un solo objeto GSM de una sola muestra con una llamada a getGEO (estoy usando un ejemplo del mismo GSE).

```r=5
library("GEOquery")
gsm <- getGEO('GSM820817')

#Podemos ver las estimaciones / los valores de expresión de cada sonda después de la normalización 
head(Table(gsm))

#Podemos ver la metadata referente al diseño experimental 
head(Meta(gsm))
```

Como puedes ver, `Table` devuelve estimaciones numéricas para cada sonda (que es lo que finalmente obtendremos después del preprocesamiento), mientras que `Meta` nos brinda información sobre nuestro experimento.

### Recuperar todo el GSE como una lista de `ExpressionSets`

La función `getGEO()` con un identificador GSE como único argumento descargará los archivos de matriz de serie de GEO y los devolverá como una lista de objetos `ExpressionSet`. En muchos casos, solo habrá un experimento para una serie, por lo que la lista contendrá un solo ExpressionSet, que se puede recuperar como el primer miembro de la lista.

```r=12
gse33146 <- getGEO('GSE33146')
length(gse33146)
class(gse33146[[1]])

#Guardar el experimento en un objeto 
gse33146 <- gse33146[[1]]
```

### Recuperar todo el GSE analizando el archivo SOFT
Cuando `getGEO()`` se ejecuta con el argumento con nombre `GSEMatrix=FALSE`, no analiza los archivos Series Matrix pero analiza los archivos SOFT. La ventaja de este método es que los archivos SOFT pueden contener más información que los archivos de matriz de serie, pero la desventaja es que es mucho más lento y el objeto resultante no es una lista de ExpressionSets. Sin embargo, analizar la matriz de series también puede introducir errores; analizar el archivo SOFT es menos propenso a errores.

El GSE es el objeto más complicado que recupera getGEO, porque una serie se compone de objetos de muestra (GSM) y de plataforma (GPL). Se accede a cada uno mediante una lista: GSMList y GPLList. Se puede descargar la serie completa en un objeto R por el número de acceso, pero también se puede descargar el archivo fuera de R y leerlo como un archivo local.

```r=18

#Si tenemos una buena conexión a internet, podemos descargarlo directamente desde GEO
gse2 <- getGEO('GSE33146',GSEMatrix=FALSE)
```

:::warning
Para un conjunto de datos GEO (GDS) El paquete ´GEOquery´ proporciona una función ´GDS2eSet´ para convertir un GDS directamente en un objeto ExpressionSet. Esta función utiliza los datos procesados disponibles en GEO, no los datos sin procesar.
:::

Dos formas de obtener microarray data desde GEO usando `getGEO()`

![](https://i.imgur.com/pZZQ8aK.png)



---
 <font color = 'gray'>Basado en The GTK-teaching/lesson-theme theme, derived from The Carpentries style</font>
