.center[ .vertical-center[ # Observing bacterial pathogen evolution with long read sequencing Nicholas Noll Neher Lab Biozentrum, University of Basel ] ] --- # Antibiotic resistance as an arms race .center[![:scale 900](/figs/basel/ext/rise_of_resistance.jpg_large)] --- # Carbapenem resistance is quickly spreading .left-column[.center[![:scale 425](/figs/basel/ext/epi_stages_2010.png)]] .right-column[.center[![:scale 425](/figs/basel/ext/epi_stages_2016.png)]] .footnote[.cite[ECDC Rapid Risk Assessment: Carbapenem-resistant Enterobacteriaceae (2016)]] -- .left-column[ #### Surveillance needed * Drug reserved for multi-resistant bugs * Resistance conferred by many genes * Estimate rates to educate decisions ] -- .right-column[ #### An uncontrolled evolution experiment * Strong selective pressure for 3 decades * Learn something fundamental - <sub><sup> e.g. Genes or genomes? </sub></sup> ] --- # Organization of the resistant bacterial genome .middle[ .center[ ![:scale 900](/figs/basel/ext/bacterial_genome_1.svg) ] ] --- count:false # Organization of the resistant bacterial genome .middle[ .center[ ![:scale 900](/figs/basel/ext/bacterial_genome_2.svg) ] ] --- count:false # Organization of the resistant bacterial genome .middle[ .center[ ![:scale 900](/figs/basel/ext/bacterial_genome_3.svg) ] ] --- # Sequences encode evolutionary history .center[![:scale 950](/figs/basel/carb/transmission_tree_1.svg)] --- count:false # Sequences encode evolutionary history .center[![:scale 950](/figs/basel/carb/transmission_tree_2.svg)] --- count:false # Sequences encode evolutionary history .center[![:scale 950](/figs/basel/carb/transmission_tree_3.svg)] --- count:false # Sequences encode evolutionary history .center[![:scale 950](/figs/basel/carb/transmission_tree_4.svg)] --- count:false # Sequences encode evolutionary history .center[![:scale 950](/figs/basel/carb/transmission_tree_5.svg)] -- #### Resolving history hinges on * Enough samples: resolve all _clades_ -- * Enough variation: 1 RNA virus mutates $10^{-5}$/site/day $\rightarrow 1$ fixed mutation/week -- * Tree-like evolution --- # Organization of the resistant bacterial genome .middle[ .center[ ![:scale 900](/figs/basel/ext/bacterial_genome_3.svg) ] ] --- count:false # Organization of the resistant bacterial genome .middle[ .center[ ![:scale 900](/figs/basel/ext/bacterial_genome_master.svg) ] ] --- count:false # Bacteria evolve by horizontal transfer .left-column[ ![:scale 530](/figs/basel/ext/HGT.png) ] .footnote[[1] .cite[Sakoparnig, T. et al. biorxiv 2019] [2] .cite[Olivier, P.H. et al. Nat. Comm. 2017] [3] .cite[Anderson, R. et al. Annu. Rev. Gen. 2009]] -- .right-column[ #### Extensive homologous recombination * Tree-model of evolution not valid - <sub><sup>e.g. $\sim 25\%$ of mutations consistent w/ 1 tree<sup>[1]</sup></sub></sup> ] -- .right-column[ #### Uptake of genes from environment * Pan-genome * Distributed or localized in genome?<sup>[2]</sup> ] -- .right-column[ #### Genome reorganization * Gene duplication & loss - <sub><sup>$10^{-4}$ /cell/gen<sup>[3]</sup></sub></sup> * Transposable & conjugative elems ] --- # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] -- .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_base_white.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/genome_assembly_1.svg) ] ] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_base_white.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/genome_assembly_2.svg) ] ] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_base_white.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/genome_assembly_master.svg) ] ] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_base_white.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_base.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ #### Biozentrum ONT sequencing center ![:scale 500](/figs/basel/carb/minIon.jpg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_reads.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_mapped.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ .center[ .middle[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_zoom_resolved.svg) ] ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- count:false # Resolving genome organization requires long reads .left-column[ #### Complete & accurate de-novo assembly is hard * ![:emph](Illumina): high coverage, short reads * Too short to bridge repetitive elements * ![:emph](Problem): Resistance genes flanked by repetitive elements ] .right-column[ #### Hybrid assembly is complete & accurate .center[ ![:scale 300](/figs/basel/carb/canu_to_spades.png) ![:scale 350](/figs/basel/carb/contigSizes.svg) ] ] .left-column[ .center[ ![:scale 400](/figs/basel/ext/bad_assembly_graph_marked.png) ] ] .footnote[[1] .cite[.url[github.com/rrwick]]] --- # 110 carbapenem-resistant bacteria in Basel over 7 years .left-column[![:scale 480](/figs/basel/carb/overview_table_small_left.svg)] .left-column[![:scale 480](/figs/basel/carb/overview_table_small_right_blank.svg)] -- * Isolated from patients at University Hospital - <sup><sub>Chosen based on exhibiting carb. resistant phenotype </sup></sub> -- * One of largest sequencing studies of its kind to date - <sup><sub>Increased # of complete Klepne by $\sim 10\%$ </sub></sup> - <sup><sub>Supplemented w/ $\sim 700$ complete carb. genomes available from GenBank</sub></sup> --- count:false # 110 carbapenem-resistant bacteria in Basel over 7 years .left-column[![:scale 480](/figs/basel/carb/overview_table_small_left.svg)] .left-column[![:scale 480](/figs/basel/carb/overview_table_small_right.svg)] * Isolated from patients at University Hospital - <sup><sub>Chosen based on exhibiting carb. resistant phenotype</sup></sub> * One of largest sequencing studies of its kind to date - <sup><sub>Increased # of complete Klepne by $\sim 10\%$ </sub></sup> - <sup><sub>Supplemented w/ $\sim 700$ complete carb. genomes available from GenBank</sub></sup> .center[**Use reconstruction of whole plasmids to study dynamics**] --- # Resistance plasmids are not static .center[ ![:scale 850](/figs/basel/ext/plasmid_synteny_compare_simple.svg) ] .footnote[.cite[Silke, Peter et al. Tracking of antibiotic resistance transfer and rapid plasmid evolution in a hospital setting by Nanopore sequencing. biorxiv 2019]] -- #### Given our samples, we measure: * How many plasmids is each carbapenemase found on * Rate at which plasmids are transferred * Rate at which plasmids exchange genes --- count:false # Current comparative techniques don't scale .center[ ![:scale 800](/figs/basel/ext/plasmid_synteny_compare.svg) ] --- # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_base_2.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_homologous_2.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_2.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_three_base.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_three_1.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_three_2.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_three_final.svg)] --- count:false # Collect plasmids into a synteny graph .center[![:scale 850](/figs/basel/ext/plasmid_graph_cartoon_three_final_annotated.svg)] --- # An interactive way to view multiple genome alignments .center[ <video width="840" height="600" controls loop> <source src="/vids/intro.mp4" type="video/mp4"> </video> ] --- # The core "backbone" of a plasmid .center[![:scale 800](/figs/basel/carb/cluster066_step1.svg)] --- count:false # The core "backbone" of a plasmid .center[![:scale 800](/figs/basel/carb/cluster066_step2.svg)] --- count:false # The core "backbone" of a plasmid .center[![:scale 800](/figs/basel/carb/cluster066_master.svg)] --- # Has evolution shaped the diversity of paths? .middle[ .center[![:scale 1000](/figs/basel/ext/rise_of_resistance.svg)] ] --- # Blocks encompass multiple genes .left-column[ .center[ ![:scale 450](/figs/basel/carb/plasmid_graph_block_aln_len_2.svg) ] ] .right-column[ .center[ ![:scale 450](/figs/basel/carb/graph_block_size.svg) ] ] --- # Blocks are approximately clonal .left-column[ .center[ ![:scale 450](/figs/basel/carb/plasmid_graph_block_aln_div_2.svg) ] ] .right-column[ .center[ ![:scale 450](/figs/basel/carb/graph_block_diversity_cdf.svg) ] ] --- # Count blocks as evolutionary events .right-column[ Simple interplasmid distance: # breakpoints .center[![:scale 300](/figs/basel/carb/cartoon_matrix_base.svg)] ] --- count:false # Count blocks as evolutionary events .left-column[ .center[![:scale 450](/figs/basel/ext/plasmid_graph_cartoon_marginal_AB.svg)] .center[**Plasmids A/B**] ] .right-column[ Simple interplasmid distance: # breakpoints .center[![:scale 300](/figs/basel/carb/cartoon_matrix_ab.svg)] ] --- count:false # Count blocks as evolutionary events .left-column[ .center[![:scale 450](/figs/basel/ext/plasmid_graph_cartoon_marginal_BC.svg)] .center[**Plasmids A/C**] ] .right-column[ Simple interplasmid distance: # breakpoints .center[![:scale 300](/figs/basel/carb/cartoon_matrix_bc.svg)] ] --- count:false # Count blocks as evolutionary events .left-column[ .center[![:scale 450](/figs/basel/ext/plasmid_graph_cartoon_marginal_AC.svg)] .center[**Plasmids B/C**] ] .right-column[ Simple interplasmid distance: # breakpoints .center[![:scale 300](/figs/basel/carb/cartoon_matrix_ca.svg)] ] --- # Structural tree captures history .center[ ![:scale 225](/figs/basel/carb/kpc_matrix.svg) ![:scale 815](/figs/basel/carb/kpc_synteny_clean_1.svg) ] --- count:false # Structural tree captures history .center[ ![:scale 225](/figs/basel/carb/KPC_insertion_pair.png) ![:scale 815](/figs/basel/carb/kpc_synteny_clean_2.svg) ] --- count:false # Structural tree captures history .center[ ![:scale 225](/figs/basel/carb/KPC_insertion_pair.png) ![:scale 815](/figs/basel/carb/kpc_synteny_clean_base.svg) ] -- #### Repeat for other carbapenemases * OXA-48 found on one plasmid; many different genomes * NDM found on many plasmids; only transposon shared --- # Surveillance of resistance requires new approaches -- .left-column[ .center[ .middle[ _Traditional approach insufficient due to HGT_ ![:scale 180](/figs/basel/ext/HGT.png) ] ] ] -- .right-column[ .middle[ .center[ _Long read sequencing to resolve genome_ ![:scale 230](/figs/basel/carb/canu_to_spades.png) ] ] ] -- .left-column[ .middle[ .center[ _Plasmid alignment infers rearrangements_ ![:scale 300](/figs/basel/ext/plasmid_graph_cartoon_three_final.svg)] ] ] -- .right-column[ .middle[ .center[ _Structural comparison provides history_ ![:scale 450](/figs/basel/carb/kpc_synteny_clean_base.svg) ] ] ] --- # Acknowledgements .twoThirdsLeft[![:scale 600](/figs/basel/carb/ackw.png)] .block[ My collaborators * <sup><sub>Eric Ulrich</sub></sup> * <sup><sub>Daniel Wurthrich</sub></sup> * <sup><sub>Vladimira Hinic</sub></sup> * <sup><sub>Adrian Egli</sub></sup> * <sup><sub>Richard Neher</sub></sup> You all for listening ]