JoVE Logo

S'identifier

Un abonnement à JoVE est nécessaire pour voir ce contenu. Connectez-vous ou commencez votre essai gratuit.

Dans cet article

  • Résumé
  • Résumé
  • Introduction
  • Protocole
  • Résultats
  • Discussion
  • Déclarations de divulgation
  • Remerciements
  • matériels
  • Références
  • Réimpressions et Autorisations

Résumé

Cette plate-forme informatique analytique fournit des conseils pratiques aux microbiologistes, aux écologistes et aux épidémiologistes intéressés par la génomique des populations bactériennes. Plus précisément, les travaux présentés ici ont démontré comment effectuer: i) une cartographie guidée par la phylogénie des génotypes hiérarchiques; ii) l’analyse des génotypes fondée sur la fréquence; iii) analyses de la parenté et de la clonalité; iv) l’identification des loci accessoires différenciant la lignée.

Résumé

L’utilisation systématique et systématique du séquençage bactérien du génome entier (SGC) améliore l’exactitude et la résolution des enquêtes épidémiologiques menées par les laboratoires de santé publique et les organismes de réglementation. De grands volumes de données WGS accessibles au public peuvent être utilisés pour étudier les populations pathogènes à grande échelle. Récemment, une plate-forme de calcul disponible gratuitement appelée ProkEvo a été publiée pour permettre des analyses génomiques de population reproductibles, automatisées et évolutives basées sur des hiérarchies à l’aide de données WGS bactériennes. Cette mise en œuvre de ProkEvo a démontré l’importance de combiner la cartographie génotypique standard des populations avec l’extraction du contenu génomique accessoire pour l’inférence écologique. En particulier, les travaux mis en évidence ici ont utilisé des résultats dérivés de ProkEvo pour des analyses hiérarchiques à l’échelle de la population utilisant le langage de programmation R. L’objectif principal était de fournir un guide pratique aux microbiologistes, aux écologistes et aux épidémiologistes en montrant comment: i) utiliser une cartographie guidée par la phylogénie des génotypes hiérarchiques; ii) évaluer les distributions de fréquence des génotypes comme approximation de l’aptitude écologique; iii) déterminer les relations de parenté et la diversité génétique à l’aide de classifications génotypiques spécifiques; et iv) la lignée cartographique différenciant les loci accessoires. Pour améliorer la reproductibilité et la portabilité, des fichiers de démarque R ont été utilisés pour démontrer l’ensemble de l’approche analytique. L’exemple d’ensemble de données contenait des données génomiques provenant de 2 365 isolats de l’agent pathogène zoonotique d’origine alimentaire Salmonella Newport. La cartographie ancrée dans la phylogénie des génotypes hiérarchiques (Serovar -> BAPS1 -> ST -> cgMLST) a révélé la structure génétique de la population, mettant en évidence les types de séquences (ST) comme génotype différenciant clé de voûte. Dans les trois lignées les plus dominantes, ST5 et ST118 ont partagé un ancêtre commun plus récemment qu’avec le phylotype ST45 hautement clonal. Les différences fondées sur les ST ont également été mises en évidence par la distribution des loci de résistance aux antimicrobiens accessoires (RAM). Enfin, une visualisation ancrée dans la phylogénie a été utilisée pour combiner les génotypes hiérarchiques et le contenu de la RAM afin de révéler la structure de parenté et les signatures génomiques spécifiques à la lignée. Combinée, cette approche analytique fournit des lignes directrices pour la réalisation d’analyses heuristiques génomiques de populations bactériennes à l’aide d’informations pangénomiques.

Introduction

L’utilisation croissante du séquençage bactérien du génome entier (SGC) comme base de la surveillance de routine et des enquêtes épidémiologiques par les laboratoires de santé publique et les organismes de réglementation a considérablement amélioré les enquêtes sur les éclosions d’agents pathogènes 1,2,3,4. En conséquence, de grands volumes de données WGS anonymisées sont maintenant accessibles au public et peuvent être utilisés pour étudier des aspects de la biologie des populations d’espèces pathogènes à une échelle sans précédent, y compris des études basées sur : les structures de population, les fréquences de génotype et les fréquences de gènes/allèles dans plusieurs réservoirs, régions géographiques et types d’environnements5 . Les enquêtes épidémiologiques guidées par le WGS les plus couramment utilisées sont basées sur des analyses utilisant uniquement le contenu génomique de base partagé, où le contenu partagé (conservé) seul est utilisé pour la classification génotypique (par exemple, l’appel de variantes), et ces variantes deviennent la base de l’analyse épidémiologique et du traçage 1,2,6,7 . En règle générale, le génotypage basé sur le noyau bactérien est effectué avec des approches de typage de séquence multi-locus (MLST) utilisant sept à quelques milliers de loci 8,9,10. Ces stratégies basées sur mlST englobent la cartographie de séquences génomiques pré-assemblées ou assemblées sur des bases de données hautement organisées, combinant ainsi des informations alléliques en unités génotypiques reproductibles pour l’analyse épidémiologique et écologique11,12. Par exemple, cette classification basée sur MLST peut générer des informations génotypiques à deux niveaux de résolution : les types de séquences de niveau inférieur (ST) ou les lignées ST (7 loci), et les variantes MLST (cgMLST) du génome du noyau supérieur (~ 300-3 000 loci)10.

