Red de conocimientos sobre prescripción popular - Colección de remedios caseros - Análisis conjunto de ARN unicelular y ATAC unicelular con el poder de NMF

Análisis conjunto de ARN unicelular y ATAC unicelular con el poder de NMF

El proceso para analizar conjuntamente scRNA-seq y scATAC-seq es similar al de la integración de múltiples conjuntos de datos de scRNA-seq, basándose en la factorización de matriz conjunta y la normalización de cuantiles. Las principales diferencias son: (1) los datos de scATAC-seq deben procesarse en valores a nivel de gen; (2) solo se realiza la selección de genes en los datos de scRNA-seq (3) el análisis posterior puede utilizar el nivel de gen y entre genes; información.

Para analizar conjuntamente los datos de scRNA y scATAC-seq, los datos de scATAC-seq (una medida epigenómica de todo el genoma) primero deben convertirse en recuentos a nivel de genes comparables a los datos de expresión génica de scRNA-seq. La mayoría de los estudios unicelulares anteriores han utilizado un enfoque inspirado en el análisis tradicional de ATAC-seq en masa: identificar los picos accesibles a la cromatina y luego sumar todos los picos que se superponen con cada gen. Esta estrategia también es atractiva porque el canal 10X CellRanger es un paquete de software comercial de uso común que puede generar automáticamente dichos recuentos máximos. Sin embargo, el análisis encontró que esta estrategia no es ideal porque: (1) todas las células se utilizan para realizar llamadas de pico, lo que sesga las poblaciones de células raras (2) la accesibilidad de los genes es a menudo más difusa que los elementos reguladores específicos y, por lo tanto, puede tener un pico; el algoritmo de llamada falla; (3) La lectura de información fuera del valor máximo se descarta, lo que reduce aún más la cantidad de datos en las ya escasas mediciones. En lugar de sumar los recuentos máximos, descubrimos que la estrategia más simple parecía funcionar bien: contar el número total de lecturas de ATAC-seq dentro del cuerpo del gen y la región promotora (generalmente 3 kb aguas arriba) de cada gen en cada célula.

Primero se deben ordenar los fragmentos.tsv por cromosoma, posición inicial y final utilizando la utilidad de línea de comando sort. La opción -k permite al usuario ordenar archivos en una columna; incluir múltiples opciones -k permite ordenar por varias columnas al mismo tiempo. La n después de -k significa "clasificación numérica". El orden de los archivos .bed ordenados aquí se define primero por el orden de los cromosomas del diccionario (usando los parámetros -k1,1), luego por el orden de coordenadas iniciales entero ascendente (usando el parámetro -k2,2n) y finalmente por el orden de coordenadas finales entero ascendente (usando el parámetro - k3, 3n).

Los indicadores importantes del comando bedmap son los siguientes:

Luego podemos usar la función makeFeatureMatrix de LIGER para calcular los recuentos de accesibilidad para el cuerpo del gen y el promotor individualmente. Esta función toma el resultado de bedmap de manera eficiente. cuenta el número de fragmentos que se superponen a cada gen y promotor. Podríamos contar los genes y los promotores en un solo paso, pero optar por calcularlos por separado en caso de que sea necesario analizar la accesibilidad del gen o del promotor individualmente en los análisis posteriores.

A continuación, estas dos matrices de recuento deben reordenarse por símbolo de gen. Luego sumamos las matrices, lo que produce una matriz única de recuentos de accesibilidad de genes en cada célula.

