JoVE Logo

Iniciar sesión

Se requiere una suscripción a JoVE para ver este contenido. Inicie sesión o comience su prueba gratuita.

En este artículo

  • Resumen
  • Resumen
  • Introducción
  • Protocolo
  • Resultados
  • Discusión
  • Divulgaciones
  • Agradecimientos
  • Materiales
  • Referencias
  • Reimpresiones y Permisos

Resumen

Esta plataforma computacional analítica proporciona orientación práctica para microbiólogos, ecólogos y epidemiólogos interesados en la genómica de poblaciones bacterianas. Específicamente, el trabajo presentado aquí demostró cómo realizar: i) mapeo guiado por filogenia de genotipos jerárquicos; ii) análisis de genotipos basado en la frecuencia; iii) análisis de parentesco y clonalidad; iv) identificación del linaje diferenciador de loci accesorios.

Resumen

El uso rutinario y sistemático de la secuenciación bacteriana del genoma completo (WGS) está mejorando la precisión y la resolución de las investigaciones epidemiológicas llevadas a cabo por los laboratorios de salud pública y las agencias reguladoras. Se pueden utilizar grandes volúmenes de datos de WGS disponibles públicamente para estudiar poblaciones patógenas a gran escala. Recientemente, se publicó una plataforma computacional disponible gratuitamente llamada ProkEvo para permitir análisis genómicos de población basados en jerarquías reproducibles, automatizados y escalables utilizando datos bacterianos de WGS. Esta implementación de ProkEvo demostró la importancia de combinar el mapeo genotípico estándar de poblaciones con la extracción de contenido genómico accesorio para la inferencia ecológica. En particular, el trabajo destacado aquí utilizó resultados derivados de ProkEvo para análisis jerárquicos a escala poblacional utilizando el lenguaje de programación R. El objetivo principal fue proporcionar una guía práctica para microbiólogos, ecólogos y epidemiólogos mostrando cómo: i) utilizar un mapeo guiado por filogenia de genotipos jerárquicos; ii) evaluar las distribuciones de frecuencia de los genotipos como indicador de la aptitud ecológica; iii) determinar las relaciones de parentesco y la diversidad genética utilizando clasificaciones genotípicas específicas; y iv) mapear el linaje diferenciando los loci accesorios. Para mejorar la reproducibilidad y la portabilidad, se utilizaron archivos de rebaja R para demostrar todo el enfoque analítico. El conjunto de datos de ejemplo contenía datos genómicos de 2.365 aislamientos del patógeno zoonótico transmitido por los alimentos Salmonella Newport. El mapeo de genotipos jerárquicos anclados en filogenia (Serovar -> BAPS1 -> ST -> cgMLST) reveló la estructura genética de la población, destacando los tipos de secuencia (ST) como el genotipo diferenciador clave. En los tres linajes más dominantes, ST5 y ST118 compartieron un ancestro común más recientemente que con el filotipo ST45 altamente clonal. Las diferencias basadas en ST se destacaron aún más por la distribución de loci accesorios de resistencia a los antimicrobianos (RAM). Por último, se utilizó una visualización anclada en filogenia para combinar genotipos jerárquicos y contenido de RAM para revelar la estructura de parentesco y las firmas genómicas específicas del linaje. Combinado, este enfoque analítico proporciona algunas pautas para realizar análisis genómicos heurísticos de poblaciones bacterianas utilizando información pangenómica.

Introducción

El creciente uso de la secuenciación bacteriana del genoma completo (WGS) como base para la vigilancia de rutina y la investigación epidemiológica por parte de los laboratorios de salud pública y las agencias reguladoras ha mejorado sustancialmente las investigaciones de brotes de patógenos 1,2,3,4. Como consecuencia, grandes volúmenes de datos WGS no identificados están ahora a disposición del público y pueden utilizarse para estudiar aspectos de la biología de la población de especies patógenas a una escala sin precedentes, incluidos estudios basados en: estructuras de población, frecuencias de genotipos y frecuencias de genes / alelos en múltiples reservorios, regiones geográficas y tipos de entornos5 . Las investigaciones epidemiológicas guiadas por WGS más utilizadas se basan en análisis que utilizan solo el contenido core-genómico compartido, donde el contenido compartido (conservado) solo se utiliza para la clasificación genotípica (por ejemplo, llamadas variantes), y estas variantes se convierten en la base para el análisis epidemiológico y el rastreo 1,2,6,7 . Por lo general, el genotipado basado en el genoma central bacteriano se lleva a cabo con enfoques de tipificación de secuencia de múltiples locus (MLST) utilizando de siete a unos pocos miles de loci 8,9,10. Estas estrategias basadas en MLST abarcan el mapeo de secuencias genómicas preensambladas o ensambladas en bases de datos altamente curadas, combinando así información alélica en unidades genotípicas reproducibles para el análisis epidemiológico y ecológico11,12. Por ejemplo, esta clasificación basada en MLST puede generar información genotípica a dos niveles de resolución: tipos de secuencia de nivel inferior (ST) o linajes ST (7 loci), y variantes MLST del genoma central de nivel superior (cgMLST) (~ 300-3,000 loci)10.