La classification génotypique basée sur MLST est portable sur le plan informatique et hautement reproductible entre les laboratoires, ce qui la rend largement acceptée comme une approche de sous-typage précise sous le niveaud’espèce bactérienne 13,14. Cependant, les populations bactériennes sont structurées avec des degrés de clonalité variables spécifiques à l’espèce (c.-à-d. homogénéité génotypique), des modèles complexes de parenté hiérarchique entre les génotypes 15,16,17 et un large éventail de variations dans la distribution du contenu génomique accessoire18,19 . Ainsi, une approche plus holistique va au-delà des classifications discrètes dans les génotypes MLST et intègre les relations hiérarchiques des génotypes à différentes échelles de résolution, ainsi que la cartographie du contenu génomique accessoire sur les classifications génotypiques, ce qui facilite l’inférence basée sur la population 18,20,21 . En outre, les analyses peuvent également se concentrer sur les modèles partagés d’hérédité des loci génomiques accessoires parmi les génotypes21,22, même éloignés. Dans l’ensemble, l’approche combinée permet d’interroger de manière agnostique les relations entre la structure de la population et la distribution de compositions génomiques spécifiques (p. ex., loci) parmi les gradients géospatiaux ou environnementaux. Une telle approche peut fournir des informations à la fois fondamentales et pratiques sur les caractéristiques écologiques de populations spécifiques qui peuvent, à leur tour, expliquer leur tropisme et leurs modèles de dispersion dans les réservoirs, tels que les animaux destinés à l’alimentation ou les humains.

Cette approche hiérarchique axée sur la population basée sur les systèmes exige de grands volumes de données WGS pour une puissance statistique suffisante pour prédire des signatures génomiques distinguables. Par conséquent, l’approche nécessite une plate-forme de calcul capable de traiter plusieurs milliers de génomes bactériens à la fois. Récemment, ProkEvo a été développé et est une plate-forme bioinformatique librement disponible, automatisée, portable et évolutive qui permet des analyses de population bactérienne intégrées basées sur la hiérarchie, y compris la cartographie pangénomique20. ProkEvo permet l’étude d’ensembles de données bactériennes à moyenne à grande échelle tout en fournissant un cadre pour générer des hypothèses épidémiologiques et écologiques testables et inférables et des prédictions phénotypiques qui peuvent être personnalisées par l’utilisateur. Ce travail complète ce pipeline en fournissant un guide sur la façon d’utiliser les fichiers de sortie dérivés de ProkEvo comme entrée pour les analyses et l’interprétation des classifications hiérarchiques des populations et l’exploration génomique accessoire. L’étude de cas présentée ici a utilisé la population de Salmonella enterica lignée I zoonotique sérovar S. Newport à titre d’exemple et visait spécifiquement à fournir des lignes directrices pratiques aux microbiologistes, aux écologistes et aux épidémiologistes sur la façon de: i) utiliser une approche automatisée dépendante de la phylogénie pour cartographier les génotypes hiérarchiques; ii) évaluer la distribution de fréquence des génotypes comme approximation pour évaluer l’aptitude écologique; iii) déterminer les degrés de clonalité propres à la lignée à l’aide d’approches statistiques indépendantes; et iv) cartographier les loci de RMI différenciant la lignée comme exemple de la façon d’exploiter le contenu génomique accessoire dans le contexte de la structure de la population. Plus largement, cette approche analytique fournit un cadre généralisable pour effectuer une analyse génomique basée sur la population à une échelle qui peut être utilisée pour déduire des modèles évolutifs et écologiques quelle que soit l’espèce ciblée.

Protocole

1. Préparer les fichiers d’entrée