5. Una vez que el gen. -se generan recuentos de scATAC-seq, la función read10X de LIGER se puede utilizar para leer las matrices de recuento de scRNA-seq generadas por CellRanger. Puede pasar un directorio (o una lista de directorios) que contenga resultados sin procesar (por ejemplo, "/. Sample_1/outs/filtered_feature_bc_matrix”) al parámetro sample.dirs. A continuación, se debe pasar un vector de nombres para usar para la muestra (o muestras, correspondientes a sample.dirs) al parámetro sample.names que también puede usar. datos de cualquier otro protocolo, siempre que se proporcionen en un formato de matriz R de genes x células

6. Ahora podemos crear un objeto LIGER con la función createLiger. También eliminamos variables innecesarias.

conservar la memoria.

7. Se necesitan pasos de preprocesamiento antes de ejecutar iNMF. Cada conjunto de datos se normaliza para tener en cuenta las diferencias en los recuentos totales a nivel de genes entre las células utilizando la función de normalización. identificados y combinados para su uso en análisis posteriores. Tenga en cuenta que al establecer los parámetros del conjunto de datos en 2, los genes se seleccionarán solo del conjunto de datos scRNA-seq (el segundo conjunto de datos) mediante la función selectGenes. Recomendamos no utilizar ATAC-seq. datos para la selección de genes variables porque las propiedades estadísticas de los datos de ATAC-seq son muy diferentes de las de scRNA-seq, lo que viola las suposiciones hechas por el modelo estadístico que desarrollamos para seleccionar genes a partir de datos de ARN. Finalmente, la función scaleNotCenter escala conjuntos de datos normalizados sin centrar. por la media, proporcionando los datos de entrada no negativos requeridos por iNMF

8. A continuación, realizamos una factorización matricial conjunta (iNMF) en los datos de ARN y ATAC normalizados y escalados. Este paso calcula metagenes: conjuntos de co-. genes expresados ​​​​que distinguen poblaciones de células, que contienen señales compartidas y específicas del conjunto de datos. Luego, las células se representan en términos del "nivel de expresión" de cada metagén, proporcionando una representación de baja dimensión que se puede utilizar para agrupación y visualización conjunta. ejecuta iNMF en los conjuntos de datos escalados, usamos la función optimizarALS con pr

oper configuración de hiperparámetros

Para ejecutar iNMF en los conjuntos de datos escalados, utilice la función optimizarALS con la configuración de hiperparámetros adecuada:

Los parámetros importantes son los siguientes:

9. Uso Después de los factores metagénicos calculados por iNMF, asignamos cada celda al factor en el que tiene la carga más alta, generando grupos conjuntos que se corresponden entre conjuntos de datos. Luego realizamos una normalización de cuantiles por conjunto de datos, factor y grupo para integrar completamente los conjuntos de datos. realice este análisis, escribiendo:

Los parámetros importantes de quantile_norm son los siguientes:

10. La función quantile_norm proporciona grupos conjuntos que se corresponden entre conjuntos de datos, que a menudo son completamente satisfactorios y suficientes para Sin embargo, si lo desea, después de la normalización de cuantiles, los usuarios pueden ejecutar adicionalmente el algoritmo Louvain para la detección de comunidades, que se usa ampliamente en el análisis de una sola celda y se destaca en la fusión de pequeños grupos en clases de celdas amplias. Esto se puede lograr ejecutando el. Función louvainCluster. Varios parámetros de ajuste, incluida la resolución, k y la poda, controlan el número de grupos producidos por esta función. Para este conjunto de datos, utilizamos una resolución de 0,2, que produce 16 grupos (ver más abajo). > 11. Para visualizar los resultados de la agrupación, el usuario puede utilizar dos métodos de reducción de dimensionalidad admitidos por LIGER: t-SNE y U

MAP Descubrimos que, a menudo, para conjuntos de datos que contienen variación continua, como la diferenciación celular, UMAP preserva mejor las relaciones globales, mientras que t-SNE funciona bien para mostrar tipos de células discretas, como las del cerebro. El algoritmo UMAP (llamado por la función runUMAP). ) se escala fácilmente a grandes conjuntos de datos. La función runTSNE también incluye una opción para usar FFtSNE, una implementación altamente escalable de t-SNE que puede procesar de manera eficiente grandes conjuntos de datos. Para el conjunto de datos BMMC, esperamos ver transiciones de linaje continuas entre las células diferenciadoras. entonces usamos UMAP para visualizar los datos en dos dimensiones:

12. Luego podemos visualizar cada celda, coloreada por grupo o conjunto de datos

13. LIGER emplea la suma de rangos de Wilcoxon. prueba para identificar genes marcadores que se expresan diferencialmente en cada tipo de célula utilizando las siguientes configuraciones. Proporcionamos parámetros que permiten al usuario seleccionar qué conjuntos de datos usar (data.use) y si comparar entre grupos o entre conjuntos de datos dentro de cada grupo (comparar). .method). Para identificar genes marcadores para cada grupo que combine perfiles scATAC y scRNA, escriba:

Los parámetros importantes de runWilcoxon son los siguientes:

14. El número de genes marcadores identificados. por runWilcoxon varía y depende de los conjuntos de datos utilizados. La función o.

genera un marco de datos que el usuario puede filtrar para seleccionar marcadores que sean estadística y biológicamente significativos. Por ejemplo, una estrategia es filtrar la salida tomando marcadores que tengan padj (valor p ajustado de Benjamin-Hochberg) inferior a 0,05 y logFC. (cambio de pliegue de registro entre observaciones dentro del grupo y fuera) mayor que 3:

Luego puede volver a ordenar los marcadores por su valor padj en orden ascendente y elegir los 100 primeros para cada tipo de celda. podemos crear subconjuntos y reordenar la salida del Grupo 1 y tomar los 20 marcadores principales escribiendo estos comandos:

15. También proporcionamos funciones para verificar estos marcadores visualizando su expresión y cargas genéticas en todos los conjuntos de datos. Puede utilizar plotGene para visualizar la expresión o accesibilidad de un gen marcador, lo cual es útil para confirmar visualmente genes marcadores putativos o investigar la distribución de marcadores conocidos en las células secuenciadas. Dichos gráficos también pueden confirmar que los conjuntos de datos divergentes están alineados correctamente. /p>

Por ejemplo, podemos trazar S100A9, que la prueba de Wilcoxon identificó como un marcador para el Grupo 1, y MS4A1, un marcador para el Grupo 4:

Estos gráficos indican que S100A9 y MS4A1 son de hecho, marcadores específicos para el Grupo 1 y el Grupo 4, respectivamente, con valores altos en estos grupos de células y valores bajos en otros lugares.

Puede ver que las distribuciones son sorprendentemente similares entre los conjuntos de datos RNA y ATAC, lo que indica que LIGER ha alineado adecuadamente los dos tipos de datos

16. Una ventaja clave de utilizar iNMF en lugar de otros enfoques de reducción de dimensionalidad como PCA. es que las dimensiones son interpretables individualmente. Por ejemplo, un tipo de celda particular a menudo es capturado por una sola dimensión del espacio. Además, iNMF identifica características compartidas y específicas del conjunto de datos a lo largo de cada dimensión, lo que brinda información sobre exactamente cómo se corresponden las celdas en los conjuntos de datos. son similares y diferentes. La función plotGeneLoadings permite la exploración visual de dicha información. Se recomienda llamar a esta función en un archivo PDF debido a la gran cantidad de gráficos producidos.

Alternativamente, la función puede devolver un. lista de gráficos, por ejemplo, podemos visualizar la carga factorial de la tipificación del Factor 7:

Estos gráficos confirman que la expresión y accesibilidad de estos genes muestran diferencias claras. CCR6 muestra una accesibilidad a la cromatina casi ubicua, pero se expresa. solo en los grupos 2 y 4. La accesibilidad es más alta en estos grupos, pero la accesibilidad ubicua sugiere que la expresión de CCR6 está algo desacoplada de su accesibilidad, probablemente regulada por otros factores.

Sely, NCF1 muestra una alta expresión en los grupos 1, 3, 4, 9 y 11, a pesar de que no hay un enriquecimiento claro en la accesibilidad de la cromatina dentro de estos grupos. Esto puede indicar nuevamente un desacoplamiento entre la expresión y la accesibilidad de la cromatina de NCF1. debido a efectos técnicos: el cuerpo del gen NCF1 es corto (~ 15 KB) y los genes cortos son más difíciles de capturar en scATAC-seq que en scRNA-seq porque hay pocos sitios para insertar el transposón ATAC-seq. p>

17. Las mediciones unicelulares de la accesibilidad a la cromatina y la expresión genética brindan una oportunidad sin precedentes para investigar la regulación epigenética de la expresión genética. Idealmente, dicha investigación aprovecharía los pares ATAC-seq y RNA-seq de las mismas células, pero tal. Las mediciones simultáneas generalmente no están disponibles. Sin embargo, utilizando LIGER, es posible inferir computacionalmente perfiles "pseudo-multiómicos" vinculando los perfiles scRNA-seq (utilizando los factores iNMF inferidos conjuntamente) con los perfiles scATAC-seq más similares. En este paso de imputación, podemos realizar análisis posteriores como si tuviéramos verdaderos perfiles multiómicos unicelulares. Por ejemplo, podemos identificar potenciadores putativos correlacionando la expresión de un gen con la accesibilidad de picos intergénicos vecinos en todo el conjunto de genes individuales.

Nuevamente, por conveniencia, hemos preparado el pico preprocesado.

-Datos de recuento de nivel que están listos para usar. Los datos se pueden descargar aquí.

También puedes seguir el siguiente tutorial para comenzar desde el principio.