La clasificación genotípica basada en MLST es computacionalmente portátil y altamente reproducible entre laboratorios, por lo que es ampliamente aceptada como un enfoque preciso de subtipificación por debajo del nivel de especie bacteriana13,14. Sin embargo, las poblaciones bacterianas están estructuradas con diversos grados de clonalidad específicos de la especie (es decir, homogeneidad genotípica), patrones complejos de parentesco jerárquico entre genotipos 15,16,17 y una amplia gama de variación en la distribución del contenido genómico accesorio 18,19 . Así, un enfoque más holístico va más allá de las clasificaciones discretas en genotipos MLST e incorpora las relaciones jerárquicas de genotipos a diferentes escalas de resolución, junto con el mapeo del contenido genómico accesorio en clasificaciones genotípicas, lo que facilita la inferencia poblacional 18,20,21 . Además, los análisis también pueden centrarse en patrones compartidos de herencia de loci genómicos accesorios incluso entre genotipos relacionados a distancia21,22. En general, el enfoque combinado permite el interrogatorio agnóstico de las relaciones entre la estructura de la población y la distribución de composiciones genómicas específicas (por ejemplo, loci) entre gradientes geoespaciales o ambientales. Tal enfoque puede proporcionar información fundamental y práctica sobre las características ecológicas de poblaciones específicas que pueden, a su vez, explicar su tropismo y patrones de dispersión a través de reservorios, como animales de alimentación o humanos.

Este enfoque jerárquico orientado a la población basado en sistemas exige grandes volúmenes de datos WGS para obtener suficiente poder estadístico para predecir firmas genómicas distinguibles. En consecuencia, el enfoque requiere una plataforma computacional capaz de procesar muchos miles de genomas bacterianos a la vez. Recientemente, ProkEvo fue desarrollado y es una plataforma bioinformática gratuita, automatizada, portátil y escalable que permite análisis integradores de poblaciones bacterianas basadas en jerarquías, incluido el mapeo pangenómico20. ProkEvo permite el estudio de conjuntos de datos bacterianos a gran escala al tiempo que proporciona un marco para generar hipótesis epidemiológicas y ecológicas comprobables e inferibles y predicciones fenotípicas que pueden ser personalizadas por el usuario. Este trabajo complementa esa canalización al proporcionar una guía sobre cómo utilizar los archivos de salida derivados de ProkEvo como entrada para análisis e interpretación de clasificaciones jerárquicas de poblaciones y minería genómica accesoria. El estudio de caso presentado aquí utilizó la población de Salmonella enterica linaje I zoonótico serovar S. Newport como ejemplo y estaba específicamente dirigido a proporcionar pautas prácticas para microbiólogos, ecólogos y epidemiólogos sobre cómo: i) utilizar un enfoque automatizado dependiente de la filogenia para mapear genotipos jerárquicos; ii) evaluar la distribución de frecuencias de los genotipos como indicador para evaluar la aptitud ecológica; iii) determinar los grados de clonalidad específicos del linaje utilizando enfoques estadísticos independientes; y iv) mapear los loci DE RAM diferenciadores de linaje como ejemplo de cómo extraer contenido genómico accesorio en el contexto de la estructura de la población. En términos más generales, este enfoque analítico proporciona un marco generalizable para realizar un análisis genómico basado en la población a una escala que se puede utilizar para inferir patrones evolutivos y ecológicos independientemente de la especie objetivo.

Access restricted. Please log in or start a trial to view this content.

Protocolo

1. Preparar archivos de entrada