REMARQUE: Le protocole est disponible ici - https://github.com/jcgneto/jove_bacterial_population_genomics/tree/main/code. Le protocole suppose que le chercheur a spécifiquement utilisé ProkEvo (ou un pipeline comparable) pour obtenir les sorties nécessaires disponibles dans ce référentiel Figshare (https://figshare.com/account/projects/116625/articles/15097503 - les informations de connexion sont requises - L’utilisateur doit créer un compte gratuit pour avoir accès au fichier!). Il est à noter que ProkEvo télécharge automatiquement les séquences génomiques du référentiel NCBI-SRA et ne nécessite qu’un fichier .txt contenant une liste d’identifications du génome en entrée20, et celui utilisé pour ce travail sur S. Les isolats de Newport USA sont fournis ici (https://figshare.com/account/projects/116625/articles/15097503?file=29025729).  Des informations détaillées sur l’installation et l’utilisation de cette plateforme de génomique bactérienne sont disponibles ici (https://github.com/npavlovikj/ProkEvo/wiki/2.-Quick-start)20

  1. Générez la phylogénie noyau-génome en utilisant FastTree23 comme décrit précédemment20, qui ne fait pas partie de la plate-forme bioinformatique20. FastTree nécessite l’alignement noyau-génome Roary24 comme fichier d’entrée. Le fichier de phylogénie est nommé newport_phylogeny.tree (https://figshare.com/account/projects/116625/articles/15097503?file=29025690).
  2. Générer la sortie SISTR25 contenant les informations concernant les classifications des sérovars pour Salmonella et les données d’appel de variante cgMLST (sistr_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025699).
  3. Générer le fichier BAPS par fastbaps26,27 contenant la classification BAPS niveaux 1-6 des génomes en sous-groupes ou haplotypes (fastbaps_partition_baps_prior_l6.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025684).
  4. Générer une classification mlST des génomes en ST à l’aide du programme MLST (https://github.com/tseemann/mlst)28 (salmonellast_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025696).
  5. Générez la sortie ABRicate (https://github.com/tseemann/abricate)29 sous la forme d’un fichier .csv contenant des loci AMR cartographiés par génome (sabricate_resfinder_output.csv - https://figshare.com/account/projects/116625/articles/15097503?file=29025693).
    REMARQUE: L’utilisateur peut désactiver des parties spécifiques du pipeline de bioinformatique ProkEvo (consultez ici pour plus d’informations - https://github.com/npavlovikj/ProkEvo/wiki/4.2.-Remove-existing-bioinformatics-tool-from-ProkEvo). L’approche analytique présentée ici fournit des lignes directrices sur la façon de mener une analyse basée sur la population après l’exécution du pipeline de bioinformatique.

2. Téléchargez et installez le logiciel statistique et l’application d’environnement de développement intégré (IDE)

  1. Téléchargez la version la plus récente disponible gratuitement du logiciel R pour Linux, Mac ou PC30. Suivez les étapes d’installation par défaut.
  2. Téléchargez la version la plus récente disponible gratuitement de l’IDE de bureau RStudio ici31. Suivez les étapes par défaut pour l’installation.
    REMARQUE : Les étapes suivantes sont incluses dans le script disponible, y compris des informations détaillées sur l’utilisation du code, et doivent être exécutées séquentiellement pour générer les résultats et les chiffres présentés dans ce travail (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd). L’utilisateur peut décider d’utiliser un autre langage de programmation pour effectuer cette analyse analytique/statistique telle que Python. Dans ce cas, utilisez les étapes des scripts comme cadre pour effectuer l’analyse.

3. Installer et activer des bibliothèques de science des données

  1. Installez toutes les bibliothèques de science des données à la fois comme première étape de l’analyse. Évitez d’installer les bibliothèques chaque fois que le script doit être réexécuté. Utilisez la fonction install.packages() pour l’installation de la bibliothèque. Alternativement, l’utilisateur peut cliquer sur l’onglet Packages à l’intérieur de l’IDE et installer automatiquement les packages. Le code utilisé pour installer toutes les bibliothèques nécessaires est présenté ici :
    # Installer Tidyverse
    install.packages(« tidyverse »)
    # Installer skimr

    install.packages(« skimr »)
    # Installer vegan
    install.packages(« végétalien »)
    # Installer forcats
    install.packages(« forcats »)
    # Installer naniar
    install.packages(« naniar »)
    # Installer ggpubr
    install.packages(« ggpubr »)
    # Installer ggrepel
    install.packages(« ggrepel »)
    # Installer reshape2
    install.packages(« reshape2 »)
    # Installer RColorBrewer
    install.packages(« RColorBrewer »)
    # Installer ggtree
    if (!requireNamespace(« BiocManager », tranquillement = TRUE))
    install.packages(« BiocManager »)
    BiocManager::install(« ggtree »)
    # L’installation de ggtree posera une question sur l’installation - la réponse est « a » pour installer / mettre à jour toutes les dépendances
  2. Activez toutes les bibliothèques ou tous les packages à l’aide de la fonction library() au début du script, juste après l’installation. Voici une démonstration sur la façon d’activer tous les paquets nécessaires:
    # Activer les bibliothèques et les packages
    bibliothèque(tidyverse)
    bibliothèque(skimr)
    bibliothèque (végétalien)
    bibliothèque(forcats)
    bibliothèque(naniar)
    bibliothèque(ggtree)
    bibliothèque(ggpubr)
    bibliothèque(ggrepel)
    bibliothèque(reshape2)
    bibliothèque(RColorBrewer)
  3. Supprimez la sortie du code utilisé pour l’installation et l’activation de la bibliothèque et du package à l’aide de {r, include = FALSE} dans le mandrin de code, comme suit :
    ''' {r, include = FAUX}
    # Installer Tidyverse

    install.packages(« tidyverse »)
    ```

    Remarque : cette étape est facultative mais évite d’afficher des morceaux de code inutile dans le rapport html, doc ou pdf final.
  4. Pour une brève description des fonctions spécifiques de toutes les bibliothèques ainsi que des liens utiles pour recueillir plus d’informations, reportez-vous aux étapes 3.4.1 à 3.4.11.
    1. Tidyverse - utilisez cette collection de packages utilisés pour la science des données, y compris la saisie de données, la visualisation, l’analyse et l’agrégation, et la modélisation statistique. En règle générale, ggplot2 (visualisation de données) et dplyr (data wrangling et modélisation) sont des packages pratiques présents dans cette bibliothèque32.
    2. skimr - utilisez ce package pour générer des statistiques récapitulatives des trames de données, y compris l’identification des valeurs manquantes33.
    3. végétalien - utilisez ce paquet pour les analyses statistiques de l’écologie communautaire, telles que le calcul de statistiques basées sur la diversité (par exemple, la diversité alpha et bêta)34.
    4. forcats - utilisez ce package pour travailler avec des variables catégorielles telles que la réorganisation des classifications. Ce package fait partie de la bibliothèque Tidyverse32.
    5. naniar - utilisez ce package pour visualiser la distribution des valeurs manquantes entre les variables d’une base de données, à l’aide de la fonction viss_miss()35.
    6. ggtree - utilisez ce paquet pour la visualisation des arbres phylogénétiques36.
    7. ggpubr - utilisez ce package pour améliorer la qualité des visualisations basées sur ggplot237.
    8. ggrepel - utilisez ce package pour l’étiquetage du texte à l’intérieur des graphiques38.
    9. reshape2 - utilisez la fonction melt() de ce package pour la transformation des trames de données du format large au format long39.
    10. RColorBrewer - utilisez ce package pour gérer les couleurs dans les visualisations basées sur ggplot240.
    11. Utilisez les fonctions de base suivantes pour l’analyse exploratoire des données : head() pour vérifier les premières observations dans une trame de données, tail() pour vérifier les dernières observations d’une trame de données, is.na() pour compter le nombre de lignes avec des valeurs manquantes dans une trame de données, dim() pour vérifier le nombre de lignes et de colonnes dans un jeu de données, table() pour compter les observations sur une variable, et sum() pour compter le nombre total d’observations ou d’instances.

4. Saisie et analyse des données

REMARQUE : Vous trouverez des informations détaillées sur chaque étape de cette analyse dans le script disponible (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd). Cependant, voici quelques points importants à considérer :

  1. Effectuer toutes les saisies de données génomiques, y compris toutes les classifications génotypiques (sérovar, BAPS, ST et cgMLST) à l’aide de la fonction read_csv().
  2. Renommez, créez de nouvelles variables et sélectionnez les colonnes d’intérêt de chaque jeu de données avant l’agrégation multi-jeux de données.
  3. Ne supprimez pas les valeurs manquantes d’un jeu de données indépendant. Attendez que tous les jeux de données soient agrégés pour modifier ou exclure les valeurs manquantes. Si de nouvelles variables sont créées pour chaque jeu de données, les valeurs manquantes sont par défaut classées dans l’une des classifications nouvellement générées.
  4. Vérifiez s’il y a des caractères erronés tels que des traits d’union ou des marques d’interrogation et remplacez-les par NA (sans objet). Faites de même pour les valeurs manquantes.
  5. Données agrégées basées sur l’ordre hiérarchique des génotypes (sérovar -> BAPS1 -> ST -> cgMLST), et par regroupement basé sur les identifications du génome individuel.
  6. Vérifiez les valeurs manquantes à l’aide de plusieurs stratégies et traitez explicitement ces incohérences. Ne retirez un génome ou un isolat des données que si la classification n’est pas fiable. Sinon, considérez l’analyse en cours et supprimez les AN au cas par cas.
    NOTE: Il est fortement recommandé d’établir une stratégie pour traiter ces valeurs a priori. Évitez de supprimer tous les génomes ou isolats dont les valeurs sont manquantes dans toutes les variables. Par exemple, un génome peut avoir une classification ST sans avoir de numéro de variante cgMLST. Dans ce cas, le génome peut toujours être utilisé pour l’analyse basée sur ST.
  7. Une fois tous les jeux de données agrégés, affectez-les à un nom de bloc de données ou à un objet qui peut être utilisé à plusieurs endroits dans l’analyse de suivi, afin d’éviter d’avoir à générer le même fichier de métadonnées pour chaque figure du document.

5. Effectuer des analyses et générer des visualisations

REMARQUE: Une description détaillée de chaque étape nécessaire à la production de toutes les analyses et visualisations se trouve dans le fichier de démarque de ce document (https://github.com/jcgneto/jove_bacterial_population_genomics/tree/main/code). Le code de chaque figure est séparé en morceaux et le script entier doit être exécuté séquentiellement. De plus, le code de chaque figure principale et supplémentaire est fourni sous forme de fichier distinct (voir Dossier supplémentaire 1 et Dossier supplémentaire 2). Voici quelques points essentiels (avec des extraits de code) à prendre en compte lors de la génération de chaque chiffre principal et supplémentaire.

  1. Utilisez ggtree pour tracer un arbre phylogénétique avec des informations génotypiques (Figure 1).
    1. Optimisez la taille de la figure ggtree, y compris le diamètre et la largeur des anneaux, en modifiant les valeurs numériques à l’intérieur des fonctions xlim() et gheatmap(width = ), respectivement (voir l’exemple de code ci-dessous).
      tree_plot <- ggtree(arbre, mise en page = « circulaire ») + xlim(-250, NA)
      figure_1 <- gheatmap(tree_plot, d4, offset=.0, width=20, colnames = FALSE)
      REMARQUE: Pour une comparaison plus détaillée des programmes qui peuvent être utilisés pour le traçage phylogénétique, consultez ce travail20. Le travail a mis en évidence une tentative faite pour identifier des stratégies pour améliorer les visualisations basées sur ggtree, telles que la diminution de la taille de l’ensemble de données, mais les longueurs de branches et la topologie des arbres n’étaient pas aussi clairement discriminantes que phandango41.
    2. Regroupez toutes les métadonnées en aussi peu de catégories que possible pour faciliter le choix du panneau de coloration lors du traçage de plusieurs couches de données avec l’arbre phylogénétique (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_1.Rmd). Effectuer l’agrégation des données en fonction de la question de l’intérêt et de la connaissance du domaine.
  2. Utilisez un diagramme à barres pour évaluer les fréquences relatives (Figure 2).
    1. Agrégez les données pour les lignées ST et les variantes cgMLST afin de faciliter les visualisations. Choisissez un seuil empirique ou statistique utilisé pour l’agrégation des données, tout en tenant compte de la question posée.
    2. Pour un exemple de code qui peut être utilisé pour inspecter la distribution de fréquence des lignées ST afin de déterminer le seuil, voir ci-dessous:
      st_dist <- d2 %>% group_by(ST) %>% # groupe par la colonne ST
      count() %>% # compter le nombre d’observations
      arrange(desc(n)) # organiser les comptes par ordre décroissant
    3. Pour un exemple de code montrant comment les ST mineures (basse fréquence) peuvent être agrégées, reportez-vous ci-dessous. Comme indiqué ci-dessous, les ST qui ne sont pas numérotés comme 5, 31, 45, 46, 118, 132 ou 350, sont regroupés en tant que « Autres ST ». Utilisez un code similaire pour les variantes cgMLST (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_2.Rmd).
      d2$st <- ifelse(d2$ST == 5, « ST5 », # créer une nouvelle colonne ST pour laquelle les S T mineurs sont agrégés comme Autres
      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 », « Autres ST »))))))
  3. Utilisez une approche imbriquée pour calculer la proportion de chaque lignée ST au sein de chaque sous-groupe BAPS1 afin d’identifier les ST qui sont ancestralement apparentés (appartiennent au même sous-groupe BAPS1) (Figure 3). Le code ci-dessous illustre comment la proportion basée sur ST peut être calculée entre les sous-groupes 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) %>% # sélectionnez les colonnes baps_1 et ST
    mutate(ST = as.numeric(ST)) %>% # changer la colonne ST en numérique
    drop_na(baps_1, ST) %>% # supprimer les ARN
    group_by(baps_1, ST) %>% # groupe par baps_1 et ST
    résumer(n = n()) %>% # nombre d’observations
    mutate(prop = n/sum(n)*100) # calculer les proportions
  4. Tracez la distribution des loci AMR entre les lignées ST à l’aide des résultats d’annotation génique basés sur Resfinder (Figure 4).
    NOTE: Resfinder a été largement utilisé dans les études écologiques et épidémiologiques42. L’annotation des gènes codant pour les protéines peut varier en fonction de la fréquence à laquelle les bases de données sont organisées et mises à jour. S’il utilise le pipeline de bioinformatique suggéré, le chercheur peut comparer les classifications de loci basées sur la RAM dans différentes bases de données20. Assurez-vous de vérifier quelles bases de données sont continuellement mises à jour. N’utilisez pas de bases de données obsolètes ou mal organisées, afin d’éviter les erreurs d’appel.
    1. Utilisez un seuil empirique ou statistique pour filtrer les loci de RAM les plus importants afin de faciliter les visualisations. Fournissez un fichier .csv brut contenant les proportions calculées de tous les loci AMR sur toutes les lignées ST, comme illustré ici (https://figshare.com/account/projects/116625/articles/15097503?file=29025687).
    2. Calculez la proportion de RAM pour chaque ST à l’aide du code suivant (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_4.Rmd) :
      # Calculs pour ST45
      d2c <- data6 %>% filter(st == « ST45 ») # filtrer d’abord les données ST45
      # pour ST45, calculer la proportion de loci de RAM et ne garder que la proportion supérieure à 10%

      d3c <- d2c %>% select(id, gene) %>% # select columns
      group_by(id, gène) %>% # groupe par id et gène
      résumer(compter = n()) %>% # compter les observations
      mutate(count = replace(count, count == 2, 1)) %>% # replace counts equal to 2 with 1 to consider only one copy of each gene (les duplications peuvent ne pas être fiables), mais le chercheur peut décider de les exclure ou de les conserver. Si le chercheur veut les exclure, utilisez la fonction filter(count != 2) ou laissez tel quel
      filter(count <= 1) # nombre de filtres inférieur ou égal à 1
      d4c <- d3c %>% group_by(gène) %>% # groupe par gène
      résumer(valeur = n()) %>% # nombre d’observations
      mutate(total = table(data1$st)[6]) %>% # obtenir le nombre total de st mutate(prop = (valeur/total)*100) # calculer les proportions
      d5c <- d4c %>% mutate(st = « ST45 ») # créer une colonne st et ajouter des informations ST
    3. Une fois les calculs effectués pour tous les ST, combinez les jeux de données en une seule trame de données, à l’aide du code suivant :
      # Combiner des jeux de données
      d6 <- rbind(d5a, d5b, d5c, d5d, d5e, d5f, d5g, d5h) # jeux de données de liaison de ligne
    4. Pour exporter le fichier .csv contenant les proportions calculées, utilisez le code :
      # Exporter la table de données contenant des informations sur les loci ST et AMR
      abx_newport_st <- d6 write.csv(abx_newport_st,"abx_newport_st.csv », row.names = FALSE)
    5. Avant de tracer la distribution basée sur la RAM entre les lignées ST, filtrez les données en fonction d’un seuil pour faciliter les visualisations, comme indiqué ci-dessous :
      # Filtrer les loci AMR avec une proportion supérieure ou égale à 10%
      d7 <- d6 %>% filter(prop >= 10) # déterminer le seuil empiriquement ou statistiquement
  5. Tracez la phylogénie noyau-génome ainsi que les classifications génotypiques hiérarchiques et les données de RAM dans un seul graphique à l’aide de ggtree (Figure 5).
    1. Optimisez la taille de la figure à l’intérieur de ggtree en utilisant les paramètres mentionnés ci-dessus (voir étape 5.1.1.).
    2. Optimisez les visualisations en agrégeant des variables ou en utilisant une classification binaire telle que la présence ou l’absence de gènes. Plus le tracé est ajouté de fonctionnalités, plus le processus de sélection de la coloration devient difficile (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/figure_5.Rmd).
      NOTE: Chiffres supplémentaires - une description détaillée de l’ensemble du code peut être trouvée ici (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/data_analysis_R_code.Rmd).
  6. Utilisez un nuage de points dans ggplot2, sans agrégation de données, pour afficher la distribution des lignées ST ou des variantes cgMLST tout en mettant en évidence les génotypes les plus fréquents (Figure supplémentaire 1) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s1.Rmd).
  7. Effectuer une analyse imbriquée pour évaluer la composition des lignées ST à travers la proportion de variantes cgMLST afin d’avoir un aperçu de la diversité génétique basée sur ST, tout en identifiant les variantes les plus fréquentes et leurs relations génétiques (c.-à-d. les variantes cgMLST qui appartiennent à la même ST ont partagé un ancêtre plus récemment que celles appartenant à des ST distincts) (Figure supplémentaire 2 ) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s2.Rmd).
  8. Utiliser la métrique de l’écologie communautaire, à savoir l’indice de diversité D de Simpson, pour mesurer le degré de clonalité ou de diversité génotypique de chacune des principales lignées ST43 (figure supplémentaire 3).
    1. Calculer l’indice de diversité entre les lignées ST à différents niveaux de résolution génotypique, y compris baps de niveau 1 à 6 et cgMLST. Vous trouverez ci-dessous l’exemple de code sur la façon d’effectuer ce calcul au niveau BAPS 1 (BAPS1) de la résolution génotypique :
      # BAPS niveau 1 (BAPS1)
      # laisser tomber les ST et BAPS1 avec les NA, regrouper par ST et BAPS1, puis calculer l’indice de Simpson
      baps1 <- data6 %>%
      select(st, BAPS1) %>% # sélectionner les colonnes
      drop_na(st, BAPS1) %>% # supprimer les ARN
      group_by(st, BAPS1) %>% # grouper par colonnes
      résumer(n = n()) %>% # nombre d’observations
      mutate(simpson = diversity(n, « simpson »)) %>% # calculer la diversité
      group_by(st) %>% # grouper par colonne
      résumer(simpson = moyenne(simpson)) %>% # calculer la moyenne de l’indice
      melt(id.vars=c(« st »), measure.vars="simpson »,
      variable.name="index », value.name="valeur ») %>% # convertir en format long
      mutate(strat = « BAPS1 ») # créer une colonne strat
      REMARQUE: Une population génétiquement plus diversifiée (c.-à-d. plus de variantes à différentes couches de résolution génotypique) a un indice plus élevé au niveau cgMLST et produit une augmentation des valeurs basées sur l’indice allant du niveau BAPS 2 à 6 (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s3.Rmd).
  9. Examiner le degré de diversité génotypique des lignées ST en traçant la fréquence relative des sous-groupes BAPS à tous les niveaux de résolution (BAPS1-6) (Figure supplémentaire 4). Plus la population est diversifiée, plus la distribution des sous-groupes BAPS (haplotypes) devient clairsemée allant de BAPS1 (niveau de résolution inférieur) à BAPS6 (niveau de résolution plus élevé) (https://github.com/jcgneto/jove_bacterial_population_genomics/blob/main/code/supplementary_figure_s4.Rmd).

Résultats

En utilisant la plate-forme de calcul ProkEvo pour les analyses de génomique des populations, la première étape de l’exploration de données WGS bactériennes consiste à examiner la structure hiérarchique de la population dans le contexte d’une phylogénie noyau-génome (Figure 1). Dans le cas de S. lignée enterica I, illustrée par le S. Ensemble de données Newport, la population est structurée hiérarchiquement comme suit : sérovar (niveau de résol...

Discussion

L’utilisation d’une analyse heuristique et hiérarchique de la structure des populations basée sur des systèmes fournit un cadre pour identifier de nouvelles signatures génomiques dans des ensembles de données bactériennes qui ont le potentiel d’expliquer des modèles écologiques et épidémiologiques uniques20. De plus, la cartographie des données génomiques accessoires sur la structure de la population peut être utilisée pour déduire des caractères acquis par l’ancestral et/o...

Déclarations de divulgation

Les auteurs ont déclaré qu’il n’existait pas d’intérêts concurrents.

Remerciements

Ce travail a été soutenu par un financement fourni par la Division de la recherche agricole de l’UNL-IANR et de l’Institut national de recherche et d’éducation sur la résistance aux antimicrobiens, ainsi que par le Nebraska Food for Health Center du Département des sciences et technologies alimentaires (UNL). Cette recherche n’a pu être complétée qu’en utilisant le Holland Computing Center (HCC) de l’UNL, qui reçoit le soutien de la Nebraska Research Initiative. Nous sommes également reconnaissants d’avoir accès, par l’intermédiaire du HCC, aux ressources fournies par l’Open Science Grid (OSG), qui est soutenu par la National Science Foundation et l’Office of Science du département de l’Énergie des États-Unis. Ce travail a utilisé le logiciel de gestion du flux de travail Pegasus qui est financé par la National Science Foundation (subvention n ° 1664162).

matériels

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

Références

  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. MLST. GitHub Available from: https://github.com/tseemann/mist (2020)
  29. ABRicate. GitHub Available from: https://github.com/tseemann/abricate (2020)
  30. R: A language and environment for statistical computing. R Foundation for Statistical Computing Available from: https://cran.r-project.org (2021)
  31. Wickham, H., et al. Welcome to the Tidyverse. Journal of Open Source Software. 4 (43), 1686 (2019).
  32. rOpenSci: The skimr package. GitHub Available from: https://github.com/ropensci/skimr/ (2021)
  33. . vegan: Community ecology package. R package version 2.5-5 Available from: https://CRAN.R-project.org/package=vegan (2019)
  34. Yu, G. Using ggtree to visualize data on tree-like structures. Current Protocols in Bioinformatics. 69 (1), (2020).
  35. . ggpubr: "ggplot2" Based Publication Ready Plots. R package version 0.4.0 Available from: https://CRAN.R-project.org/package=ggpubr (2020)
  36. . 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)
  37. Wickham, H. Reshaping Data with the reshape Package. Journal of Statistical Software. 21 (12), (2007).
  38. . RColorBrewer: ColorBrewer Palettes. R package version 1.1-2 Available from: https://CRAN.R-project.org/package=RColorBrewer (2014)
  39. 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).
  40. 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).
  41. Mitchell, P. K., et al. Population genomics of pneumococcal carriage in Massachusetts children following introduction of PCV-13. Microbial Genomics. 5 (2), (2019).
  42. Klemm, E. J., et al. Emergence of host-adapted Salmonella Enteritidis through rapid evolution in an immunocompromised host. Nature Microbiology. 1 (3), 15023 (2016).
  43. Břinda, K., et al. Rapid inference of antibiotic resistance and susceptibility by genomic neighbour typing. Nature Microbiology. 5 (3), 455-464 (2020).
  44. 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).
  45. Mageiros, L., et al. Genome evolution and the emergence of pathogenicity in avian Escherichia coli. Nature Communications. 12 (1), 765 (2021).
  46. 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).
  47. 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).
  48. 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).
  49. Zhao, S., et al. Adaptive evolution within gut microbiomes of healthy people. Cell Host & Microbe. 25 (5), 656-667 (2019).
  50. 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).
  51. 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).
  52. 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).
  53. 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).
  54. Lees, J. A., et al. Fast and flexible bacterial genomic epidemiology with PopPUNK. Genome Research. 29 (2), 304-316 (2019).
  55. 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).
  56. Cohan, F. M., Koeppel, A. F. The origins of ecological diversity in prokaryotes. Current Biology. 18 (21), 1024-1034 (2008).
  57. Cohan, F. M. Transmission in the origins of bacterial diversity, from ecotypes to phyla. Microbial Transmission. 5 (5), 311-343 (2019).
  58. Davis, J. J., et al. The PATRIC bioinformatics resource center: expanding data and analysis capabilities. Nucleic Acids Research. 48, 606-612 (2019).
  59. 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).

Réimpressions et Autorisations

Demande d’autorisation pour utiliser le texte ou les figures de cet article JoVE

Demande d’autorisation

Explorer plus d’articles

G n tiquenum ro 178

This article has been published

Video Coming Soon

JoVE Logo

Confidentialité

Conditions d'utilisation

Politiques

Recherche

Enseignement

À PROPOS DE JoVE

Copyright © 2025 MyJoVE Corporation. Tous droits réservés.