Para lograr esto, primero. Necesita una matriz de recuentos de accesibilidad dentro de los picos intergénicos. La canalización de CellRanger para scATAC-seq genera dicha matriz de forma predeterminada, por lo que usaremos esto como nuestro punto de partida. La matriz de recuento, las coordenadas genómicas de los picos y los códigos de barras de las células de origen generados por CellRanger son. almacenados en una carpeta llamada filtered_peak_matrix en el directorio de salida. El usuario puede cargarlos y convertirlos en una matriz de recuento de nivel máximo escribiendo estos comandos:

18. La matriz de recuento de nivel máximo suele ser. grande, que contiene cientos de miles de picos, a continuación filtramos este conjunto de picos para identificar aquellos que muestran accesibilidad específica del tipo de célula. Para hacer esto, realizamos la prueba de suma de rangos de Wilcoxon y seleccionamos aquellos picos que son accesibles de manera diferencial dentro de un área específica. cluster, sin embargo, antes de ejecutar la prueba, necesitamos: (1) subconjunto de la matriz de recuento de nivel máximo para incluir las mismas células que la matriz de recuento de nivel de gen (2) reemplazar la matriz de recuento de nivel de gen original en el LIGER; objeto por matriz de recuentos de nivel máximo; y (3) normalizar los recuentos máximos para que sumen 1 dentro de cada celda.

Ahora podemos realizar la prueba de Wilcoxon:

19. Ahora podemos. Utilice los resultados de la prueba de Wilcoxon para retener sólo los picos.

mostrando accesibilidad diferencial en nuestro conjunto de grupos conjuntos. Aquí mantuvimos los picos con el valor p ajustado de Benjamini-Hochberg lt; Ahora imputamos un conjunto de perfiles "pseudomultiómicos" infiriendo la accesibilidad máxima intergénica para los perfiles scRNA-seq en función de sus vecinos más cercanos en el espacio LIGER conjunto. LIGER proporciona una función denominada imputeKNN que realiza esta tarea, produciendo un conjunto. de perfiles que contienen mediciones de expresión genética y accesibilidad de cromatina para las mismas células individuales:

Los parámetros importantes de imputeKNN son los siguientes:

21. Ahora que tenemos ambos picos (imputados) -matriz de recuentos de niveles y la matriz de recuentos de expresión génica (observada) para las mismas células, podemos evaluar las relaciones entre pares de genes y picos, vinculando genes a supuestos elementos reguladores. Utilizamos una estrategia simple para identificar dichos vínculos entre genes y picos: Calcule la correlación entre la expresión genética y la accesibilidad máxima de todos los picos dentro de 500 KB de un gen, luego conserve todos los picos que muestren una correlación estadísticamente significativa con el gen. La función linkGenesAndPeaks realiza este análisis:

Los parámetros importantes de linkGenesAndPeaks son los siguientes. sigue:

22. La salida de esta función es una matriz dispersa con nombres de picos como filas y símbolos de genes a

s columnas, donde cada elemento indica la correlación entre el pico i y el gen j (o 0 si el gen y el pico no están vinculados significativamente. Por ejemplo, podemos subconjuntos de los resultados para el gen marcador S100A9, que es un gen marcador del grupo 1). identificados en la sección anterior, y clasificamos estos picos según su correlación:

También proporcionamos una función para transformar la matriz de correlación de picos y genes en un Interact Track compatible con UCSC Genome Browser para visualizar el vínculo calculado entre genes. y picos correlacionados, vinculando:

Los parámetros importantes de makeInteractTrack son los siguientes:

La salida de esta función será un archivo UCSC Interact Track llamado 'Interact_Track.bed. ' que contiene información de enlace de los genes especificados y picos correlacionados almacenados en un directorio determinado. Luego, el usuario puede cargar este archivo como una pista personalizada usando esta página https://genome.ucsc.edu/cgi-bin/hgCustom y mostrarlo en el. Navegador del genoma UCSC

Como ejemplo, los tres picos más correlacionados con la expresión de S100A9 se muestran a continuación en el navegador del genoma UCSC. Uno de los picos se superpone con el TSS de S100A8, un gen vecino que es co-. expresado con S100A9, mientras que otro pico se superpone con el TSS del propio S100A9. El último pico, chr1: 153358896-153359396, no se superpone con el cuerpo de un gen y muestra una fuerte acetilación de H3K27 en las líneas celulares ENCODE, indi.

indicando que esto es probablemente un elemento regulador intergénico.

Si trazamos la accesibilidad de este pico y la expresión de S100A9, podemos ver que los dos están muy correlacionados y muestran un fuerte enriquecimiento en los grupos 1 y 3. Por lo tanto, el pico intergénico probablemente sirve como un regulador específico del tipo de célula de S100A9.

La vida es buena y es mejor contigo.