NOTA: El protocolo está disponible aquí - https://github.com/jcgneto/jove_bacterial_population_genomics/tree/main/code. El protocolo asume que el investigador ha utilizado específicamente ProkEvo (o una canalización comparable) para obtener los resultados necesarios disponibles en este repositorio de Figshare (https://figshare.com/account/projects/116625/articles/15097503 - se requieren credenciales de inicio de sesión - ¡El usuario debe crear una cuenta gratuita para tener acceso a los archivos!). Cabe destacar que ProkEvo descarga automáticamente secuencias genómicas del repositorio NCBI-SRA y solo requiere un archivo .txt que contenga una lista de identificaciones del genoma como entrada20, y la utilizada para este trabajo en S. Los aislamientos de Newport USA se proporcionan aquí (https://figshare.com/account/projects/116625/articles/15097503?file=29025729).  La información detallada sobre cómo instalar y utilizar esta plataforma de genómica bacteriana está disponible aquí (https://github.com/npavlovikj/ProkEvo/wiki/2.-Quick-start)20

  1. Generar filogenia del genoma central utilizando FastTree23 como se describió anteriormente20, que no forma parte de la plataforma bioinformática20. FastTree requiere la alineación núcleo-genoma de Roary24 como archivo de entrada. El archivo de filogenia se denomina newport_phylogeny.tree (https://figshare.com/account/projects/116625/articles/15097503?file=29025690).
  2. Generar salida SISTR25 que contenga la información sobre las clasificaciones de serovares para Salmonella y los datos de llamada de variantes cgMLST (sistr_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025699).
  3. Generar archivo BAPS por fastbaps 26,27 que contiene la clasificación BAPS niveles 1-6 de genomas en subgrupos o haplotipos (fastbaps_partition_baps_prior_l6.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025684).
  4. Generar la clasificación basada en MLST de genomas en ST utilizando el programa MLST (https://github.com/tseemann/mlst)28 (salmonellast_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025696).
  5. Genere la salida ABRicate (https://github.com/tseemann/abricate)29 como un archivo .csv que contiene loci AMR mapeados por genoma (sabricate_resfinder_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025693).
    NOTA: El usuario puede desactivar partes específicas de la tubería de bioinformática de ProkEvo (consulte aquí para obtener más información - https://github.com/npavlovikj/ProkEvo/wiki/4.2.-Remove-existing-bioinformatics-tool-from-ProkEvo). El enfoque analítico que se presenta aquí proporciona pautas sobre cómo realizar un análisis basado en la población después de que se haya ejecutado la tubería de bioinformática.

2. Descargue e instale el software estadístico y la aplicación del entorno de desarrollo integrado (IDE)

  1. Descargue la versión gratuita más actualizada del software R para Linux, Mac o PC30. Siga los pasos de instalación predeterminados.
  2. Descargue la versión más actualizada disponible gratuitamente del IDE de escritorio RStudio aquí31. Siga los pasos predeterminados para la instalación.
    NOTA: Los siguientes pasos se incluyen en el script disponible, incluida la información detallada de la utilización del código, y deben ejecutarse secuencialmente para generar los resultados y las figuras presentadas en este trabajo (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd). El usuario puede decidir utilizar otro lenguaje de programación para realizar este análisis analítico / estadístico como Python. En ese caso, utilice los pasos de los scripts como marco para llevar a cabo el análisis.

3. Instalar y activar bibliotecas de ciencia de datos

  1. Instale todas las bibliotecas de ciencia de datos a la vez como primer paso en el análisis. Evite instalar las bibliotecas cada vez que sea necesario volver a ejecutar el script. Utilice la función install.packages() para la instalación de la biblioteca. Alternativamente, el usuario puede hacer clic en la pestaña Paquetes dentro del IDE e instalar automáticamente los paquetes. El código utilizado para instalar todas las bibliotecas necesarias se presenta aquí:
    # Instalar Tidyverse
    install.packages("tidyverse")
    # Instalar skimr

    install.packages("skimr")
    # Instalar vegano
    install.packages("vegano")
    # Instalar forcats
    install.packages("forcats")
    # Instalar naniar
    install.packages("naniar")
    # Instalar ggpubr
    install.packages("ggpubr")
    # Instalar ggrepel
    install.packages("ggrepel")
    # Instalar reshape2
    install.packages("reshape2")
    # Instalar RColorBrewer
    install.packages("RColorBrewer")
    # Instalar ggtree
    if (!requireNamespace("BiocManager", silenciosamente = TRUE))
    install.packages("BiocManager")
    BiocManager::install("ggtree")
    # La instalación de ggtree generará una pregunta sobre la instalación: la respuesta es "a" para instalar / actualizar todas las dependencias
  2. Active todas las bibliotecas o paquetes utilizando la función library() al principio del script, justo después de la instalación. Aquí hay una demostración sobre cómo activar todos los paquetes necesarios:
    # Activar las bibliotecas y paquetes
    biblioteca(tidyverse)
    biblioteca(skimr)
    biblioteca (vegano)
    biblioteca(forcats)
    biblioteca(naniar)
    biblioteca(ggtree)
    biblioteca(ggpubr)
    biblioteca(ggrepel)
    biblioteca(remodelar2)
    biblioteca(RColorBrewer)
  3. Suprima la salida del código utilizado para la instalación y activación de bibliotecas y paquetes mediante {r, include = FALSE} en el código chuck, como se indica a continuación:
    ''' {r, include = FALSE}
    # Instalar Tidyverse

    install.packages("tidyverse")
    ```

    NOTA: Este paso es opcional, pero evita mostrar fragmentos de código innecesario en el informe final html, doc o pdf.
  4. Para obtener una breve descripción de las funciones específicas de todas las bibliotecas, junto con algunos enlaces útiles para recopilar más información, consulte los pasos 3.4.1-3.4.11.
    1. Tidyverse: utilice esta colección de paquetes utilizados para la ciencia de datos, incluida la entrada de datos, la visualización, el análisis y la agregación, y el modelado estadístico. Normalmente, ggplot2 (visualización de datos) y dplyr (data wrangling and modeling) son paquetes prácticos presentes en esta biblioteca32.
    2. skimr: utilice este paquete para generar estadísticas resumidas de tramas de datos, incluida la identificación de los valores faltantes33.
    3. vegano: utilice este paquete para análisis estadísticos de ecología comunitaria, como el cálculo de estadísticas basadas en la diversidad (por ejemplo, alfa y beta-diversidad)34.
    4. forcats: utilice este paquete para trabajar con variables categóricas, como reordenar clasificaciones. Este paquete forma parte de la biblioteca Tidyverse32.
    5. naniar: utilice este paquete para visualizar la distribución de los valores que faltan entre las variables de un marco de datos, mediante la función viss_miss()35.
    6. ggtree - utilice este paquete para la visualización de árboles filogenéticos36.
    7. ggpubr - utilice este paquete para mejorar la calidad de las visualizaciones basadas en ggplot237.
    8. ggrepel - utilice este paquete para el etiquetado de texto dentro de los gráficos38.
    9. reshape2: utilice la función melt() de este paquete para la transformación de tramas de datos de formato ancho a largo39.
    10. RColorBrewer: utilice este paquete para administrar colores en visualizaciones basadas en ggplot240.
    11. Utilice las siguientes funciones básicas para el análisis exploratorio de datos: head() para comprobar las primeras observaciones en un marco de datos, tail() para comprobar las últimas observaciones de un marco de datos, is.na() para contar el número de filas con valores faltantes en un marco de datos, dim() para comprobar el número de filas y columnas en un conjunto de datos, table() para contar las observaciones en una variable, y sum() para contar el número total de observaciones o instancias.

4. Entrada y análisis de datos

NOTA: Se puede encontrar información detallada sobre cada paso de este análisis en el script disponible (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd). Sin embargo, aquí hay algunos puntos importantes a considerar:

  1. Realice todas las entradas de datos genómicos, incluidas todas las clasificaciones genotípicas (serovar, BAPS, ST y cgMLST) utilizando la función read_csv().
  2. Cambie el nombre, cree nuevas variables y seleccione columnas de interés de cada conjunto de datos antes de la agregación de varios conjuntos de datos.
  3. No elimine los valores que faltan de ningún conjunto de datos independiente. Espere hasta que se agreguen todos los conjuntos de datos para modificar o excluir los valores que faltan. Si se crean nuevas variables para cada conjunto de datos, los valores que faltan se clasifican de forma predeterminada en una de las clasificaciones recién generadas.
  4. Compruebe si hay caracteres erróneos, como guiones o marcas de interrogación, y sustitúyalos por NA (no aplicable). Haga lo mismo con los valores que faltan.
  5. Datos agregados basados en el orden jerárquico de los genotipos (serovar -> BAPS1 -> ST -> cgMLST), y mediante la agrupación en función de las identificaciones del genoma individual.
  6. Compruebe si faltan valores utilizando múltiples estrategias y trate con tales inconsistencias explícitamente. Solo elimine un genoma o aíslelo de los datos si la clasificación no es confiable. De lo contrario, considere el análisis que se está realizando y elimine las NA caso por caso.
    NOTA: Es muy recomendable establecer una estrategia para hacer frente a dichos valores a priori. Evite eliminar todos los genomas o aislados con valores faltantes en cualquier variable. Por ejemplo, un genoma puede tener clasificación ST sin tener un número de variante cgMLST. En ese caso, el genoma todavía se puede utilizar para el análisis basado en ST.
  7. Una vez que se agregan todos los conjuntos de datos, asígnelos a un nombre de marco de datos u objeto que se pueda usar en múltiples ubicaciones en el análisis de seguimiento, para evitar tener que generar el mismo archivo de metadatos para cada figura en el documento.

5. Realizar análisis y generar visualizaciones

NOTA: Una descripción detallada de cada paso necesario para producir todos los análisis y visualizaciones se puede encontrar en el archivo de rebajas para este documento (https://github.com/jcgneto/jove_bacterial_population_genomics/tree/main/code). El código para cada figura se separa en fragmentos y todo el script debe ejecutarse secuencialmente. Además, el código para cada figura principal y suplementaria se proporciona como un archivo separado (consulte el Archivo complementario 1 y el Archivo complementario 2). Aquí hay algunos puntos esenciales (con fragmentos de código) a considerar al generar cada figura principal y complementaria.

  1. Use ggtree para trazar un árbol filogenético junto con información genotípica (Figura 1).
    1. Optimice el tamaño de la figura ggtree, incluido el diámetro y el ancho de los anillos, cambiando los valores numéricos dentro de las funciones xlim() y gheatmap(width = ), respectivamente (consulte el código de ejemplo a continuación).
      tree_plot <- ggtree(árbol, diseño = "circular") + xlim(-250, NA)
      figure_1 <- gheatmap(tree_plot, d4, offset=.0, width=20, colnames = FALSE)
      NOTA: Para una comparación más detallada de los programas que se pueden utilizar para el trazado filogenético, consulte este trabajo20. El trabajo destacó un intento realizado de identificar estrategias para mejorar las visualizaciones basadas en ggtree, como la disminución del tamaño del conjunto de datos, pero las longitudes de las ramas y la topología del árbol no discriminaban tan claramente como en comparación con phandango41.
    2. Agregue todos los metadatos en la menor cantidad de categorías posible para facilitar la elección del panel de coloración al trazar varias capas de datos con el árbol filogenético (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_1.Rmd). Llevar a cabo la agregación de datos en función de la cuestión del interés y el conocimiento del dominio.
  2. Utilice un gráfico de barras para evaluar las frecuencias relativas (Figura 2).
    1. Agregue datos tanto para linajes ST como para variantes cgMLST para facilitar las visualizaciones. Elija un umbral empírico o estadístico utilizado para la agregación de datos, mientras considera la pregunta que se está haciendo.
    2. Para obtener un código de ejemplo que se puede utilizar para inspeccionar la distribución de frecuencia de los linajes ST para determinar el corte, consulte a continuación:
      st_dist <- d2 %>% group_by(ST) %>% # grupo por la columna ST
      count() %>% # cuenta el número de observaciones
      arrange(desc(n)) # organizar los recuentos en orden decreciente
    3. Para obtener un código de ejemplo que muestre cómo se pueden agregar los ST menores (de baja frecuencia), consulte a continuación. Como se demuestra a continuación, los ST que no están numerados como 5, 31, 45, 46, 118, 132 o 350, se agrupan como "Otros ST". Utilice un código similar para las variantes de cgMLST (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_2.Rmd).
      d2$st <- ifelse(d2$ST == 5, "ST5", # crear una nueva columna ST para la cual se agregan S T menores como Otros
      ifelse(d2$ST == 31, "ST31",
      ifelse(d2$ST == 45, "ST45",
      ifelse(d2$ST == 46, "ST46",
      ifelse(d2$ST == 118, "ST118",
      ifelse(d2$ST == 132, "ST132", ifelse(d2$ST == 350, "ST350", "Otros ST"))))))))
  3. Utilice un enfoque anidado para calcular la proporción de cada linaje ST dentro de cada subgrupo BAPS1 para identificar los ST que están relacionados ancestralmente (pertenecen al mismo subgrupo BAPS1) (Figura 3). El siguiente código ejemplifica cómo se puede calcular la proporción basada en ST en todos los subgrupos BAPS1 (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_3.Rmd):
    baps <- d2b %>% filter(serovar == "Newport") %>% # filter Newport serovars
    select(baps_1, ST) %>% # seleccione baps_1 y columnas ST
    mutate(ST = as.numeric(ST)) %>% # cambiar la columna ST a numérica
    drop_na(baps_1, ST) %>% # drop NA
    group_by(baps_1, ST) %>% # grupo por baps_1 y ST
    summarise(n = n()) %>% # recuento observaciones
    mutate(prop = n/sum(n)*100) # calcular proporciones
  4. Trazar la distribución de los loci AMR a través de los linajes ST utilizando los resultados de anotación de genes basados en Resfinder (Figura 4).
    NOTA: Resfinder ha sido ampliamente utilizado en estudios ecológicos y epidemiológicos42. La anotación de genes codificantes de proteínas puede variar dependiendo de la frecuencia con la que se curan y actualizan las bases de datos. Si utiliza la tubería de bioinformática sugerida, el investigador puede comparar las clasificaciones de loci basadas en AMR en diferentes bases de datos20. Asegúrese de verificar qué bases de datos se actualizan continuamente. No utilice bases de datos obsoletas o mal seleccionadas, para evitar llamadas erróneas.
    1. Utilice un umbral empírico o estadístico para filtrar los loci AMR más importantes para facilitar las visualizaciones. Proporcione un archivo de .csv sin procesar que contenga las proporciones calculadas de todos los loci AMR en todos los linajes ST, como se muestra aquí (https://figshare.com/account/projects/116625/articles/15097503?file=29025687).
    2. Calcule la proporción de AMR para cada ST utilizando el siguiente código (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_4.Rmd):
      # Cálculos para ST45
      d2c <- data6 %>% filter(st == "ST45") # filtrar primero los datos ST45
      # para ST45, calcule la proporción de loci AMR y solo mantenga la proporción superior al 10%

      d3c <- d2c %>% select(id, gen) %>% # seleccionar columnas
      group_by(id, gen) %>% # grupo por id y gen
      summarize(count = n()) %>% # count observaciones
      mutate(count = replace(count, count == 2, 1)) %>% # replace counts equal to 2 with 1 to consider only one copy of each gene (las duplicaciones pueden no ser fiables), pero el investigador puede decidir excluirlas o mantenerlas. Si el investigador quiere excluirlos, use la función filter(count != 2) o bien déjelos como están
      filter(count <= 1) # filter counts below or equal to 1
      d4c <- d3c %>% group_by(gen) %>% # grupo por gen
      summarize(value = n()) %>% # count observations
      mutate(total = table(data1$st)[6]) %>% # obtener los recuentos totales de st mutate(prop = (valor/total)*100) # calcular proporciones
      d5c <- d4c %>% mutate(st = "ST45") # crear una columna st y agregar información ST
    3. Una vez realizados los cálculos para todos los ST, combine los conjuntos de datos como un marco de datos, utilizando el siguiente código:
      # Combinar conjuntos de datos
      d6 <- rbind(d5a, d5b, d5c, d5d, d5e, d5f, d5g, d5h) # datasets de enlace de fila
    4. Para exportar el archivo .csv que contiene las proporciones calculadas, utilice el código:
      # Tabla de datos de exportación que contiene información de loci ST y AMR
      abx_newport_st <- d6 write.csv(abx_newport_st,"abx_newport_st.csv", row.names = FALSE)
    5. Antes de trazar la distribución basada en AMR entre linajes ST, filtre los datos en función de un umbral para facilitar las visualizaciones, como se muestra a continuación:
      # Filtro AMR loci con proporción mayor o igual al 10%
      d7 <- d6 %>% filter(prop >= 10) # determinar el umbral empírica o estadísticamente
  5. Trazar la filogenia del genoma central junto con las clasificaciones genotípicas jerárquicas y los datos de AMR en una sola gráfica usando ggtree (Figura 5).
    1. Optimice el tamaño de la figura dentro de ggtree utilizando los parámetros mencionados anteriormente (consulte el paso 5.1.1.).
    2. Optimice las visualizaciones agregando variables o utilizando una clasificación binaria como la presencia o ausencia de genes. Cuantas más características se agreguen a la trama, más difícil se vuelve el proceso de selección de coloración (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_5.Rmd).
      NOTA: Figuras suplementarias: la descripción detallada de todo el código se puede encontrar aquí (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd).
  6. Utilice un gráfico de dispersión en ggplot2, sin agregación de datos, para mostrar la distribución de linajes ST o variantes cgMLST mientras resalta los genotipos más frecuentes (Figura suplementaria 1) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s1.Rmd).
  7. Hacer un análisis anidado para evaluar la composición de los linajes ST a través de la proporción de variantes cgMLST con el fin de obtener una visión de la diversidad genética basada en ST, al tiempo que se identifican las variantes más frecuentes y sus relaciones genéticas (es decir, las variantes cgMLST que pertenecen al mismo ST compartieron un ancestro más recientemente que las que pertenecen a ST distintos) (Figura suplementaria 2 ) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s2.Rmd).
  8. Utilice la métrica de ecología comunitaria, es decir, el índice D de diversidad de Simpson, para medir el grado de clonalidad o diversidad genotípica de cada uno de los principales linajes ST43 (Figura suplementaria 3).
    1. Calcule el índice de diversidad entre linajes ST en diferentes niveles de resolución genotípica, incluidos los niveles BAPS 1 a 6 y cgMLST. A continuación se muestra el ejemplo de código sobre cómo hacer este cálculo en el nivel BAPS 1 (BAPS1) de resolución genotípica:
      # BAPS nivel 1 (BAPS1)
      # suelte los ST y BAPS1 con NA, agrupe por ST y BAPS1 y luego calcule el índice de Simpson
      baps1 <- data6 %>%
      select(st, BAPS1) %>% # seleccionar columnas
      drop_na(st, BAPS1) %>% # drop NA
      group_by(st, BAPS1) %>% # agrupar por columnas
      summarise(n = n()) %>% # recuento observaciones
      mutate(simpson = diversidad(n, "simpson")) %>% # calculan la diversidad
      group_by(st) %>% # grupo por columna
      summarise(simpson = media(simpson)) %>% # calcular la media del índice
      melt(id.vars=c("st"), measure.vars="simpson",
      variable.name="index", value.name="value") %>% # encubierto en formato largo
      mutate(strat = "BAPS1") # crear una columna strat
      NOTA: Una población genéticamente más diversa (es decir, más variantes en diferentes capas de resolución genotípica) tiene un índice más alto a nivel de cgMLST y produce valores crecientes basados en índices que van del nivel BAPS 2 al 6 (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s3.Rmd).
  9. Examinar el grado de diversidad genotípica de los linajes ST trazando la frecuencia relativa de los subgrupos BAPS en todos los niveles de resolución (BAPS1-6) (Figura suplementaria 4). Cuanto más diversa es la población, más escasa es la distribución de los subgrupos BAPS (haplotipos) pasando de BAPS1 (menor nivel de resolución) a BAPS6 (mayor nivel de resolución) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s4.Rmd).

Access restricted. Please log in or start a trial to view this content.

Resultados

Al utilizar la plataforma computacional ProkEvo para análisis de genómica de poblaciones, el primer paso en la minería de datos WGS bacteriana consiste en examinar la estructura jerárquica de la población en el contexto de una filogenia del genoma central (Figura 1). En el caso de S. linaje enterico I, como lo ejemplifica el S. Conjunto de datos de Newport, la población está estructurada jerárquicamente de la siguiente manera: serovar (nivel más bajo de r...

Access restricted. Please log in or start a trial to view this content.

Discusión

La utilización de un análisis heurístico y jerárquico de la estructura de la población basado en sistemas proporciona un marco para identificar nuevas firmas genómicas en conjuntos de datos bacterianos que tienen el potencial de explicar patrones ecológicos y epidemiológicos únicos20. Además, el mapeo de datos del genoma accesorio en la estructura de la población se puede utilizar para inferir rasgos adquiridos ancestralmente y / o derivados recientemente que facilitan la propagación d...

Access restricted. Please log in or start a trial to view this content.

Divulgaciones

Los autores han declarado que no existen intereses contrapuestos.

Agradecimientos

Este trabajo fue apoyado por fondos proporcionados por la División de Investigación Agrícola de UNL-IANR y el Instituto Nacional de Investigación y Educación sobre la Resistencia a los Antimicrobianos y por el Centro de Alimentos para la Salud de Nebraska en el Departamento de Ciencia y Tecnología de los Alimentos (UNL). Esta investigación solo podría completarse utilizando el Holland Computing Center (HCC) en UNL, que recibe el apoyo de la Iniciativa de Investigación de Nebraska. También estamos agradecidos por tener acceso, a través del HCC, a los recursos proporcionados por Open Science Grid (OSG), que cuenta con el apoyo de la Fundación Nacional de Ciencias y la Oficina de Ciencia del Departamento de Energía de los Estados Unidos. Este trabajo utilizó el software de gestión de flujo de trabajo Pegasus que está financiado por la National Science Foundation (subvención # 1664162).

Access restricted. Please log in or start a trial to view this content.

Materiales

NameCompanyCatalog NumberComments
amr_data_filteredhttps://figshare.com/account/projects/116625/articles/14829225?file=28758762
amr_data_rawhttps://figshare.com/account/projects/116625/articles/14829225?file=28547994
baps_outputhttps://figshare.com/account/projects/116625/articles/14829225?file=28548003
Core-genome phylogenyhttps://figshare.com/account/projects/116625/articles/14829225?file=28548006
genome_srahttps://figshare.com/account/projects/116625/articles/14829225?file=28639209
Linux, Mac, or PCany high-performance platform
mlst_outputhttps://figshare.com/account/projects/116625/articles/14829225?file=28547997
sistr_outputhttps://figshare.com/account/projects/116625/articles/14829225?file=28548000
figshare credentials are required for login and have access to the files

Referencias

  1. Grad, Y. H., et al. Genomic epidemiology of the Escherichia coli O104:H4 outbreaks in Europe, 2011. Proceedings of the National Academy of Sciences of the United States of America. 109 (8), 3065-3070 (2012).
  2. Worby, C. J., Chang, H. -H., Hanage, W. P., Lipsitch, M. The distribution of pairwise genetic distances: a tool for investigating disease transmission. Genetics. 198 (4), 1395-1404 (2014).
  3. Leekitcharoenphon, P., et al. Global genomic epidemiology of Salmonella enterica serovar Typhimurium DT104. Applied and Environmental Microbiology. 82 (8), 2516-2526 (2016).
  4. Alba, P., et al. Molecular epidemiology of Salmonella Infantis in Europe: insights into the success of the bacterial host and its parasitic pESI-like megaplasmid. Microbial Genomics. 6 (5), (2020).
  5. Zhou, Z., Alikhan, N. -F., Mohamed, K., Fan, Y. the Agama Study Group, Achtman, M. The EnteroBase user's guide, with case studies on Salmonella transmissions, Yersinia pestis phylogeny, and Escherichia core genomic diversity. Genome Research. 30 (1), 138-152 (2020).
  6. Azarian, T., et al. Global emergence and population dynamics of divergent serotype 3 CC180 pneumococci. PLOS Pathogens. 14 (11), 1007438(2018).
  7. Saltykova, A., et al. Comparison of SNP-based subtyping workflows for bacterial isolates using WGS data, applied to Salmonella enterica serotype Typhimurium and serotype 1,4,[5],12:i. PLOS ONE. 13 (2), 0192504(2018).
  8. Achtman, M., et al. Multi-locus sequence typing as a replacement for serotyping in Salmonella enterica. PLoS Pathogens. 8 (6), 1002776(2012).
  9. Maiden, M. C. J., et al. Multi-locus sequence typing: A portable approach to the identification of clones within populations of pathogenic microorganisms. Proceedings of the National Academy of Sciences of the United States of America. 95 (6), 3140-3145 (1998).
  10. Alikhan, N. -F., Zhou, Z., Sergeant, M. J., Achtman, M. A genomic overview of the population structure of Salmonella. PLOS Genetics. 14 (4), 1007261(2018).
  11. Gupta, A., Jordan, I. K., Rishishwar, L. stringMLST: a fast k-mer based tool for multi-locus sequence typing. Bioinformatics. 33 (1), 119-121 (2017).
  12. Jolley, K. A., Maiden, M. C. BIGSdb: Scalable analysis of bacterial genome variation at the population level. BMC Bioinformatics. 11 (1), 595(2010).
  13. Maiden, M. C. J., et al. MLST revisited: the gene-by-gene approach to bacterial genomics. Nature Reviews Microbiology. 11 (10), 728-736 (2013).
  14. Maiden, M. C. J. Multilocus sequence typing of bacteria. Annual Review of Microbiology. 60 (1), 561-588 (2006).
  15. Shapiro, B. J., Polz, M. F. Ordering microbial diversity into ecologically and genetically cohesive units. Trends in Microbiology. 22 (5), 235-247 (2014).
  16. Cordero, O. X., Polz, M. F. Explaining microbial genomic diversity in light of evolutionary ecology. Nature Reviews Microbiology. 12 (4), 263-273 (2014).
  17. Achtman, M., Wagner, M. Microbial diversity and the genetic nature of microbial species. Nature Reviews Microbiology. 6 (6), 431-440 (2008).
  18. Abudahab, K., et al. PANINI: Pangenome neighbour identification for bacterial populations. Microbial Genomics. 5 (4), (2019).
  19. Laing, C. R., Whiteside, M. D., Gannon, V. P. J. Pan-genome analyses of the species Salmonella enterica, and identification of genomic markers predictive for species, subspecies, and serovar. Frontiers in Microbiology. 8, 1345(2017).
  20. Pavlovikj, N., Gomes-Neto, J. C., Deogun, J. S., Benson, A. K. ProkEvo: an automated, reproducible, and scalable framework for high-throughput bacterial population genomics analyses. PeerJ. 9, 11376(2021).
  21. McNally, A., et al. Combined analysis of variation in core, accessory and regulatory genome regions provides a super-resolution view into the evolution of bacterial populations. PLOS Genetics. 12 (9), 1006280(2016).
  22. Langridge, G. C., et al. Patterns of genome evolution that have accompanied host adaptation in Salmonella. Proceedings of the National Academy of Sciences of the United States of America. 112 (3), 863-868 (2015).
  23. Price, M. N., Dehal, P. S., Arkin, A. P. FastTree 2 - Approximately maximum-likelihood trees for large alignments. PLoS ONE. 5 (3), 9490(2010).
  24. Page, A. J., et al. Roary: rapid large-scale prokaryote pan genome analysis. Bioinformatics. 31 (22), 3691-3693 (2015).
  25. Yoshida, C. E., et al. The Salmonella In silico typing resource (SISTR): An open web-accessible tool for rapidly typing and subtyping draft Salmonella genome assemblies. PLOS ONE. 11 (1), 0147101(2016).
  26. Cheng, L., Connor, T. R., Siren, J., Aanensen, D. M., Corander, J. Hierarchical and spatially explicit clustering of DNA sequences with BAPS software. Molecular Biology and Evolution. 30 (5), 1224-1228 (2013).
  27. Tonkin-Hill, G., Lees, J. A., Bentley, S. D., Frost, S. D. W., Corander, J. Fast hierarchical Bayesian analysis of population structure. Nucleic Acids Research. 47 (11), 5539-5549 (2019).
  28. Seemann, T. MLST. GitHub. , Available from: https://github.com/tseemann/mist (2020).
  29. Seemann, T. ABRicate. GitHub. , Available from: https://github.com/tseemann/abricate (2020).
  30. R Core Team. R: A language and environment for statistical computing. R Foundation for Statistical Computing. , Vienna, Austria. at. Available from: https://cran.r-project.org (2021).
  31. Studio Team. RStudio: Integrated Development for R. Studio, PBC. , Boston, MA. Available from: http://www.rstudio.com (2020).
  32. Wickham, H., et al. Welcome to the Tidyverse. Journal of Open Source Software. 4 (43), 1686(2019).
  33. rOpenSci: The skimr package. GitHub. , Berkeley, CA. Available from: https://github.com/ropensci/skimr/ (2021).
  34. Oksanen, J., et al. vegan: Community ecology package. R package version 2.5-5. , Available from: https://CRAN.R-project.org/package=vegan (2019).
  35. Tierney, N. J., Cook, D. H. Expanding tidy data principles to facilitate missing data exploration, visualization and assessment of imputations. arXiv. , Available from: http://arxiv.org/abs/1809.02264 (2020).
  36. Yu, G. Using ggtree to visualize data on tree-like structures. Current Protocols in Bioinformatics. 69 (1), (2020).
  37. Kassambara, A. ggpubr: "ggplot2" Based Publication Ready Plots. R package version 0.4.0. , Available from: https://CRAN.R-project.org/package=ggpubr (2020).
  38. Slowikowski, K. ggrepel: Automatically Position Non-Overlapping Text Labels with "ggplot2”. R package version 0.9.1. , Available from: https://CRAN.R-project.org/package=ggrepel (2021).
  39. Wickham, H. Reshaping Data with the reshape Package. Journal of Statistical Software. 21 (12), (2007).
  40. Neuwirth, E. RColorBrewer: ColorBrewer Palettes. R package version 1.1-2. , Available from: https://CRAN.R-project.org/package=RColorBrewer (2014).
  41. Hadfield, J., Croucher, N. J., Goater, R. J., Abudahab, K., Aanensen, D. M., Harris, S. R. Phandango: an interactive viewer for bacterial population genomics. Bioinformatics. 34 (2), 292-293 (2018).
  42. Perron, G. G., et al. Functional characterization of bacteria isolated from ancient arctic soil exposes diverse resistance mechanisms to modern antibiotics. PLOS ONE. 10 (3), 0069533(2015).
  43. Mitchell, P. K., et al. Population genomics of pneumococcal carriage in Massachusetts children following introduction of PCV-13. Microbial Genomics. 5 (2), (2019).
  44. Klemm, E. J., et al. Emergence of host-adapted Salmonella Enteritidis through rapid evolution in an immunocompromised host. Nature Microbiology. 1 (3), 15023(2016).
  45. Břinda, K., et al. Rapid inference of antibiotic resistance and susceptibility by genomic neighbour typing. Nature Microbiology. 5 (3), 455-464 (2020).
  46. MacFadden, D. R., et al. Using genetic distance from archived samples for the prediction of antibiotic resistance in Escherichia coli. Antimicrobial Agents and Chemotherapy. 64 (5), (2020).
  47. Mageiros, L., et al. Genome evolution and the emergence of pathogenicity in avian Escherichia coli. Nature Communications. 12 (1), 765(2021).
  48. Yahara, K., et al. Genome-wide association of functional traits linked with Campylobacter jejuni survival from farm to fork. Environmental Microbiology. 19 (1), 361-380 (2017).
  49. Walter, J., Maldonado-Gómez, M. X., Martínez, I. To engraft or not to engraft: an ecological framework for gut microbiome modulation with live microbes. Current Opinion in Biotechnology. 49, 129-139 (2018).
  50. Maldonado-Gómez, M. X., et al. Stable engraftment of Bifidobacterium longum AH1206 in the human gut depends on individualized features of the resident microbiome. Cell Host & Microbe. 20 (4), 515-526 (2016).
  51. Zhao, S., et al. Adaptive evolution within gut microbiomes of healthy people. Cell Host & Microbe. 25 (5), 656-667 (2019).
  52. Treangen, T. J., Ondov, B. D., Koren, S., Phillippy, A. M. The Harvest suite for rapid core-genome alignment and visualization of thousands of intraspecific microbial genomes. Genome Biology. 15 (11), 524(2014).
  53. Letunic, I., Bork, P. Interactive Tree Of Life (iTOL) v5: an online tool for phylogenetic tree display and annotation. Nucleic Acids Research. 49, 293-296 (2021).
  54. Croucher, N. J., et al. Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins. Nucleic Acids Research. 43 (3), 15(2015).
  55. Fenske, G. J., Thachil, A., McDonough, P. L., Glaser, A., Scaria, J. Geography shapes the population genomics of Salmonella enterica Dublin. Genome Biology and Evolution. 11 (8), 2220-2231 (2019).
  56. Lees, J. A., et al. Fast and flexible bacterial genomic epidemiology with PopPUNK. Genome Research. 29 (2), 304-316 (2019).
  57. Cohan, F. M. Towards a conceptual and operational union of bacterial systematics, ecology, and evolution. Philosophical Transactions of the Royal Society B: Biological Sciences. 361 (1475), 1985-1996 (2006).
  58. Cohan, F. M., Koeppel, A. F. The origins of ecological diversity in prokaryotes. Current Biology. 18 (21), 1024-1034 (2008).
  59. Cohan, F. M. Transmission in the origins of bacterial diversity, from ecotypes to phyla. Microbial Transmission. 5 (5), 311-343 (2019).
  60. Davis, J. J., et al. The PATRIC bioinformatics resource center: expanding data and analysis capabilities. Nucleic Acids Research. 48, 606-612 (2019).
  61. Feng, Y., Zou, S., Chen, H., Yu, Y., Ruan, Z. BacWGSTdb 2.0: a one-stop repository for bacterial whole-genome sequence typing and source tracking. Nucleic Acids Research. 49, 644-650 (2021).

Access restricted. Please log in or start a trial to view this content.

Reimpresiones y Permisos

Solicitar permiso para reutilizar el texto o las figuras de este JoVE artículos

Solicitar permiso

Explorar más artículos

Gen ticaN mero 178

This article has been published

Video Coming Soon

JoVE Logo

Privacidad

Condiciones de uso

Políticas

Investigación

Educación

ACERCA DE JoVE

Copyright © 2025 MyJoVE Corporation. Todos los derechos reservados