Background
Our overall aim for this computer lab is to perform core genome Multi-Locus Sequencing Typing (cgMLST) analysis, a genome-based typing method widely adopted in bacterial genomic surveillance networks across the globe.
As discussed in the lecture, the widespread adoption of cgMLST is due in large part to recent advances in high-throughput sequencing, which have enabled the routine deployment of whole genome sequencing (WGS) in microbial surveillance. Concomitant with the wider availability of WGS data has been the need to develop approaches to analyze these data. Part of this effort has centered on adapting the Multi-Locus Sequence Typing approach originally described by Maiden et al. (1998) to genome scales and coupling it to existing microbial surveillance infrastructure. The implementation of cgMLST by the PulseNet Canada and the wider PulseNet International network for foodborne outbreak surveillance has made it possible for WGS data to be used as evidence in public health investigations and public health interventions.
You will conduct a retrospective analysis on data from a hypothetical enteric pathogen that is primarily transmitted to humans through the consumption of contaminated foods and water. The dataset comprises allele data and contextual metadata on isolates collected from human and non-human surveillance and may include potential outbreaks. We have provided you with this R markdown
file composed of a custom workflow written in the R language for statistical computing that includes modules to perform various steps in genomic epidemiologic analysis using cgMLST data. The workflow comprises:
- Identifying low quality, accessory and core loci in the dataset
- Identifying genomes with low quality allele profiles and dataset quality control
- Computing cgMLST distances using the Hamming distance
- Hierarchical clustering of cgMLST distance matrices
- Extracting genomic clusters at different similarity thresholds
- Analyzing genomic clusters for variables of interest
- Visualizing basic dendrograms annotated with epidemiological metadata
Your challenge will be to leverage the tools and data at your disposal to establish high quality cgMLST profiles that can be used to infer genetic relatedness and to explore patterns in the data in order to synthesize possible interpretations based on all available genomic and epidemiological data, including possible outbreaks and their potential sources.
Learning Objectives
- The significance of metrics used for cgMLST quality control
- Core and accessory loci and their use in MLST analysis
- Computing similarity matrices and building dendrograms from MLST data
- Distance thresholding to generate genomic clusters for downstream analyses
- Using the ggtree R library for tree visualizations
- Linking epidemiological data to dendrograms to infer possible outbreak scenarios
Time line for training
Day 1: Pre-processing and preliminary analyses
a. Dataset QC & curation based on allele completion rates
- Analysis of allele completion rates for each locus to define core loci (+ accessory loci) for cgMLST
- For each genome, analysis of completion rates of core loci to flag low-quality genomes for exclusion
- Finalization of dataset –> genomes with good completion rate metrics for core loci
b. Clustering of dataset
- Generation of Hamming distance matrix
- Hierarchical clustering of Hamming distance matrix
c. Genomic cluster extraction at multiple thresholds
- Extraction of genomic cluster membership at all possible similarity thresholds
- Extraction of genomic cluster membership at key similarity thresholds
d. Evaluation of genomic clusters (Part 1)
- Analysis of genomic clusters using metadata variables of interest via summary tables
Day 2: Visualizations to facilitate analysis
a. Evaluation of genomic clusters (Part 2)
- Analysis of genomic clusters using metadata variables of interest via stacked histogram
b. Visualizations using full dendrograms
- Visualization of clustered distance matrix as a heatmap
- Visualization of annotated radial and rectangular dendrograms
- Visualization of individual genomic clusters using annotated sub-trees
The code is intended so that it can be re-used on similar allelic data. This dataset consists of allelic profiles from isolates recovered from samples collected from a diverse range of geographical regions in Canada, different sources, and dating back to the early 2000s.
Because generating assemblies from raw reads and allele calling are computationally and time-intensive steps in the analysis, in this exercise we will be using pre-computed allelic data generated from WGS assemblies using the commercial software BioNumerics, which is currently used by the PulseNet International network.
Getting Started
Let’s begin by installing (if needed) and loading all R packages and helper scripts required to run all the code in this lab.
[Every time you begin a new R session, you must reload all the packages and scripts!]{.underline}
# install packages requiring BiocManager
if (!requireNamespace('BiocManager', quietly = TRUE))
install.packages('BiocManager')
if (!requireNamespace('ComplexHeatmap', quietly = TRUE))
BiocManager::install('ComplexHeatmap')
if (!requireNamespace('treedataverse', quietly = TRUE))
BiocManager::install("YuLab-SMU/treedataverse")
# install other packages
required_packages <- c("tidyverse", "data.table", "BiocManager", "plotly", "ggnewscale", "circlize",
"randomcoloR", "phangorn", "knitr", "purrr", "here", "scales", "remotes","reactable")
not_installed <- required_packages[!required_packages %in% installed.packages()[,"Package"]]
if (length(not_installed) > 0) {
install.packages(not_installed, quiet = TRUE)
}
# load packages
suppressPackageStartupMessages(library(tidyverse))
suppressPackageStartupMessages(library(data.table))
suppressPackageStartupMessages(library(treedataverse))
suppressPackageStartupMessages(library(plotly))
suppressPackageStartupMessages(library(ggnewscale))
suppressPackageStartupMessages(library(ComplexHeatmap))
suppressPackageStartupMessages(library(circlize))
suppressPackageStartupMessages(library(randomcoloR))
suppressPackageStartupMessages(library(RColorBrewer))
suppressPackageStartupMessages(library(phangorn))
suppressPackageStartupMessages(library(knitr))
suppressPackageStartupMessages(library(here))
suppressPackageStartupMessages(library(purrr))
suppressPackageStartupMessages(library(scales))
suppressPackageStartupMessages(library(reactable))
## source helper R scripts
source("src/ggtree_helper.R")
source("src/cluster_count_helper.R")
source("src/cluster_helper.R")
source("src/cgmlst_helper.R")
Next, read the wgMLST data and metadata into memory using fread()
from the data.table
package. the input data are located in the folder data
# define path for wgmlst data and metadata using here() from 'here' package
wgmlst_path <- here("data","wgMLST_calls","wgMLST.tsv")
meta_path <- here("data","metadata","meta_all.tsv")
## load wgMLST data
wgMLST <- fread(wgmlst_path,sep = "\t")
meta<- fread(meta_path,sep = "\t")
[Throughout this markdown file, editable parts of the code (e.g. parameters, commands) have been highlighted in the code chunks via commenting.]{.underline} You are highly encouraged to adjust them to observe how different parameters affect the outcome.
Day 1: Pre-processing and preliminary analyses
Compute completeness for all loci based on initial set of genomes
We first need to evaluate cgMLST data quality by applying criteria to determine whether the properties of the allele profiles meet quality standards. Incomplete genome assemblies will generate missing information in the form of unassigned allele calls when loci collide with gaps in assemblies. Accessory loci can similarly generate significant numbers of unsassigned alleles since they are not necessary present on a given genome. Even modest levels of unassigned alleles will compromise the precision of genetic similarity calculations used for inferring relationships between the various genomes in dataset. Hence, care must be taken to exclude loci/genomes with excessive levels of unassigned alleles.
Our first step will be to compute basic allele completion stats on every locus and every genome in the dataset by running the code chunk below:
# use compute_lc helper function to compute
# allele assig*nment rate (completeness)
# across all loci
loci_completeness <- compute_lc(wgMLST)
# write raw summary to quality_summary sub-folder in the output folder
write.table(loci_completeness, here("output","quality_summary","wgmlst_loci_quality.stats.tsv"),
quote = F, row.names = F, sep = "\t")
# plot of allele distribution across genomes using function "plot_loci_completeness"
plot_loci_completeness(loci_completeness)
# print summary statistics for loci completeness
summary(loci_completeness)
## locus valid_alleles missing_alleles completeness
## Length:1343 Min. : 0.0 Min. : 0.00 Min. : 0.00
## Class :character 1st Qu.:400.0 1st Qu.: 0.00 1st Qu.: 99.50
## Mode :character Median :402.0 Median : 0.00 Median :100.00
## Mean :391.3 Mean : 10.71 Mean : 97.34
## 3rd Qu.:402.0 3rd Qu.: 2.00 3rd Qu.:100.00
## Max. :402.0 Max. :402.00 Max. :100.00
Note that within the main R studio pane, all plots can be popped out to a new window by clicking on the left-most button at the top right of the plot. Questions: Based on the table above, can you tell roughly how many loci have full assignment across the initial set of 402 genomes in the dataset? What breakdown of core/accessory genes can you predict at this stage of the analysis? Based on the plot, how many genomes would definitely need to be excluded based on exceeding a >1% missing allele threshold if all 1343 loci are used?
cgMLST Quality Control
If an allele table contains accessory loci, these should be excluded from cgMLST analysis. Because they are expected to be found on an assembly of decent quality, core loci are an extremely powerful tool in the evaluation of genomes for QC. Part of the process of defining a cgMLST schema is in identifying the core loci to include (and the accessory loci to exclude!) from the analysis. The challenge lies with the fact that unless you have access to a pre-defined set of core loci via an existing cgMLST schema, you must first define these core loci by using completeness in the dataset. However, genomes with an excess of unassigned alleles will result in the needless exclusion of loci wrongly flagged as accessory on the basis of incompleteness. At the same time, the inclusion of accessory loci during the quality assessment of genomes will result in the needless exclusion of genomes wrongly flagged as poor quality simply because of missing accessory loci. We’re stuck in a classic case of trying to fly an airplane while flying it.
Accessory genes can be used in MLST analysis but their use must be highly prescribed. Although, as mentioned above, their presence on a given genome is a bit of a coin-flip, patterns of accessory gene presence tend to follow along genomic sublineages. So using accessory genomes to examine more limited subsets of highly-related genomes can provide additional discriminatory power. But when dealing with datasets of unknowns, core loci provide the most robust solution.
The ultimate goal here is to define a set of core loci that can be used for genome QC. So we have to implement a phased-in approach to attempt to tease apart unassigned allele calls from accessory loci from unassigned calls due to incomplete assemblies. Here, we use the compute_gc
helper function to compute the allele completion rate for each locus using a large sample that excludes genomes suspected to be of poor quality. We create this sample by applying a user-defined cut-off currently set to use the top 75% genomes in terms of overall allele calls (i.e. the 75% genome cohort). This ensures that we side-step genomes with lots of unassigned allele calls since these will skew locus completeness, affecting the identification of core loci. This also ensures that a sufficiently large enough number of genomes is being used to define core loci that should be identifiable on a typical high quality genome in the dataset. Here, we define a core locus as having a completion rate above 99.5% in the 75% genome cohort.
The process to define a core schema that we describe here is a bit ad hoc but it will do in a pinch. We suggest using a more formal schema-building tool if you are embarking in the analysis of an oganism without one. For example, software tools like chewBBACCA have been developed to automate and bring rigor to the schema-building process.
Once core loci have been identified, it’s time to circle back and re-compute the completion rate for these core loci only. Because core loci should be present in every genome, any unassigned calls are due to genome quality issues. We thus apply a genome inclusion/exclusion quality threshold currently set to 99% so that genomes with >1% unassigned core loci are excluded from further analysis.
The code chunk below proceeds through a series of steps to compute the frequency of unassigned alleles across each locus (i.e. columns) and each genome (i.e. rows) in the allele table. This information will be used to estimate a set of loci that are core to the genomes in the dataset, and these will subsequently inform the identification of poor quality loci/genomes to exclude from downstream analyses.
# Identification of core loci using compute_gc helper function
genome_completion<- compute_gc(wgMLST)
# identify cohort of higher quality genomes to be used for assessing completion rate to identify core loci
top_genomes <- genome_completion%>%
arrange(desc(valid_alleles))%>%
slice(1:as.integer(nrow(genome_completion)*0.75)) # Adjustable parameter currently set to 75%
# filter for the top X% (e.g. 75%) of genomes based on overall allele completion
top_wgMLST <- wgMLST%>%
filter(ID%in%top_genomes$ID)
## compute allele assignment rate (i.e. completeness) using compute_lc helper for the top 75% cohort
top_genome_completion <- compute_lc(top_wgMLST)
## define core_threshold and core loci using a user-defined comleteness threshold (e.g. 99.5%) using the top 75% cohort
core_loci <- top_genome_completion %>%
filter(completeness >99.5 ) ## Core loci defined as present in >99.5% of 75% cohort
# compute quality assessment (QA) for all genomes using the core_loci using the compute_gc() helper
cgmlst <- wgMLST%>%select(1, core_loci$locus)
cgmlst_genome_completion <- compute_gc(cgmlst)
# define quality control (QC) threshold for the maximum percentage of missing cgMLST calls for inclusion/exclusion
QC_threshold <- as.integer(ncol(cgmlst)*0.01) + 1 ## Up to 1% missing core loci per genome allowed
## create cgMLST QC report (1: meets the QC standard, 0: fails the QC standard)
cgmlst_QC <- cgmlst_genome_completion %>%
mutate(QC_cgmlst = case_when(missing_alleles < QC_threshold ~ 1,
T ~ 0))
# output cgMLST quality file
write.table(cgmlst_QC, here("output","quality_summary","cgmlst_genome_qual.stats.tsv"),
quote = F, row.names = F, sep = "\t")
# print data summary of cgmlst completeness
summary(cgmlst_genome_completion)
## ID valid_alleles missing_alleles completeness
## Length:402 Min. :1066 Min. : 0.000 Min. : 96.73
## Class :character 1st Qu.:1100 1st Qu.: 0.000 1st Qu.: 99.82
## Mode :character Median :1102 Median : 0.000 Median :100.00
## Mean :1100 Mean : 2.226 Mean : 99.80
## 3rd Qu.:1102 3rd Qu.: 2.000 3rd Qu.:100.00
## Max. :1102 Max. :36.000 Max. :100.00
Questions: The table above describes summary statistics for the set of core loci defined by the process for this particular dataset. Based on these data: how many core loci have been designated? How many genomes definitely pass a quality threshold based on < 1% missing alleles?
Generate finalized dataset utilizing custom cgMLST schema based on the core loci identified above
We have identified core loci and have used them to assess genome quality on the original genomes in the dataset. It’s time to put it all together and finalize the dataset by generating an x by y allele table comprising the allelic profiles of x high quality genomes at y core loci by running the code chunk below:
# define final genomes that passed QC step
final_genomes <- cgmlst_QC %>%
filter(QC_cgmlst > 0)
# define final cgMLST allele table based on QC-passed genomes & core loci
cgmlst_final <- cgmlst%>%
filter(ID%in%final_genomes$ID)
# define final cgMLST meta data table by excluding QC-failed genomes
metadata <- meta %>%
filter(ID%in%cgmlst_final$ID)%>%
mutate(across(everything(), as.character))
# write finalized cgMLST allele table and metadata table to files
write.table(cgmlst_final, here("data","wgMLST_calls","cgmlst_final.tsv"),
quote = F, row.names = F, sep = "\t")
write.table(metadata, here("data","metadata","cgmlst_final_metadata.tsv"),
quote = F, row.names = F, sep = "\t")
# print filtering results
message(paste("Number of original loci:", ncol(wgMLST)-1))
## Number of original loci: 1343
message(paste("Number of core loci included:", ncol(cgmlst_final)-1))
## Number of core loci included: 1102
message(paste("Number of accessory loci excluded:",ncol(wgMLST)- ncol(cgmlst_final)-1))
## Number of accessory loci excluded: 240
message(paste("Number of genomes before filter:", nrow(cgmlst_genome_completion)))
## Number of genomes before filter: 402
message(paste("Number of genomes after filter:", nrow(cgmlst_final)))
## Number of genomes after filter: 381
message(paste("Number of genomes removed:",nrow(cgmlst_genome_completion)-nrow(cgmlst_final)))
## Number of genomes removed: 21
Questions: How do your earlier predictions compare against these final numbers? i.e. did the process yield more accessory loci or high quality genomes than you predicted?
Calculating the Hamming Distance
The traditional approach for cgMLST analysis is based on computing pairwise distances between allele profiles as a proxy for the underlying genetic similarity between two isolates. Below, you are introduced to a distance metric called the Hamming distance, which is based on computing the number of differences between a pair of character vectors. The Hamming distance is useful for comparing profiles where a majority of characters are defined, such as profiles comprising core loci.
Given two character vectors of equal lengths, the Hamming distance is the total number of positions in which the two vectors are [different:]{.underline}
Profile A: [ 0 , 2 , 0 , 5 , 5 , 0 , 0 , 0 , 0 ]
Profile B: [ 0 , 1 , 0 , 4 , 3 , 0 , 0 , 0 , 0 ]
A != B: [ 0 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 0 ]
Hamming distance = sum( A != B )
= 3
In phylogenetic analysis, distance-based approaches are rather flexible in the sense that they can be constructed from any measure that estimates genetic similarity through the direct comparison of data points. In cgMLST, we compare allele profiles. In Mash, we compare k-mer profiles.
In the context of two cgMLST profiles, the Hamming distance is calculated based on the number of allele differences across all loci as a proportion of total number of loci evaluated.
cgMLST profiles are composed of mostly complete data. If you were to include accessory loci, not that you will, this will introduce substantial “null” or missing data. In such cases, distance metrics such as the Jaccard distance may be much more appropriate, although that is beyond the scope of this lab.
Hamming distances will be computed in an all vs. all fashion to generate a pairwise distance matrix that will subsequently serve as the input for distance-based tree-building algorithms. Run the following code chunk:
# use hamming helper function to compute pairwise Hamming distance of final cgMLST dataset
# loading user_defined cgMLST final dataset
# cgmlst_final <- fread(here("data","wgMLST_calls","cgmlst_final.tsv"))
# compute Hamming distance
# PATIENCE!!! this step might take several minutes depending on the size of the dataset
dist_mat <- cgmlst_final %>%
column_to_rownames("ID") %>%
t() %>%
hamming()
# the dimension should be symmetric and should be the size of dataset (i.e. number of QC-passed genomes)
dim(dist_mat)
## [1] 381 381
Nothing to see here…we print the matrix dimensions as a sanity check and to indicate the process is complete.
Hierarchical Clustering of cgMLST profiles by Hamming distance
In this section we will be performing hierarchical clustering of the Hamming distance matrix using the Unweighted Pair Group Method with Arithmetic Mean (i.e. UPGMA) algorithm. We’re not going to lie. UPGMA is just about the most basic and unsophisticated clustering algorithm out there. However, UPGMA is still widely used and is the default clustering implementation in the BioNumerics software currently used by PulseNet.
In the lecture, we discussed eBURST, originally developed to cluster conventional 7-gene MLST, and GrapeTree, which was recently developed to analyze genome-scale datasets.
Let’s cluster the Hamming distance matrix by running the code chunk below:
# compute hierarchical clustering with hclust function and complete linkage method
hc <- dist_mat%>%
as.dist() %>%
hclust(method = "complete")
# reorder distance matrix according to the hc order
dist_mat <- dist_mat[hc$order, hc$order]
# write reordered distance matrix to files
write.table(dist_mat, here("output","clusters","dist_mat_ordered_cgmlst.tsv"),
quote = F, row.names = F, sep = "\t")
Cluster extraction at multiple distance thresholds
Identifying clusters of genomes sharing highly similar cgMLST profiles through the application of distance thresholds is a common practice in genomic surveillance and epidemiological investigations. These genomic clusters can become “analytical units” that can be tracked across space and time:
- The detection of a novel genomic cluster comprising isolates from multiple human clinical cases can signal the emergence of an outbreak, thus requiring a public health response in order to contain further cases.
- An examination of the evolving genomic cluster over time can provide important epidemiological insights on outbreak progression.
- The co-clustering of outbreak isolates with isolates from food/environmental sources can assist epidemiologists investigating an outbreak by linking the outbreak isolates to isolates from possible sources/reservoirs of the pathogen.
Identifying cluster membership for every isolate in the dataset at multiple distance thresholds gives us the analytical flexibility to define suitable thresholds for analyzing the pathogen in question. From a practical perspective, a threshold that is too fine-grained will yield a large proportion of the dataset in singleton clusters, making it difficult to link outbreak isolates to one another and to potential outbreak sources. Conversely, using a threshold that is not fine-grained enough will fail to fully exploit the discriminatory power of genomic data, grouping outbreak and non-outbreak isolates indiscriminately.
Adjusting similarity thresholds for cluster membership can be used to tweak the granularity of clusters: higher distance threshold produce larger clusters whereas lower distance thresholds will produce smaller clusters. A threshold of 0 will generate clusters with identical profiles.
In this section, we will harness the awesome power of the cutree
R function to extract genomic clusters from the cgMLST dataset. This function allows us to generate cluster membership information at any given distance threshold, which can be used to generate summary tables that are foundational to computing genomic cluster statistics. The cutree
function is infinitely flexible, allowing us to specify multiple distance cutoffs in parallel. In this lab, we will use this approach to compare how adjusting the threshold can be used to adjust the granularity of the resulting genomic clusters. We will then use cluster information to annotate a dendrogram. By analyzing cluster memberships and the associated metadata, we will look for possible outbreaks in the dataset.
For membership at all possible distance thresholds, run the following code chunk:
# Define genomic cluster membership at all possible distance thresholds
cgmlst_loci = (ncol(cgmlst_final)-1) ## maximum distance
interval = 1 ## edit interval of interest; currently set to 1 for all possible thresholds
thresholds <- seq(0, cgmlst_loci,interval)
# extract cluster membership across multiple thresholds
cluster_membership <- map(thresholds, function(x) {
hc %>%
cutree(h = x) %>%
as.factor()
})
# create name for each threshold
names(cluster_membership) <- paste0("Threshold_", thresholds)
# print clustering results table, no duplicated names are allowed
(
clusters_all <- data.frame(cluster_membership ) %>%
rownames_to_column("ID")
)
# reactable(clusters_all)
# write file of genomic cluster memberships at multiple thresholds
write.table(clusters_all, here("output","clusters","clusters_all.tsv"),
quote = F, row.names = F, sep = "\t")
Questions: How many distinct thresholds are theoretically possible for this dataset? How would you determine the maximum number of allele differences across all genomes in the dataset based on the table above? hint: at some threshold, all genomes collapse to the same cluster…
For membership at select distance thresholds, run the following code chunk:
# Define genomic cluster membership at user-defined distance thresholds
# Can either specify specific thresholds as a numeric vector i.e. c(0, 5, 10, 15)
# If you're feeling lazy, you can also specify using c(seq(5, 100, 5)), which stands for "go from threshold 5 to 100 in
# increments of 5". You can also string multiple notations together within the same numerical vector.
thresholds <-c(0, seq(5, 100, 5), seq(200, cgmlst_loci, 100)) # currently reads as "use threshold 0,
# then from 5 to 100 in increments of 5
# then from 200 to maximum threshold
# in increments of 100"
# extract cluster membership across multiple thresholds
cluster_membership <- map(thresholds, function(x) {
hc %>%
cutree(h = x) %>%
as.factor()
})
# create name for each threshold
names(cluster_membership) <- paste0("Threshold_", thresholds)
# print clustering results table, no duplicated names are allowed
(
user_defined_clusters <- data.frame(cluster_membership ) %>%
rownames_to_column("ID")
)
# write file
write.table(user_defined_clusters, here("output","clusters","user_defined_clusters.tsv"),
quote = F, row.names = F, sep = "\t")
Questions: How many user-defined thresholds have we generated in the settings provided here? Which cluster does genome “ID9438” belong to at a threshold of 60 allele differences? How would you determine how many different clusters were generated at each particular threshold?
Genomic cluster summary tables
In this section, we will use the helper function count_variables_by_cluster
to generate summary tables that calculate counts for variables of interest across all of the genomic clusters in the dataset defined at a particular threshold. These variables are based on categories and subcategories contained in the metadata table. For example, if one of the categories in the metadata table is “Source”, the function will give us a breakdown of the source counts for each genomic cluster in the dataset (e.g. human, cattle, chicken, etc) . These cluster summaries can provide valuable insights on cluster composition, including regional, temporal, or source biases. Although such tables are not flashy, they are very useful for generating counts and statistics across all genomic clusters.
Run the code chunk below:
# assign clusters_all to clusters for visualization
clusters <- clusters_all
summary_table <- count_variables_by_cluster(
# dist threshold used for cluster definition, can be adjusted; currently set to 50.
# Note: the specificed threshold must be one of the user-defined thresholds in previous section
distance_threshold = 50,
vars = c("Source") # metadata variables to be used in cluster breakdown; currently using Source.
# Can include more than one variable
)
reactable(summary_table) # to see complete table, click on the summary_table object in the Global Environment panel in the # top right hand corner -->
<div class="reactable html-widget html-fill-item" id="htmlwidget-9eceb20dc2a931752ae4" style="width:auto;height:auto;"></div>
<script type="application/json" data-for="htmlwidget-9eceb20dc2a931752ae4">{"x":{"tag":{"name":"Reactable","attribs":{"data":{"cluster":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76"],"Count":[14,4,1,8,1,1,28,1,15,27,10,3,5,4,4,1,1,1,2,2,5,12,6,32,5,1,15,12,1,6,3,1,11,6,4,5,1,1,1,2,6,1,4,1,5,5,1,1,5,1,4,33,6,1,13,6,1,1,1,1,1,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1],"Cattle":[3,2,0,2,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,6,0,10,0,0,9,2,0,0,1,0,0,0,0,2,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,1,1,0,0,0,0],"Chicken":[0,2,1,2,0,0,1,0,12,10,5,3,2,4,4,1,1,1,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Human":[11,0,0,4,1,1,24,1,3,5,5,0,0,0,0,0,0,0,0,0,1,4,0,22,5,1,6,10,1,6,2,1,10,6,4,3,1,1,1,0,5,0,4,1,5,5,1,1,4,1,4,0,0,0,0,0,0,1,1,1,1,1,2,0,0,1,1,1,1,1,0,0,0,1,1,1],"Raccoon":[0,0,0,0,0,0,0,0,0,11,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Skunk":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"Water":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,5,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,1,13,5,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0]},"columns":[{"id":"cluster","name":"cluster","type":"character"},{"id":"Count","name":"Count","type":"numeric"},{"id":"Cattle","name":"Cattle","type":"numeric"},{"id":"Chicken","name":"Chicken","type":"numeric"},{"id":"Human","name":"Human","type":"numeric"},{"id":"Raccoon","name":"Raccoon","type":"numeric"},{"id":"Skunk","name":"Skunk","type":"numeric"},{"id":"Water","name":"Water","type":"numeric"}],"dataKey":"3597068a0ea895ffcbebe6f4398215ee"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}</script>
Questions: How many human isolates are contained in cluster 22 at a threshold of 50 allele differences? Based on the characteristics of the cluster, what is the likely source of infection? What about cluster 24?
Day 2: Visualizations to facilitate analysis
Genomic cluster stacked histogram
Another useful tool in terms of exploring genomic cluster trends is to display cluster breakdown data such as we previously displayed in the summary tables described above in the form of a stacked histogram. The purpose of the function cluster_summary
is to compare metadata variable distributions across all genomic clusters defined at a given distance threshold by generating one stacked histogram per metadata category. The resulting stacked histograms can be used to quickly scan through and examine all clusters for categorical variables to identify clusters with biased composition.
Metadata variables can be used to probe for genomic clusters with specific biases (i.e. source, regional, temporal, etc). For example, you may identify a genomic cluster in which 60% of isolates a from human clinical isolates, indicating a lineage that poses a significant human health risk.
Run the following code chunk:
# Generate cluster summaries for stacked histograms
# NOTE: there needs to be a comma at the end of each line of code!
cluster_summary(
distance_threshold = 50, # the distance threshold used for cluster definition; currently set to 50.
clade_name = NULL, # which clade to include?
vars = colnames(meta)[-1], # use metadata variables only
panel.ncol = 2, # number of columns to arrange the panels into
rm.low.freq.clust = T, # Filter to remove low frequency (N < 4) clusters
interactive = T # True/False on whether to generate interactive plots. Currently set to T so that tooltips are enabled
)
<div class="plotly html-widget html-fill-item" id="htmlwidget-f30d7598595affc4f25a" style="width:672px;height:480px;"></div>
<script type="application/json" data-for="htmlwidget-f30d7598595affc4f25a">{"x":{"data":[{"orientation":"v","width":0.90000000000000036,"base":13,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2019_08_14","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(37,29,83,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":9,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2020_11_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(39,196,170,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[22],"y":[1],"text":"cluster: 36<br />count: 1<br />value: 2022_08_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(44,226,231,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":1,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_10_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(45,146,155,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[18],"y":[2],"text":"cluster: 30<br />count: 2<br />value: 2019_08_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(47,58,168,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000568],"base":[3,5,26,3],"x":[2,3,6,33],"y":[1,1,1,2],"text":["cluster: 2<br />count: 1<br />value: Canada_NS","cluster: 4<br />count: 1<br />value: Canada_NS","cluster: 10<br />count: 1<br />value: Canada_NS","cluster: 63<br />count: 2<br />value: Canada_NS"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(51,243,221,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":9,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_06_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(59,128,109,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":7,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2000_06_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(61,116,176,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[25],"y":[1],"text":"cluster: 45<br />count: 1<br />value: 2022_08_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(65,247,197,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":10,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_07_03","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(67,242,171,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":9,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2013_06_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(67,254,67,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":15,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2019_07_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(68,170,156,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":1,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2020_08_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(69,200,101,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[10,0],"x":[17,24],"y":[1,1],"text":["cluster: 28<br />count: 1<br />value: 2018_07_16","cluster: 43<br />count: 1<br />value: 2018_07_16"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(69,230,121,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":12,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2019_09_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(69,236,96,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":0,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2020_08_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(71,166,202,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000568,"base":3,"x":[33],"y":[1],"text":"cluster: 63<br />count: 1<br />value: 2019_10_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(72,104,124,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[29],"y":[1],"text":"cluster: 52<br />count: 1<br />value: 2012_06_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(74,188,120,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":2,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2020_08_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(76,110,228,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2018_04_03","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(76,138,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[13,5,1,0,5,3,2,0,0],"x":[1,5,9,10,13,15,16,21,27],"y":[1,10,3,4,1,2,6,2,1],"text":["cluster: 1<br />count: 1<br />value: Canada_BC","cluster: 9<br />count: 10<br />value: Canada_BC","cluster: 14<br />count: 3<br />value: Canada_BC","cluster: 15<br />count: 4<br />value: Canada_BC","cluster: 23<br />count: 1<br />value: Canada_BC","cluster: 25<br />count: 2<br />value: Canada_BC","cluster: 27<br />count: 6<br />value: Canada_BC","cluster: 35<br />count: 2<br />value: Canada_BC","cluster: 49<br />count: 1<br />value: Canada_BC"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(76,214,170,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000568,"base":1,"x":[33],"y":[1],"text":"cluster: 63<br />count: 1<br />value: 2021_12_29","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(77,196,240,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":10,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2020_09_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(78,222,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999858],"base":[20,6],"x":[6,29],"y":[6,9],"text":["cluster: 10<br />count: 6<br />value: 2011_10_05","cluster: 52<br />count: 9<br />value: 2011_10_05"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(80,251,133,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[11],"y":[1],"text":"cluster: 21<br />count: 1<br />value: 2017_09_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(81,95,192,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":2,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_09_29","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(84,155,235,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":24,"x":[29],"y":[5],"text":"cluster: 52<br />count: 5<br />value: 2011_08_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(87,161,46,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":5,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2022_03_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(90,248,237,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[25],"y":[1],"text":"cluster: 45<br />count: 1<br />value: 2022_09_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(92,181,240,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_07_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(93,27,189,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2022_07_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(93,212,67,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":6,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2021_10_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(95,195,226,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[4,2,3,15,1,3,2,27,3,5,4,0,0,0,0,5,0,4,4,2],"x":[1,2,3,4,5,6,12,14,16,17,18,19,20,21,22,23,25,26,27,33],"y":[3,1,3,11,2,4,6,1,10,6,2,11,6,4,5,1,5,1,1,3],"text":["cluster: 1<br />count: 3<br />value: Early20s","cluster: 2<br />count: 1<br />value: Early20s","cluster: 4<br />count: 3<br />value: Early20s","cluster: 7<br />count: 11<br />value: Early20s","cluster: 9<br />count: 2<br />value: Early20s","cluster: 10<br />count: 4<br />value: Early20s","cluster: 22<br />count: 6<br />value: Early20s","cluster: 24<br />count: 1<br />value: Early20s","cluster: 27<br />count: 10<br />value: Early20s","cluster: 28<br />count: 6<br />value: Early20s","cluster: 30<br />count: 2<br />value: Early20s","cluster: 33<br />count: 11<br />value: Early20s","cluster: 34<br />count: 6<br />value: Early20s","cluster: 35<br />count: 4<br />value: Early20s","cluster: 36<br />count: 5<br />value: Early20s","cluster: 41<br />count: 1<br />value: Early20s","cluster: 45<br />count: 5<br />value: Early20s","cluster: 46<br />count: 1<br />value: Early20s","cluster: 49<br />count: 1<br />value: Early20s","cluster: 63<br />count: 3<br />value: Early20s"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(97,69,201,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":19,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2018_07_31","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(98,88,240,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[23],"y":[1],"text":"cluster: 41<br />count: 1<br />value: 2020_10_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(98,112,48,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[15],"y":[1],"text":"cluster: 25<br />count: 1<br />value: 2019_04_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(98,199,204,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":18,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2018_08_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(99,36,243,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[5,13,11],"x":[14,16,17],"y":[4,2,1],"text":["cluster: 24<br />count: 4<br />value: 2011_07_04","cluster: 27<br />count: 2<br />value: 2011_07_04","cluster: 28<br />count: 1<br />value: 2011_07_04"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(102,160,114,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213,0.90000000000000568],"base":[10,2,5,16,12,18,3,2,11,1,30,12,8,4,7,5,2,1,4,4,19,2,0,0,2],"x":[1,2,3,4,5,6,7,11,12,13,14,16,17,18,19,20,21,23,25,26,29,30,31,32,33],"y":[4,2,3,12,3,9,7,3,1,5,2,3,4,2,4,1,2,5,1,1,14,4,13,6,3],"text":["cluster: 1<br />count: 4<br />value: Fall","cluster: 2<br />count: 2<br />value: Fall","cluster: 4<br />count: 3<br />value: Fall","cluster: 7<br />count: 12<br />value: Fall","cluster: 9<br />count: 3<br />value: Fall","cluster: 10<br />count: 9<br />value: Fall","cluster: 11<br />count: 7<br />value: Fall","cluster: 21<br />count: 3<br />value: Fall","cluster: 22<br />count: 1<br />value: Fall","cluster: 23<br />count: 5<br />value: Fall","cluster: 24<br />count: 2<br />value: Fall","cluster: 27<br />count: 3<br />value: Fall","cluster: 28<br />count: 4<br />value: Fall","cluster: 30<br />count: 2<br />value: Fall","cluster: 33<br />count: 4<br />value: Fall","cluster: 34<br />count: 1<br />value: Fall","cluster: 35<br />count: 2<br />value: Fall","cluster: 41<br />count: 5<br />value: Fall","cluster: 45<br />count: 1<br />value: Fall","cluster: 46<br />count: 1<br />value: Fall","cluster: 52<br />count: 14<br />value: Fall","cluster: 53<br />count: 4<br />value: Fall","cluster: 55<br />count: 13<br />value: Fall","cluster: 56<br />count: 6<br />value: Fall","cluster: 63<br />count: 3<br />value: Fall"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(105,232,203,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[13],"y":[1],"text":"cluster: 23<br />count: 1<br />value: 2013_08_29","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(106,189,158,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[14],"y":[2],"text":"cluster: 24<br />count: 2<br />value: 2009_02_03","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(107,68,161,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[0,0,0],"x":[11,12,33],"y":[5,12,5],"text":["cluster: 21<br />count: 5<br />value: F","cluster: 22<br />count: 12<br />value: F","cluster: 63<br />count: 5<br />value: F"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(107,187,12,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":27,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2007_09_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(109,153,189,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213],"base":[3,6,26,3,7,0,0,0,0,1,8,0,28,13,11,0,0,0,0],"x":[2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,29,30,31,32],"y":[1,2,2,12,20,10,5,4,4,4,4,6,4,2,1,33,6,13,6],"text":["cluster: 2<br />count: 1<br />value: Early10s","cluster: 4<br />count: 2<br />value: Early10s","cluster: 7<br />count: 2<br />value: Early10s","cluster: 9<br />count: 12<br />value: Early10s","cluster: 10<br />count: 20<br />value: Early10s","cluster: 11<br />count: 10<br />value: Early10s","cluster: 13<br />count: 5<br />value: Early10s","cluster: 14<br />count: 4<br />value: Early10s","cluster: 15<br />count: 4<br />value: Early10s","cluster: 21<br />count: 4<br />value: Early10s","cluster: 22<br />count: 4<br />value: Early10s","cluster: 23<br />count: 6<br />value: Early10s","cluster: 24<br />count: 4<br />value: Early10s","cluster: 27<br />count: 2<br />value: Early10s","cluster: 28<br />count: 1<br />value: Early10s","cluster: 52<br />count: 33<br />value: Early10s","cluster: 53<br />count: 6<br />value: Early10s","cluster: 55<br />count: 13<br />value: Early10s","cluster: 56<br />count: 6<br />value: Early10s"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(110,238,176,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":1,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2022_08_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(113,68,34,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[9],"y":[2],"text":"cluster: 14<br />count: 2<br />value: 2013_08_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(113,212,193,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":10,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_05_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(116,180,130,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2022_04_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(118,122,93,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":5,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_07_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(118,247,202,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036],"base":[0,0],"x":[5,7],"y":[1,1],"text":["cluster: 9<br />count: 1<br />value: SK","cluster: 11<br />count: 1<br />value: SK"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(120,136,195,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[6,6,8,2,1,8,0,0,2,0,2,3,1,0],"x":[3,4,7,12,14,16,17,18,21,22,23,24,27,28],"y":[2,22,2,10,31,7,12,6,2,5,4,1,4,4],"text":["cluster: 4<br />count: 2<br />value: AB","cluster: 7<br />count: 22<br />value: AB","cluster: 11<br />count: 2<br />value: AB","cluster: 22<br />count: 10<br />value: AB","cluster: 24<br />count: 31<br />value: AB","cluster: 27<br />count: 7<br />value: AB","cluster: 28<br />count: 12<br />value: AB","cluster: 30<br />count: 6<br />value: AB","cluster: 35<br />count: 2<br />value: AB","cluster: 36<br />count: 5<br />value: AB","cluster: 41<br />count: 4<br />value: AB","cluster: 43<br />count: 1<br />value: AB","cluster: 49<br />count: 4<br />value: AB","cluster: 51<br />count: 4<br />value: AB"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(121,69,189,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":11,"x":[1],"y":[2],"text":"cluster: 1<br />count: 2<br />value: 2000_05_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(124,110,201,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":23,"x":[14],"y":[4],"text":"cluster: 24<br />count: 4<br />value: 2008_06_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(127,239,155,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2013_08_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(128,206,159,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":3,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_09_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(130,190,191,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_07_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(131,38,165,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":10,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2019_10_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(131,144,134,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":7,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2020_07_28","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(131,216,237,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036],"base":[0,0],"x":[5,7],"y":[1,1],"text":["cluster: 9<br />count: 1<br />value: Canada_SK","cluster: 11<br />count: 1<br />value: Canada_SK"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(132,45,101,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[10],"y":[1],"text":"cluster: 15<br />count: 1<br />value: 2013_08_14","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(132,242,75,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036],"base":[5,8],"x":[3,6],"y":[1,1],"text":["cluster: 4<br />count: 1<br />value: 2013_07_25","cluster: 10<br />count: 1<br />value: 2013_07_25"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(133,212,143,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":7,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2018_07_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(134,99,125,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2019_06_13","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(135,176,244,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2023_08_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(135,242,139,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":16,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2019_07_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(136,108,157,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":8,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2020_07_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(137,166,185,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[26],"y":[1],"text":"cluster: 46<br />count: 1<br />value: 2020_01_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(138,197,101,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_07_22","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(138,233,184,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":11,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2008_09_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(138,244,219,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[26],"y":[1],"text":"cluster: 46<br />count: 1<br />value: 2019_12_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(138,245,119,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":2,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2020_08_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(140,151,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":26,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2008_08_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(141,99,94,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_10_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(142,142,181,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_08_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(142,216,87,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_08_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(143,82,102,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":1,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2023_05_08","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(143,190,239,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[22],"y":[1],"text":"cluster: 36<br />count: 1<br />value: 2021_07_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(144,119,248,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":11,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_05_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(144,242,241,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,4,5,6,7,8,9,11,12,15,16,19,20,24,25,26],"y":[3,1,1,2,8,6,1,1,2,1,3,1,10,6,3,5,5],"text":["cluster: 1<br />count: 3<br />value: Canada_QC","cluster: 2<br />count: 1<br />value: Canada_QC","cluster: 7<br />count: 1<br />value: Canada_QC","cluster: 9<br />count: 2<br />value: Canada_QC","cluster: 10<br />count: 8<br />value: Canada_QC","cluster: 11<br />count: 6<br />value: Canada_QC","cluster: 13<br />count: 1<br />value: Canada_QC","cluster: 14<br />count: 1<br />value: Canada_QC","cluster: 21<br />count: 2<br />value: Canada_QC","cluster: 22<br />count: 1<br />value: Canada_QC","cluster: 25<br />count: 3<br />value: Canada_QC","cluster: 27<br />count: 1<br />value: Canada_QC","cluster: 33<br />count: 10<br />value: Canada_QC","cluster: 34<br />count: 6<br />value: Canada_QC","cluster: 43<br />count: 3<br />value: Canada_QC","cluster: 45<br />count: 5<br />value: Canada_QC","cluster: 46<br />count: 5<br />value: Canada_QC"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(147,204,168,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213,0.90000000000000568],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"y":[14,4,8,28,15,27,10,5,4,4,5,12,6,32,5,15,12,6,11,6,4,5,6,4,5,5,5,4,33,6,13,6,5],"text":["cluster: 1<br />count: 14<br />value: Canada","cluster: 2<br />count: 4<br />value: Canada","cluster: 4<br />count: 8<br />value: Canada","cluster: 7<br />count: 28<br />value: Canada","cluster: 9<br />count: 15<br />value: Canada","cluster: 10<br />count: 27<br />value: Canada","cluster: 11<br />count: 10<br />value: Canada","cluster: 13<br />count: 5<br />value: Canada","cluster: 14<br />count: 4<br />value: Canada","cluster: 15<br />count: 4<br />value: Canada","cluster: 21<br />count: 5<br />value: Canada","cluster: 22<br />count: 12<br />value: Canada","cluster: 23<br />count: 6<br />value: Canada","cluster: 24<br />count: 32<br />value: Canada","cluster: 25<br />count: 5<br />value: Canada","cluster: 27<br />count: 15<br />value: Canada","cluster: 28<br />count: 12<br />value: Canada","cluster: 30<br />count: 6<br />value: Canada","cluster: 33<br />count: 11<br />value: Canada","cluster: 34<br />count: 6<br />value: Canada","cluster: 35<br />count: 4<br />value: Canada","cluster: 36<br />count: 5<br />value: Canada","cluster: 41<br />count: 6<br />value: Canada","cluster: 43<br />count: 4<br />value: Canada","cluster: 45<br />count: 5<br />value: Canada","cluster: 46<br />count: 5<br />value: Canada","cluster: 49<br />count: 5<br />value: Canada","cluster: 51<br />count: 4<br />value: Canada","cluster: 52<br />count: 33<br />value: Canada","cluster: 53<br />count: 6<br />value: Canada","cluster: 55<br />count: 13<br />value: Canada","cluster: 56<br />count: 6<br />value: Canada","cluster: 63<br />count: 5<br />value: Canada"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(148,212,244,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[6,6,8,2,1,8,0,0,2,0,2,3,1,0],"x":[3,4,7,12,14,16,17,18,21,22,23,24,27,28],"y":[2,22,2,10,31,7,12,6,2,5,4,1,4,4],"text":["cluster: 4<br />count: 2<br />value: Canada_AB","cluster: 7<br />count: 22<br />value: Canada_AB","cluster: 11<br />count: 2<br />value: Canada_AB","cluster: 22<br />count: 10<br />value: Canada_AB","cluster: 24<br />count: 31<br />value: Canada_AB","cluster: 27<br />count: 7<br />value: Canada_AB","cluster: 28<br />count: 12<br />value: Canada_AB","cluster: 30<br />count: 6<br />value: Canada_AB","cluster: 35<br />count: 2<br />value: Canada_AB","cluster: 36<br />count: 5<br />value: Canada_AB","cluster: 41<br />count: 4<br />value: Canada_AB","cluster: 43<br />count: 1<br />value: Canada_AB","cluster: 49<br />count: 4<br />value: Canada_AB","cluster: 51<br />count: 4<br />value: Canada_AB"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(149,142,222,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":29,"x":[29],"y":[3],"text":"cluster: 52<br />count: 3<br />value: 2011_08_09","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(149,176,146,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2022_06_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(149,196,227,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_09_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(149,223,187,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000568,"base":0,"x":[33],"y":[1],"text":"cluster: 63<br />count: 1<br />value: 2023_08_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(150,224,138,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2020_10_02","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(151,126,192,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":5,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2019_09_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(153,96,153,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2023_10_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(154,81,236,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":16,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2012_12_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(156,242,168,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000013,"base":0,"x":[2],"y":[1],"text":"cluster: 2<br />count: 1<br />value: 2020_09_21","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(158,239,46,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[10],"y":[1],"text":"cluster: 15<br />count: 1<br />value: 2013_02_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(158,253,215,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,3,4,5,6,11,12,14,15,16,17,18,24,26,28,33],"y":[3,1,1,11,1,2,1,2,4,5,3,5,4,4,4,1,2],"text":["cluster: 1<br />count: 3<br />value: Late10s","cluster: 2<br />count: 1<br />value: Late10s","cluster: 4<br />count: 1<br />value: Late10s","cluster: 7<br />count: 11<br />value: Late10s","cluster: 9<br />count: 1<br />value: Late10s","cluster: 10<br />count: 2<br />value: Late10s","cluster: 21<br />count: 1<br />value: Late10s","cluster: 22<br />count: 2<br />value: Late10s","cluster: 24<br />count: 4<br />value: Late10s","cluster: 25<br />count: 5<br />value: Late10s","cluster: 27<br />count: 3<br />value: Late10s","cluster: 28<br />count: 5<br />value: Late10s","cluster: 30<br />count: 4<br />value: Late10s","cluster: 43<br />count: 4<br />value: Late10s","cluster: 46<br />count: 4<br />value: Late10s","cluster: 51<br />count: 1<br />value: Late10s","cluster: 63<br />count: 2<br />value: Late10s"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(160,232,236,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":15,"x":[29],"y":[5],"text":"cluster: 52<br />count: 5<br />value: 2011_10_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(164,199,94,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":2,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2022_09_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(165,132,231,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":22,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2013_11_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(165,251,132,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":6,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2019_08_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(166,57,201,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":19,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2012_07_31","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(166,200,54,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":12,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2018_07_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(166,237,85,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2023_05_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(166,244,229,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":13,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2000_01_02","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(167,139,155,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2018_09_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(167,166,238,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":3,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2018_09_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(167,221,50,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":6,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2007_09_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(168,194,141,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999947,"base":2,"x":[8],"y":[3],"text":"cluster: 13<br />count: 3<br />value: 2011_07_28","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(168,209,139,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213,0.90000000000000568],"base":[3,1,1,3,8,1,2,1,0,0,1,10,0,0,0,0,0,1],"x":[1,3,4,5,6,8,11,12,13,14,16,19,23,29,30,31,32,33],"y":[10,4,5,1,16,4,3,1,5,1,1,1,2,33,6,13,6,2],"text":["cluster: 1<br />count: 10<br />value: ON","cluster: 4<br />count: 4<br />value: ON","cluster: 7<br />count: 5<br />value: ON","cluster: 9<br />count: 1<br />value: ON","cluster: 10<br />count: 16<br />value: ON","cluster: 13<br />count: 4<br />value: ON","cluster: 21<br />count: 3<br />value: ON","cluster: 22<br />count: 1<br />value: ON","cluster: 23<br />count: 5<br />value: ON","cluster: 24<br />count: 1<br />value: ON","cluster: 27<br />count: 1<br />value: ON","cluster: 33<br />count: 1<br />value: ON","cluster: 41<br />count: 2<br />value: ON","cluster: 52<br />count: 33<br />value: ON","cluster: 53<br />count: 6<br />value: ON","cluster: 55<br />count: 13<br />value: ON","cluster: 56<br />count: 6<br />value: ON","cluster: 63<br />count: 2<br />value: ON"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(168,216,235,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2023_11_02","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(169,170,129,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[29],"y":[4],"text":"cluster: 52<br />count: 4<br />value: Skunk","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(169,177,226,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[4],"y":[28],"text":"cluster: 7<br />count: 28<br />value: H","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(169,243,175,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":7,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2007_07_16","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(170,141,189,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000013,"base":1,"x":[2],"y":[1],"text":"cluster: 2<br />count: 1<br />value: 2019_11_13","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(170,153,52,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":7,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_03_03","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(171,135,78,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":10,"x":[12],"y":[2],"text":"cluster: 22<br />count: 2<br />value: 2012_04_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(171,244,195,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2022_06_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(173,86,51,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_09_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(173,179,96,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[2,2],"x":[12,22],"y":[3,2],"text":["cluster: 22<br />count: 3<br />value: 2022_06_01","cluster: 36<br />count: 2<br />value: 2022_06_01"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(174,239,207,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[1,8],"x":[10,12],"y":[1,1],"text":["cluster: 15<br />count: 1<br />value: 2013_08_13","cluster: 22<br />count: 1<br />value: 2013_08_13"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(175,202,221,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[15],"y":[1],"text":"cluster: 25<br />count: 1<br />value: 2018_03_28","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(176,178,170,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[11],"y":[1],"text":"cluster: 21<br />count: 1<br />value: 2013_08_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(177,138,211,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999947],"base":[8,1],"x":[7,8],"y":[1,1],"text":["cluster: 11<br />count: 1<br />value: 2013_02_06","cluster: 13<br />count: 1<br />value: 2013_02_06"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(177,241,154,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[19],"y":[2],"text":"cluster: 33<br />count: 2<br />value: 2022_02_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(179,38,71,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":11,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2019_10_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(179,183,47,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[25],"y":[1],"text":"cluster: 45<br />count: 1<br />value: 2022_08_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(180,44,236,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.89999999999999858],"base":[1,6],"x":[1,16],"y":[1,1],"text":["cluster: 1<br />count: 1<br />value: 2020_08_11","cluster: 27<br />count: 1<br />value: 2020_08_11"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(180,99,192,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000568],"base":[1,0,0],"x":[2,3,33],"y":[1,1,1],"text":["cluster: 2<br />count: 1<br />value: Canada_PE","cluster: 4<br />count: 1<br />value: Canada_PE","cluster: 63<br />count: 1<br />value: Canada_PE"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(180,113,28,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":26,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2008_04_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(181,166,31,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[27],"y":[1],"text":"cluster: 49<br />count: 1<br />value: 2021_08_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(183,41,175,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":8,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_08_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(183,181,197,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":15,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2012_12_21","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(186,207,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[15],"y":[1],"text":"cluster: 25<br />count: 1<br />value: 2018_02_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(187,215,200,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[0,0],"x":[14,24],"y":[32,4],"text":["cluster: 24<br />count: 32<br />value: I","cluster: 43<br />count: 4<br />value: I"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(188,220,222,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000568,"base":4,"x":[33],"y":[1],"text":"cluster: 63<br />count: 1<br />value: 2019_10_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(189,234,191,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_11_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(190,112,237,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2022_08_16","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(190,227,168,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":7,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2021_08_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(191,244,111,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[21],"y":[1],"text":"cluster: 35<br />count: 1<br />value: 2023_06_14","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(193,175,233,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":7,"x":[1],"y":[7],"text":"cluster: 1<br />count: 7<br />value: Early00s","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(193,178,104,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":8,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2000_06_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(193,193,172,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":6,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_09_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(194,192,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[18],"y":[1],"text":"cluster: 30<br />count: 1<br />value: 2023_09_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(194,238,130,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[18],"y":[1],"text":"cluster: 30<br />count: 1<br />value: 2019_07_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(196,165,137,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213],"base":[0,0,0,0,0,0,0],"x":[11,13,19,27,30,31,32],"y":[2,5,1,1,6,13,5],"text":["cluster: 21<br />count: 2<br />value: Water","cluster: 23<br />count: 5<br />value: Water","cluster: 33<br />count: 1<br />value: Water","cluster: 49<br />count: 1<br />value: Water","cluster: 53<br />count: 6<br />value: Water","cluster: 55<br />count: 13<br />value: Water","cluster: 56<br />count: 5<br />value: Water"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(196,249,192,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213,0.90000000000000568],"base":[3,1,1,3,8,1,2,1,0,0,1,10,0,0,0,0,0,1],"x":[1,3,4,5,6,8,11,12,13,14,16,19,23,29,30,31,32,33],"y":[10,4,5,1,16,4,3,1,5,1,1,1,2,33,6,13,6,2],"text":["cluster: 1<br />count: 10<br />value: Canada_ON","cluster: 4<br />count: 4<br />value: Canada_ON","cluster: 7<br />count: 5<br />value: Canada_ON","cluster: 9<br />count: 1<br />value: Canada_ON","cluster: 10<br />count: 16<br />value: Canada_ON","cluster: 13<br />count: 4<br />value: Canada_ON","cluster: 21<br />count: 3<br />value: Canada_ON","cluster: 22<br />count: 1<br />value: Canada_ON","cluster: 23<br />count: 5<br />value: Canada_ON","cluster: 24<br />count: 1<br />value: Canada_ON","cluster: 27<br />count: 1<br />value: Canada_ON","cluster: 33<br />count: 1<br />value: Canada_ON","cluster: 41<br />count: 2<br />value: Canada_ON","cluster: 52<br />count: 33<br />value: Canada_ON","cluster: 53<br />count: 6<br />value: Canada_ON","cluster: 55<br />count: 13<br />value: Canada_ON","cluster: 56<br />count: 6<br />value: Canada_ON","cluster: 63<br />count: 2<br />value: Canada_ON"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(197,76,163,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[15],"y":[1],"text":"cluster: 25<br />count: 1<br />value: 2019_04_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(197,197,203,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[23],"y":[2],"text":"cluster: 41<br />count: 2<br />value: 2008_09_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(197,246,236,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":11,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2019_11_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(198,124,141,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[29],"y":[1],"text":"cluster: 52<br />count: 1<br />value: 2012_07_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(198,137,215,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2022_05_14","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,89,198,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[13],"y":[5],"text":"cluster: 23<br />count: 5<br />value: 2011_09_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,116,169,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,4,5,6,7,8,9,11,12,15,16,19,20,24,25,26],"y":[3,1,1,2,8,6,1,1,2,1,3,1,10,6,3,5,5],"text":["cluster: 1<br />count: 3<br />value: QC","cluster: 2<br />count: 1<br />value: QC","cluster: 7<br />count: 1<br />value: QC","cluster: 9<br />count: 2<br />value: QC","cluster: 10<br />count: 8<br />value: QC","cluster: 11<br />count: 6<br />value: QC","cluster: 13<br />count: 1<br />value: QC","cluster: 14<br />count: 1<br />value: QC","cluster: 21<br />count: 2<br />value: QC","cluster: 22<br />count: 1<br />value: QC","cluster: 25<br />count: 3<br />value: QC","cluster: 27<br />count: 1<br />value: QC","cluster: 33<br />count: 10<br />value: QC","cluster: 34<br />count: 6<br />value: QC","cluster: 43<br />count: 3<br />value: QC","cluster: 45<br />count: 5<br />value: QC","cluster: 46<br />count: 5<br />value: QC"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,140,190,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999858],"base":[14,0],"x":[4,28],"y":[1,1],"text":["cluster: 7<br />count: 1<br />value: 2019_07_17","cluster: 51<br />count: 1<br />value: 2019_07_17"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,142,139,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[22],"y":[1],"text":"cluster: 36<br />count: 1<br />value: 2022_06_08","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,208,92,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[21],"y":[1],"text":"cluster: 35<br />count: 1<br />value: 2020_09_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,212,170,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[27],"y":[4],"text":"cluster: 49<br />count: 4<br />value: 2008_08_21","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,231,146,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":13,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2013_06_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(199,245,57,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: MB","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(200,144,175,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[4,2],"x":[16,19],"y":[1,1],"text":["cluster: 27<br />count: 1<br />value: 2022_01_12","cluster: 33<br />count: 1<br />value: 2022_01_12"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(200,158,243,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[28],"y":[3],"text":"cluster: 51<br />count: 3<br />value: 2008_06_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(200,230,90,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_09_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(201,168,206,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":6,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2018_09_06","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(204,186,139,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: Canada_MB","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(208,31,145,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[13,5,1,0,5,3,2,0,0],"x":[1,5,9,10,13,15,16,21,27],"y":[1,10,3,4,1,2,6,2,1],"text":["cluster: 1<br />count: 1<br />value: BC","cluster: 9<br />count: 10<br />value: BC","cluster: 14<br />count: 3<br />value: BC","cluster: 15<br />count: 4<br />value: BC","cluster: 23<br />count: 1<br />value: BC","cluster: 25<br />count: 2<br />value: BC","cluster: 27<br />count: 6<br />value: BC","cluster: 35<br />count: 2<br />value: BC","cluster: 49<br />count: 1<br />value: BC"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(208,108,146,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999858],"base":[14,2],"x":[6,10],"y":[1,1],"text":["cluster: 10<br />count: 1<br />value: 2013_03_26","cluster: 15<br />count: 1<br />value: 2013_03_26"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(208,231,249,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[9],"y":[1],"text":"cluster: 14<br />count: 1<br />value: 2013_12_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(208,243,119,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":3,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2022_09_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(209,213,244,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000213],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[2,8,10,15,18,20,21,22,25,26,27,28,30,32],"y":[4,5,4,5,6,6,4,5,5,5,5,4,6,6],"text":["cluster: 2<br />count: 4<br />value: unknown","cluster: 13<br />count: 5<br />value: unknown","cluster: 15<br />count: 4<br />value: unknown","cluster: 25<br />count: 5<br />value: unknown","cluster: 30<br />count: 6<br />value: unknown","cluster: 34<br />count: 6<br />value: unknown","cluster: 35<br />count: 4<br />value: unknown","cluster: 36<br />count: 5<br />value: unknown","cluster: 45<br />count: 5<br />value: unknown","cluster: 46<br />count: 5<br />value: unknown","cluster: 49<br />count: 5<br />value: unknown","cluster: 51<br />count: 4<br />value: unknown","cluster: 53<br />count: 6<br />value: unknown","cluster: 56<br />count: 6<br />value: unknown"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(209,241,249,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000568,"base":2,"x":[33],"y":[1],"text":"cluster: 63<br />count: 1<br />value: 2020_09_14","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(210,118,206,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":9,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_02_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(211,84,237,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[29],"y":[33],"text":"cluster: 52<br />count: 33<br />value: K","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(211,165,120,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":24,"x":[4],"y":[2],"text":"cluster: 7<br />count: 2<br />value: 2008_12_24","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(211,199,224,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":0,"x":[1],"y":[14],"text":"cluster: 1<br />count: 14<br />value: A","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(212,134,122,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2017_07_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(212,230,52,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":13,"x":[14],"y":[4],"text":"cluster: 24<br />count: 4<br />value: 2008_07_30","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(213,165,225,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[29],"y":[1],"text":"cluster: 52<br />count: 1<br />value: 2012_08_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(214,184,250,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_07_31","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(215,94,134,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[25],"y":[1],"text":"cluster: 45<br />count: 1<br />value: 2022_08_08","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(216,132,88,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2023_04_26","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(217,134,242,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[31],"y":[4],"text":"cluster: 55<br />count: 4<br />value: 2011_09_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(217,199,243,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":17,"x":[14],"y":[6],"text":"cluster: 24<br />count: 6<br />value: 2008_07_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(217,219,231,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000568],"base":[1,0,0],"x":[2,3,33],"y":[1,1,1],"text":["cluster: 2<br />count: 1<br />value: PE","cluster: 4<br />count: 1<br />value: PE","cluster: 63<br />count: 1<br />value: PE"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(218,55,54,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":7,"x":[19],"y":[1],"text":"cluster: 33<br />count: 1<br />value: 2021_08_29","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(219,224,221,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[19],"y":[11],"text":"cluster: 33<br />count: 11<br />value: D","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(219,249,182,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":12,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_02_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(220,185,209,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[0,0],"x":[13,31],"y":[6,13],"text":["cluster: 23<br />count: 6<br />value: E","cluster: 55<br />count: 13<br />value: E"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(221,90,161,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999947,0.89999999999999858,0.90000000000000213],"base":[0,0,4,5],"x":[6,8,29,32],"y":[11,3,23,1],"text":["cluster: 10<br />count: 11<br />value: Raccoon","cluster: 13<br />count: 3<br />value: Raccoon","cluster: 52<br />count: 23<br />value: Raccoon","cluster: 56<br />count: 1<br />value: Raccoon"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(221,243,230,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":4,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2013_11_08","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(223,80,192,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[24],"y":[1],"text":"cluster: 43<br />count: 1<br />value: 2017_07_29","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(223,191,174,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[26],"y":[1],"text":"cluster: 46<br />count: 1<br />value: 2019_12_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(223,219,196,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[26],"y":[1],"text":"cluster: 46<br />count: 1<br />value: 2019_10_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(224,223,141,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2022_08_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(224,230,175,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":10,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2013_06_20","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(224,244,16,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":27,"x":[14],"y":[3],"text":"cluster: 24<br />count: 3<br />value: 2008_05_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(225,110,241,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999858],"base":[0,1],"x":[3,18],"y":[1,1],"text":["cluster: 4<br />count: 1<br />value: 2020_10_01","cluster: 30<br />count: 1<br />value: 2020_10_01"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(225,165,240,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2018_10_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(225,247,217,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":2,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2020_10_16","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(225,249,95,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":6,"x":[6],"y":[2],"text":"cluster: 10<br />count: 2<br />value: 2013_09_13","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(226,194,97,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":9,"x":[1],"y":[2],"text":"cluster: 1<br />count: 2<br />value: 2000_05_31","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(226,208,57,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[23],"y":[2],"text":"cluster: 41<br />count: 2<br />value: 2008_10_02","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(227,242,162,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[11],"y":[1],"text":"cluster: 21<br />count: 1<br />value: 2013_08_08","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(229,44,244,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[29],"y":[3],"text":"cluster: 52<br />count: 3<br />value: 2012_06_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(229,76,139,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":20,"x":[29],"y":[4],"text":"cluster: 52<br />count: 4<br />value: 2011_08_31","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(229,146,177,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[11,2,6,25,26,6,22,6,10,3,5,27,2],"x":[1,2,3,4,6,12,14,16,17,22,23,29,33],"y":[3,2,2,3,1,6,10,9,2,2,1,6,3],"text":["cluster: 1<br />count: 3<br />value: Cattle","cluster: 2<br />count: 2<br />value: Cattle","cluster: 4<br />count: 2<br />value: Cattle","cluster: 7<br />count: 3<br />value: Cattle","cluster: 10<br />count: 1<br />value: Cattle","cluster: 22<br />count: 6<br />value: Cattle","cluster: 24<br />count: 10<br />value: Cattle","cluster: 27<br />count: 9<br />value: Cattle","cluster: 28<br />count: 2<br />value: Cattle","cluster: 36<br />count: 2<br />value: Cattle","cluster: 41<br />count: 1<br />value: Cattle","cluster: 52<br />count: 6<br />value: Cattle","cluster: 63<br />count: 3<br />value: Cattle"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(230,183,190,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":32,"x":[29],"y":[1],"text":"cluster: 52<br />count: 1<br />value: 2011_08_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(230,200,209,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_07_25","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(230,222,118,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":9,"x":[16],"y":[1],"text":"cluster: 27<br />count: 1<br />value: 2020_02_04","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(231,217,164,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[0,4,24,3,16,5,3,0,0,3,4,5],"x":[2,3,4,5,6,7,8,9,10,11,12,13],"y":[2,2,1,12,10,5,2,4,4,2,2,1],"text":["cluster: 2<br />count: 2<br />value: Chicken","cluster: 4<br />count: 2<br />value: Chicken","cluster: 7<br />count: 1<br />value: Chicken","cluster: 9<br />count: 12<br />value: Chicken","cluster: 10<br />count: 10<br />value: Chicken","cluster: 11<br />count: 5<br />value: Chicken","cluster: 13<br />count: 2<br />value: Chicken","cluster: 14<br />count: 4<br />value: Chicken","cluster: 15<br />count: 4<br />value: Chicken","cluster: 21<br />count: 2<br />value: Chicken","cluster: 22<br />count: 2<br />value: Chicken","cluster: 23<br />count: 1<br />value: Chicken"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(232,46,204,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036],"base":[2,6],"x":[2,5],"y":[1,3],"text":["cluster: 2<br />count: 1<br />value: 2013_07_17","cluster: 9<br />count: 3<br />value: 2013_07_17"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(232,151,241,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999947,"base":0,"x":[8],"y":[1],"text":"cluster: 13<br />count: 1<br />value: 2013_07_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(232,181,158,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":12,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2008_08_27","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(233,103,218,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036],"base":[2,24,7],"x":[2,6,7],"y":[1,2,1],"text":["cluster: 2<br />count: 1<br />value: Canada_NT","cluster: 10<br />count: 2<br />value: Canada_NT","cluster: 11<br />count: 1<br />value: Canada_NT"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(234,120,162,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000568],"base":[3,5,26,3],"x":[2,3,6,33],"y":[1,1,1,2],"text":["cluster: 2<br />count: 1<br />value: NS","cluster: 4<br />count: 1<br />value: NS","cluster: 10<br />count: 1<br />value: NS","cluster: 63<br />count: 2<br />value: NS"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(234,245,112,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":0,"x":[5],"y":[15],"text":"cluster: 9<br />count: 15<br />value: B","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(235,150,48,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":17,"x":[6],"y":[2],"text":"cluster: 10<br />count: 2<br />value: 2012_12_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(235,152,209,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":3,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2013_10_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(236,141,217,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":4,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2019_10_25","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(236,188,247,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":7,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2019_08_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(236,225,242,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":8,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2019_06_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(236,227,70,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":6,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_09_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(236,241,249,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":5,"x":[7],"y":[1],"text":"cluster: 11<br />count: 1<br />value: 2013_09_18","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(237,70,109,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[20],"y":[1],"text":"cluster: 34<br />count: 1<br />value: 2020_09_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(237,243,178,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2023_08_16","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(238,115,183,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[0,0,0],"x":[16,17,23],"y":[15,12,6],"text":["cluster: 27<br />count: 15<br />value: G","cluster: 28<br />count: 12<br />value: G","cluster: 41<br />count: 6<br />value: G"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(238,173,194,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2022_08_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(238,192,118,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":3,"x":[9],"y":[1],"text":"cluster: 14<br />count: 1<br />value: 2013_02_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(239,59,190,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[12],"y":[1],"text":"cluster: 22<br />count: 1<br />value: 2021_07_28","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(239,163,85,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.89999999999999858],"base":[5,3],"x":[16,21],"y":[1,1],"text":["cluster: 27<br />count: 1<br />value: 2020_08_12","cluster: 35<br />count: 1<br />value: 2020_08_12"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(239,201,169,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999991,"base":3,"x":[1],"y":[1],"text":"cluster: 1<br />count: 1<br />value: 2019_11_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(239,214,247,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":5,"x":[23],"y":[1],"text":"cluster: 41<br />count: 1<br />value: 2008_02_05","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(239,245,241,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[30],"y":[4],"text":"cluster: 53<br />count: 4<br />value: 2011_10_11","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(240,119,132,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[3,1,1,11,2,4,0,0,1],"x":[1,2,3,4,6,14,23,27,28],"y":[1,1,2,4,1,23,5,4,3],"text":["cluster: 1<br />count: 1<br />value: Late00s","cluster: 2<br />count: 1<br />value: Late00s","cluster: 4<br />count: 2<br />value: Late00s","cluster: 7<br />count: 4<br />value: Late00s","cluster: 10<br />count: 1<br />value: Late00s","cluster: 24<br />count: 23<br />value: Late00s","cluster: 41<br />count: 5<br />value: Late00s","cluster: 49<br />count: 4<br />value: Late00s","cluster: 51<br />count: 3<br />value: Late00s"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(240,141,81,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y2","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":20,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2018_04_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(241,78,244,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":21,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2017_02_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(241,106,48,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[0,0,0,0,11,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0],"x":[1,3,4,5,6,7,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33],"y":[11,4,24,3,5,5,1,4,22,5,6,10,6,10,6,4,3,5,4,5,5,4,4,2],"text":["cluster: 1<br />count: 11<br />value: Human","cluster: 4<br />count: 4<br />value: Human","cluster: 7<br />count: 24<br />value: Human","cluster: 9<br />count: 3<br />value: Human","cluster: 10<br />count: 5<br />value: Human","cluster: 11<br />count: 5<br />value: Human","cluster: 21<br />count: 1<br />value: Human","cluster: 22<br />count: 4<br />value: Human","cluster: 24<br />count: 22<br />value: Human","cluster: 25<br />count: 5<br />value: Human","cluster: 27<br />count: 6<br />value: Human","cluster: 28<br />count: 10<br />value: Human","cluster: 30<br />count: 6<br />value: Human","cluster: 33<br />count: 10<br />value: Human","cluster: 34<br />count: 6<br />value: Human","cluster: 35<br />count: 4<br />value: Human","cluster: 36<br />count: 3<br />value: Human","cluster: 41<br />count: 5<br />value: Human","cluster: 43<br />count: 4<br />value: Human","cluster: 45<br />count: 5<br />value: Human","cluster: 46<br />count: 5<br />value: Human","cluster: 49<br />count: 4<br />value: Human","cluster: 51<br />count: 4<br />value: Human","cluster: 63<br />count: 2<br />value: Human"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(241,108,201,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":2,"x":[18],"y":[1],"text":"cluster: 30<br />count: 1<br />value: 2019_08_22","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(242,110,104,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":2,"x":[5],"y":[1],"text":"cluster: 9<br />count: 1<br />value: 2017_02_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(242,164,122,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[31],"y":[9],"text":"cluster: 55<br />count: 9<br />value: 2011_11_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(242,193,233,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":5,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2017_07_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(242,220,213,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.89999999999999858],"base":[0,0],"x":[7,9],"y":[10,4],"text":["cluster: 11<br />count: 10<br />value: C","cluster: 14<br />count: 4<br />value: C"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(242,247,199,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000013,0.90000000000000036,0.90000000000000036],"base":[2,24,7],"x":[2,6,7],"y":[1,2,1],"text":["cluster: 2<br />count: 1<br />value: NT","cluster: 10<br />count: 2<br />value: NT","cluster: 11<br />count: 1<br />value: NT"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(243,114,149,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858],"base":[6,1,14,8,16,2,3,9,24,1,10,7],"x":[1,2,4,5,6,7,10,12,14,15,16,17],"y":[4,1,2,4,2,1,1,2,6,4,2,1],"text":["cluster: 1<br />count: 4<br />value: Spring","cluster: 2<br />count: 1<br />value: Spring","cluster: 7<br />count: 2<br />value: Spring","cluster: 9<br />count: 4<br />value: Spring","cluster: 10<br />count: 2<br />value: Spring","cluster: 11<br />count: 1<br />value: Spring","cluster: 15<br />count: 1<br />value: Spring","cluster: 22<br />count: 2<br />value: Spring","cluster: 24<br />count: 6<br />value: Spring","cluster: 25<br />count: 4<br />value: Spring","cluster: 27<br />count: 2<br />value: Spring","cluster: 28<br />count: 1<br />value: Spring"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(243,179,173,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2023_11_22","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(243,189,57,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[25],"y":[1],"text":"cluster: 45<br />count: 1<br />value: 2023_01_16","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(243,218,227,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[26],"y":[1],"text":"cluster: 46<br />count: 1<br />value: 2019_12_23","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,31,226,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":3,"x":[6],"y":[1],"text":"cluster: 10<br />count: 1<br />value: 2020_02_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,130,239,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[24],"y":[2],"text":"cluster: 43<br />count: 2<br />value: 2017_08_07","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,136,187,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":17,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2018_10_12","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,216,22,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":1,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2023_01_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,229,152,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":23,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2011_07_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(244,244,137,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999858,0.90000000000000213],"base":[3,0],"x":[11,32],"y":[2,6],"text":["cluster: 21<br />count: 2<br />value: 2011_11_21","cluster: 56<br />count: 6<br />value: 2011_11_21"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(245,245,161,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[21],"y":[1],"text":"cluster: 35<br />count: 1<br />value: 2021_09_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,44,149,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":0,"x":[15],"y":[1],"text":"cluster: 25<br />count: 1<br />value: 2019_05_02","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,166,197,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":8,"x":[4],"y":[1],"text":"cluster: 7<br />count: 1<br />value: 2020_11_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,171,245,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[17],"y":[1],"text":"cluster: 28<br />count: 1<br />value: 2023_11_17","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,217,197,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000013,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[1,0,0,4,2,5,1,2,1,0,0,0,2,2,0,0,3,0,0,0,0,1,0,0,0,0,1],"x":[1,2,3,4,5,6,8,9,10,11,12,13,14,16,17,18,19,20,21,22,24,25,27,28,29,30,33],"y":[5,1,5,10,6,11,4,2,2,2,9,1,22,8,7,4,4,5,2,5,4,3,5,4,19,2,1],"text":["cluster: 1<br />count: 5<br />value: Summer","cluster: 2<br />count: 1<br />value: Summer","cluster: 4<br />count: 5<br />value: Summer","cluster: 7<br />count: 10<br />value: Summer","cluster: 9<br />count: 6<br />value: Summer","cluster: 10<br />count: 11<br />value: Summer","cluster: 13<br />count: 4<br />value: Summer","cluster: 14<br />count: 2<br />value: Summer","cluster: 15<br />count: 2<br />value: Summer","cluster: 21<br />count: 2<br />value: Summer","cluster: 22<br />count: 9<br />value: Summer","cluster: 23<br />count: 1<br />value: Summer","cluster: 24<br />count: 22<br />value: Summer","cluster: 27<br />count: 8<br />value: Summer","cluster: 28<br />count: 7<br />value: Summer","cluster: 30<br />count: 4<br />value: Summer","cluster: 33<br />count: 4<br />value: Summer","cluster: 34<br />count: 5<br />value: Summer","cluster: 35<br />count: 2<br />value: Summer","cluster: 36<br />count: 5<br />value: Summer","cluster: 43<br />count: 4<br />value: Summer","cluster: 45<br />count: 3<br />value: Summer","cluster: 49<br />count: 5<br />value: Summer","cluster: 51<br />count: 4<br />value: Summer","cluster: 52<br />count: 19<br />value: Summer","cluster: 53<br />count: 2<br />value: Summer","cluster: 63<br />count: 1<br />value: Summer"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,220,94,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y3","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":1,"x":[14],"y":[1],"text":"cluster: 24<br />count: 1<br />value: 2019_07_10","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(246,243,47,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000013,"base":3,"x":[2],"y":[1],"text":"cluster: 2<br />count: 1<br />value: 2006_05_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(248,152,162,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":11,"x":[6],"y":[2],"text":"cluster: 10<br />count: 2<br />value: 2013_06_19","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(248,207,229,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":30,"x":[14],"y":[2],"text":"cluster: 24<br />count: 2<br />value: 2008_05_01","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(248,211,162,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":6,"x":[3],"y":[1],"text":"cluster: 4<br />count: 1<br />value: 2008_07_28","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(248,244,211,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.89999999999999858,"base":4,"x":[30],"y":[2],"text":"cluster: 53<br />count: 2<br />value: 2011_08_15","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(249,98,238,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.90000000000000036,0.90000000000000036],"base":[0,0],"x":[3,6],"y":[8,27],"text":["cluster: 4<br />count: 8<br />value: J","cluster: 10<br />count: 27<br />value: J"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(249,195,141,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x","yaxis":"y4","hoverinfo":"text","frame":null},{"orientation":"v","width":0.90000000000000036,"base":13,"x":[5],"y":[2],"text":"cluster: 9<br />count: 2<br />value: 2012_11_21","type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(249,241,230,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.89999999999999991,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.90000000000000036,0.89999999999999947,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.89999999999999858,0.90000000000000568],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[1,4,5,6,7,8,9,10,14,15,16,19,23,25,26,33],"y":[1,4,2,5,2,1,2,1,2,1,2,3,1,1,4,1],"text":["cluster: 1<br />count: 1<br />value: Winter","cluster: 7<br />count: 4<br />value: Winter","cluster: 9<br />count: 2<br />value: Winter","cluster: 10<br />count: 5<br />value: Winter","cluster: 11<br />count: 2<br />value: Winter","cluster: 13<br />count: 1<br />value: Winter","cluster: 14<br />count: 2<br />value: Winter","cluster: 15<br />count: 1<br />value: Winter","cluster: 24<br />count: 2<br />value: Winter","cluster: 25<br />count: 1<br />value: Winter","cluster: 27<br />count: 2<br />value: Winter","cluster: 33<br />count: 3<br />value: Winter","cluster: 41<br />count: 1<br />value: Winter","cluster: 45<br />count: 1<br />value: Winter","cluster: 46<br />count: 4<br />value: Winter","cluster: 63<br />count: 1<br />value: Winter"],"type":"bar","textposition":"none","marker":{"autocolorscale":false,"color":"rgba(251,148,132,1)","line":{"width":1.8897637795275593,"color":"transparent"}},"showlegend":false,"xaxis":"x2","yaxis":"y3","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":37.917808219178085,"r":7.3059360730593621,"b":40.182648401826491,"l":37.260273972602747},"plot_bgcolor":"rgba(255,255,255,1)","paper_bgcolor":"rgba(255,255,255,1)","font":{"color":"rgba(0,0,0,1)","family":"","size":14.611872146118724},"xaxis":{"domain":[0,0.45714285714285713],"automargin":true,"type":"linear","autorange":false,"range":[0.40000000000000002,33.600000000000001],"tickmode":"array","ticktext":["1","2","4","7","9","10","11","13","14","15","21","22","23","24","25","27","28","30","33","34","35","36","41","43","45","46","49","51","52","53","55","56","63"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"categoryorder":"array","categoryarray":["1","2","4","7","9","10","11","13","14","15","21","22","23","24","25","27","28","30","33","34","35","36","41","43","45","46","49","51","52","53","55","56","63"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"y4","title":"","hoverformat":".2f"},"annotations":[{"text":"Clusters at T = 50","x":0.5,"y":0,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.611872146118724},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"top","annotationType":"axis","yshift":-21.917808219178088},{"text":"Count","x":0,"y":0.5,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.611872146118724},"xref":"paper","yref":"paper","textangle":-90,"xanchor":"right","yanchor":"center","annotationType":"axis","xshift":-21.917808219178081},{"text":"Country","x":0.22857142857142856,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Date","x":0.77142857142857135,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Decade","x":0.22857142857142856,"y":0.67173515981735155,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"geo_loc","x":0.77142857142857135,"y":0.67173515981735155,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Province","x":0.22857142857142856,"y":0.4217351598173516,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Season","x":0.77142857142857135,"y":0.4217351598173516,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Serotype","x":0.22857142857142856,"y":0.1717351598173516,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"},{"text":"Source","x":0.77142857142857135,"y":0.1717351598173516,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(26,26,26,1)","family":"","size":11.68949771689498},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"center","yanchor":"bottom"}],"yaxis":{"domain":[0.82826484018264845,1],"automargin":true,"type":"linear","autorange":false,"range":[-1.6500000000000001,34.649999999999999],"tickmode":"array","ticktext":["0","10","20","30"],"tickvals":[0,10,20,30],"categoryorder":"array","categoryarray":["0","10","20","30"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"x","title":"","hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0.82826484018264845,"y1":1},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0,"y1":23.37899543378996,"yanchor":1,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0.82826484018264845,"y1":1},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0,"y1":23.37899543378996,"yanchor":1,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0.57826484018264845,"y1":0.67173515981735155},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0,"y1":23.37899543378996,"yanchor":0.67173515981735155,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0.57826484018264845,"y1":0.67173515981735155},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0,"y1":23.37899543378996,"yanchor":0.67173515981735155,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0.3282648401826484,"y1":0.4217351598173516},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0,"y1":23.37899543378996,"yanchor":0.4217351598173516,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0.3282648401826484,"y1":0.4217351598173516},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0,"y1":23.37899543378996,"yanchor":0.4217351598173516,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0,"y1":0.1717351598173516},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0,"x1":0.45714285714285713,"y0":0,"y1":23.37899543378996,"yanchor":0.1717351598173516,"ysizemode":"pixel"},{"type":"rect","fillcolor":"transparent","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0,"y1":0.1717351598173516},{"type":"rect","fillcolor":"rgba(217,217,217,1)","line":{"color":"rgba(51,51,51,1)","width":0.66417600664176002,"linetype":"solid"},"yref":"paper","xref":"paper","x0":0.54285714285714282,"x1":1,"y0":0,"y1":23.37899543378996,"yanchor":0.1717351598173516,"ysizemode":"pixel"}],"xaxis2":{"type":"linear","autorange":false,"range":[0.40000000000000002,33.600000000000001],"tickmode":"array","ticktext":["1","2","4","7","9","10","11","13","14","15","21","22","23","24","25","27","28","30","33","34","35","36","41","43","45","46","49","51","52","53","55","56","63"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"categoryorder":"array","categoryarray":["1","2","4","7","9","10","11","13","14","15","21","22","23","24","25","27","28","30","33","34","35","36","41","43","45","46","49","51","52","53","55","56","63"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"domain":[0.54285714285714282,1],"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"y4","title":"","hoverformat":".2f"},"yaxis2":{"type":"linear","autorange":false,"range":[-1.6500000000000001,34.649999999999999],"tickmode":"array","ticktext":["0","10","20","30"],"tickvals":[0,10,20,30],"categoryorder":"array","categoryarray":["0","10","20","30"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"domain":[0.57826484018264845,0.67173515981735155],"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"x","title":"","hoverformat":".2f"},"yaxis3":{"type":"linear","autorange":false,"range":[-1.6500000000000001,34.649999999999999],"tickmode":"array","ticktext":["0","10","20","30"],"tickvals":[0,10,20,30],"categoryorder":"array","categoryarray":["0","10","20","30"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"domain":[0.3282648401826484,0.4217351598173516],"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"x","title":"","hoverformat":".2f"},"yaxis4":{"type":"linear","autorange":false,"range":[-1.6500000000000001,34.649999999999999],"tickmode":"array","ticktext":["0","10","20","30"],"tickvals":[0,10,20,30],"categoryorder":"array","categoryarray":["0","10","20","30"],"nticks":null,"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.6529680365296811,"tickwidth":0.66417600664176002,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.68949771689498},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"domain":[0,0.1717351598173516],"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176002,"zeroline":false,"anchor":"x","title":"","hoverformat":".2f"},"showlegend":false,"legend":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.8897637795275593,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.68949771689498},"title":{"text":"","font":{"color":"rgba(0,0,0,1)","family":"","size":14.611872146118724}}},"hovermode":"closest","barmode":"relative"},"config":{"doubleClick":"reset","modeBarButtonsToAdd":["hoverclosest","hovercompare"],"showSendToCloud":false},"source":"A","attrs":{"236c47aa7171":{"x":{},"y":{},"fill":{},"type":"bar"}},"cur_data":"236c47aa7171","visdat":{"236c47aa7171":["function (y) ","x"]},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.20000000000000001,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
The stacked histogram above is interactive! Hover-over for a tooltip with additional cluster information. Also, remember that the plot can be popped out onto a separate window. Questions: Can you identify a T50 cluster larger than 10 genomes that is restricted to a single province? How about a cluster found across multiple decades? One with pronounced seasonal bias? Tell us everything you know about cluster 33?
Distance matrix visulization via ordered heatmap
A very useful visualization when dealing with distance matrices involves performing clustering, arranging the entries of the matrix based on the clustering order, and displaying the similarity as a heatmap. This produces a heatmap with a distinct 45 degree axis in which clusters of profiles with significant similarity representing possible clades/lineages can be plainly seen as “pockets of heat”. In this section of the lab, we will visualize the distance matrix using the ComplexHeatmap
package and we will be comparing these clades to available serotype information on the isolates by overlaying serotype information on the heatmap, which will allow us to examine whether the organism’s serotype is concordant with putative lineages defined by cgMLST similarity as displayed on the clustered heatmap.
In an era prior to various forms of molecular analysis, serotype was used as a proxy for genetic similarity of microbial isolates. For organisms like Salmonella, serotype determination is still a widely employed rapid screen.
Let’s run the code chunk below:
# create column annotations for heatmap
# to display clade information
set.seed(123)
heatmap_annot <- metadata$Serotype
names(heatmap_annot) <-metadata$ID
heatmap_annot <- heatmap_annot[order(factor(names(heatmap_annot),
levels = rownames(dist_mat)))]
# create heatmap
dist_mat %>%
Heatmap(
name = "cgMLST\nDistance",
show_row_names = F, # do not display row labels
show_column_names = F, # do not display column labels
# use custom color gradient
col = colorRamp2(
c(min(dist_mat), mean(dist_mat), max(dist_mat)),
c("#f76c6a", "#eebd32", "#7ece97")
),
# add column annotation to show serotype info overlaid on the clustered heatmap
top_annotation = HeatmapAnnotation(
Serotype= heatmap_annot,
col = list(
Serotype = structure(brewer.pal(length(unique(heatmap_annot)), "Set3"),
names = unique(heatmap_annot))
)
)
)
Questions: Although many traits are essentially restricted to a single monophyletic genomic lineage, it is also possible that some traits are observed across multiple lineages and may therefore appear to be polyphyletic. Is there a serotype that looks like the latter? What is your interpretation of the last major “pocket” of heat at the bottom right of the heatmap? bonus: although higher heat is seen along the 45 degree axis, there is some “residual” heat off-axis. What does it mean?
Annotated Dendrograms and cluster evaluation
Here you will convert hierarchical clustering result (hc) into a dendrogram using the as.phylo()
function from the ape package. To visualize the resulting dendrogram, we will use the R package ggtree
, which offers an extensive suite of functions to manipulate, visualize, and annotate tree-like data structures. In this section, you will be introduced to some of the different visual capabilities of ggtree
and we will progressively update the same tree with several layers of visual annotations based on available metadata.
Note that there is a massive amount of information in the interwebs dedicated to
ggtree
and all of its capabilities for advanced visualizations. Here we will barely scratch the surface.
Circular vs. Rectangular dendrograms for simple tree visualization
Radial vs. Rectangular dendrograms are different ways of visualizing a tree. Radial trees are capable of displaying a lot of simple data in a smaller footprint. In contrast, rectangular trees can display more complex data in a visualization that is easy on the eyes. Rectangular trees rendered as pdf format allow you to really zoom into sub-branches of the tree in greater detail when viewed in a pdf reader or in a browser window. This is essential when you’re dealing with larger datasets comprising hundreds of isolates such as the one we are dealing with here.
Run the following code chunks to:
- Plot a circular tree of the entire dataset with the tree tips colored by serotype information. You can assign a different metadata field to the
color_var
variable to update the mapping of the color aesthetics in the tree. For example settingcolor_var = "Province"
will color the tree tips by the province of origin. - Plot the same tree as a rectangular tree.
# convert hierarchical clustering to a dendrogram
set.seed(123)
cg_tree <- as.phylo(hc)
# also, write out the dendrogram to a Newick tree file, can be imported into ITOL or other tree visualization software for manual annotation
write.tree(cg_tree, file= here("output","trees","tree_complete_linkage.newick"))
# visualization with a color variable using R ggtree
color_var <- "Serotype" # editable variable, currently set to "Serotype".
## filter out unknown serotypes to define the number of colors needed for remaining serotypes
n_colors <- length(unique(pull(metadata, !!sym(color_var))))
## create circular dendrogram with variable-colored tippoints
cg_tree_cir <- cg_tree %>%
ggtree(layout='circular', # set tree shape
size = 1 # branch width
)%<+% metadata +
geom_tippoint(aes(color = !!sym(color_var)),
size = 2,na.rm=TRUE) +
guides(color = guide_legend(override.aes = list(size = 3) ) ) +
scale_color_manual(values = distinctColorPalette(n_colors),na.value = "grey") #
cg_tree_cir
# Create rectangular tree with serotype tip points and text tip labels
# create tip labels
metadata <- metadata %>%
mutate(tip_lab = paste0(Province,"/ ",Date,"/ ",Source))
## plot
set.seed(123)
cg_tree %>%
ggtree(layout= "rectangular", # tree shape
size = 1 # branch width
)%<+% metadata +
geom_tippoint(aes(color = !!sym(color_var)),
size = 2,na.rm=TRUE) +
geom_tiplab(aes(label = tip_lab),
offset = 5,
align = TRUE,
linetype = NULL,
size = 1) +theme_tree2()+
geom_treescale(y = 370, x = 0.2) +
guides(color = guide_legend(override.aes = list(size = 3) ) ) +
scale_color_manual(values = distinctColorPalette(n_colors))
# We save to pdf format
ggsave(here("output","trees","clade_subtree_rec.pdf"), height = 45, width = 40)
Questions: Between serotypes G and H, which one appears to be more heterogeneous based on cgMLST data? How would you improve the colour palette used to display serotype – no, seriously?
Superimposing genomic cluster information onto dendrograms
Let’s now superimpose the genomic cluster information on the previous dendrograms (Radial & Rectangular) to examine whether the above code chunk for extracting cluster memberships at various thresholds has generated sensible cluster assignments. Run the code chunk below to insert text labels that span across tree tips assigned to the same clusters at [a specified threshold]{.underline}.
You can edit the
target_threshold
variable to examine how cluster membership changes in response to clustering distance cutoffs.
Run the code chunk below for the radial tree:
# Radial tree visualization
# assign clusters_all to clusters for visualization
clusters <- clusters_all
target_threshold <- 50 # Editable variable, currently set to a threshold of 50.
metadata<- metadata%>%
select(-tip_lab)
# variable to subset clusters
target_variable <- paste0("Threshold_", target_threshold)
# create cluster group list object
cluster_grp <- clusters %>%
select(ID, target_variable) %>%
group_by(!!sym(target_variable)) %>%
{setNames(group_split(.), group_keys(.)[[1]])} %>%
map(~pull(., ID))
# sequester singleton clusters
cluster_grp <- cluster_grp[which(map_dbl(cluster_grp, ~length(.)) > 10)]
# create clade group list object
meta2 <- metadata%>%
filter(Serotype != "unknown")
Clade_grp <- meta2 %>%
select(ID, Serotype) %>%
split(f = as.factor(.$Serotype)) %>%
map(~pull(., ID))
# add cluster memberships and clade information to tree object
cg_tree <- groupOTU(cg_tree, cluster_grp, 'Clusters')
cg_tree <- groupOTU(cg_tree, Clade_grp, 'Serotype')
# plot core genome tree where colored blocks = clusters and text annotations = clades
cg_tree %>%
ggtree(layout='circular', # Editable tree shape, currently set to circular?
size = 1 # branch width
) +
# add colored blocks to display clades
geom_hilight(
mapping = aes(
node = node,
fill = Serotype,
subset = node %in% map_dbl(
Clade_grp,
~getMRCA(cg_tree, .)
)
)
) +
#add text annotations to display clusters
geom_cladelab(
mapping = aes(
node = node,
label = Clusters,
subset = node %in% map_dbl(
cluster_grp,
~ getMRCA(cg_tree, .)
)
),
horizontal=T,
angle = 'auto',
barsize = 0.75,
offset = 50,
offset.text = 50,
align = T
) +
# legend parameters
guides(fill = guide_legend(
nrow = 11,
override.aes = list(alpha = 0.8)
)
) +
labs(fill = "Serotype") +
scale_fill_brewer(palette = "Paired")
Questions: The radial dendrogram above displays serotype and also T50 cluster information for clusters larger than 10. What can you infer about the overall cgMLST similarity of genomes corresponding to serotype F? hint: they’re not all in the same T50 cluster…
Run the code chunk below for the rectangular tree:
# Rectangulat tree visualization
# NOTE: there needs to be a comma at the end of each line!
serovar_subtree(
tree = cg_tree,
serovar_name = NULL, # which clade cluster to visualize?
distance_threshold = 50, # the dist threshold used for cluster definition?
color_by = "Serotype", # which metadata variable to color tree tips by?
color.tiplab = F, # whether to color tip labels
tip.size = 4, # size of tree tip point
label_vars = c("geo_loc", "Date", "Source"), # metadata vars only
label.offset = 80, # distance between labels and tree tips
label.size = 2, # tree tip label text size
legend.x = 0.1, # legend position on x axis
legend.y = 0.98, # legend position on y axis
legend.size = 6, # legend text size
legend.ncat.per.col = 8, # number of categories to show per column in legend
hide.legend = F, # whether to hide colour legend
plot.xlim = 2300, # plot area width
annot.offset = 3, # distance between heatmap and tree tips
annot.textsize = 5, # heatmap x axis text label size
annot.barsize = 0.75, # annotation bar width
show.title = T # whether to display distance threshold
)
# We export the tree to pdf format in the /output/trees folder (clade_subtree2.pdf;
# check the folder navigation pane at the bottom right).
# The file can be dropped into a web browser so you can zoom into individual genomic clusters.
ggsave(here("output","trees","clade_subtree2.pdf"), height = 45, width = 60,limitsize = FALSE)
Questions: The tree above is rendered too small in R studio to be of any use except to ruin your eyes. Open the corresponding pdf file (/output/trees/clade_subtree2.pdf) on your web browser. How many T50 clusters are associated with serotype F? What can you tell us about T50 clusters 30 and 46?
Displaying a specific cluster subtree
In order to examine the clustering patterns in the cgMLST dendrogram at greater resolutions, we will work with a number of R functions introduced below. These functions are used in conjunction to zoom in on specific sublineages so that we may further explore the strains within. The purpose of the function cluster_subtree
is to visualize subtrees of specific clusters defined at a given distance threshold. The cluster is defined by its ID and the distance threshold used for genomic cluster assignment, which are defined by the variables cluster_name
and distance_threshold
, respectively. We recommend scanning the summary tables or stacked histograms used above to look for clusters that may merit some zooming into.
Run the following code chunk:
# NOTE: there needs to be a comma at the end of each line!
Threshold <- paste0("Threshold_", c(0, 10, 20, 30, 40, 50)) # User-defined thresholds specified in the
# distance vector.
# Currently set to 0, 10, 20, 30 40, 50
Cluster_tree <- clusters %>%
select(ID,Threshold) # This line selects the cluster+treshold combination
# for the subtree visualization
## plot tree
cluster_subtree(
tree = cg_tree,
clusters = Cluster_tree,
distance_threshold = 50, # the dist threshold used for cluster definition, from the list in L767
cluster_name = "24", # Cluster ID to visualize.
color_by = "Season", # Metadata variable to color tree tips by; currently set to Province
color.tiplab = F, # whether to color tip labels
tip.size = 3, # size of tree tip point
legend.x = 0.1, # legend position on x axis
legend.y = 0.85, # legend position on y axis
legend.size = 5, # legend text size
legend.ncat.per.col = 8, # number of categories to show per column in legend
hide.legend = F, # whether to hide colour legend
plot.xlim = 60, # plot area width
label_vars = c("ID", "Province", "Date", "Source"), # User can add any metadata variable to display
label.offset = 9.2, # distance between labels and tree tips
label.size = 4, # tree tip label text size
annot.offset = 0.1, # distance between heatmap and tree tips
annot.width = 0.3, # heatmap width
annot.textsize = 4, # heatmap x axis text label size
annot.nthreshold = 6 # number of clustering thresholds to display
# note: the visualization below has been tweaked for optimal viewing of 6 thresholds. Adjustment to the various
# parameters above may be necessary if adding or removing additional thresholds to improve legibility in the subtree
)
Questions: What distance threshold is necessary to tease apart the fact that strain ID09120 is not like the others? Taking into account that we are labeling the leaves of the tree using information for “Season”, what can you say about the set of isolates from ID04684 to ID05454 as we go from a threshold of 10 allele differences down to a thresdhold of 0?
Ah, we see you’re done…a little early…
Using the rectangular dendrogram with enhanced annotations provided, which was generated using iTOL, find genomic clusters that fit the following criteria and consider possible scenarios for interpretation of genomic data and epidemiological metadata:
a. A genomic cluster that at T50 splits into multiple multi-strain subclusters when examined at T0
b. Find a polyphyletic serovar (again)
c. A genomic cluster comprising human clinical cases with similar geographical and temporal information
d. A genomic cluster in which the human clinical cases are dispersed in geography and/or time
e. A genomic cluster in which human clinical isolates cluster with non-human isolates from a common source type
f. A genomic cluster in which human clinical isolates cluster with non-human isolates from multiple source types.
g. What's the story on T20 cluster #102?
h. **Bonus Question:** How would you define the "optimal" distance threshold for extracting and reporting genomic clusters? State your position...
ggtree
is certainly an excellent tool but there is definitely a bit of a learning curve, though there is also a lot of material online. For building trees with more complex annotations, a good option is iTOL, though it certainly has a learning curve of its own.
Some final points to remember…
Note that it’s important to remind ourselves that outbreaks lie along a spectrum in their genetic and epidemiological characteristics and this will be reflected in terms of how clustering and metadata annotations will show up on a dendrogram/subtree, or in the breakdown of metadata variables across genomic clusters. Some outbreaks are typified by highly genetically similar isolates from clinical cases that are highly restricted in time and space (e.g. the point-source outbreak where some people at the picnic ate the potato salad contaminated with a single strain of the pathogen). At the other end of the scale, some outbreaks comprise genetically heterogeneous pathogen isolates from clinical cases that are dispersed in time and/or space (e.g. people exposed through consumption of a nationally-distributed food product contaminated with several strains during a production run). Thus, identifying an outbreak from genomic surveillance data alone is not always possible. Although genomic data represents strong evidence in an outbreak investigation, there is no substitute for some good ‘ol shoe-leather epidemiology to place everything in context.