library(tidyverse)
library(xlsx)
# library(rotemfuns)
library(vegan)
library(funrar)
library(subSeq)
library(qiime2R)
library(ggpubr)
library(magrittr)
library(rmarkdown)
library(gghighlight)
library(microbiomeutilities)
source("/pita/users/rotem/scripts/qiime2_funcs.R")
if(getwd() == "/pita/users/rotem/eyes/") { setwd("human") }
dbmap = read.csv("/pita/pub/data/16S_DBs/maps/DB1-13_premap_v3.csv")
dbmap$reads_number = dbmap$reads_number %>% as.character() %>% as.numeric()
done =
dbmap %>%
filter(Cohort == "eyes") %>%
# select(-Family) %>%
filter(Organism == "Human") %>%
arrange(desc(reads_number)) %>%
distinct(sample_ID, .keep_all = T)
prev_families = read.csv("DB3_control_families.csv")
done =
done %>%
full_join(dbmap %>% filter(X.SampleID %in% prev_families$X.SampleID))
done = filter(done, reads_number > 1000)
done$sample_ID = gsub("E_", "", done$sample_ID %>% as.character())
done$sample_ID = gsub("-", "_", done$sample_ID %>% as.character())
done = distinct(done, sample_ID, .keep_all = T)
done$Age %<>% as.character() %>% as.numeric()
names(done)[1] = "sampleid"
# write.table(done, "16s_map.tsv", row.names = F, sep = "\t", quote = F)
hadasmap = read.xlsx("Table for Rotem- Families 12.11.20.xlsx", 1)
hadasmap %<>% pivot_longer(cols = starts_with("DNA_Extracted_from")
, names_to = "Sample.type", values_to = "ID", values_drop_na = T)
hadasmap$Sample.ID = hadasmap$ID
hadasmap$Sample.ID = str_replace_all(hadasmap$Sample.ID, "E_", replacement = "")
hadasmap$Sample.ID = str_replace_all(hadasmap$Sample.ID, "-", replacement = "_")
hadasmap$Age %<>% as.character() %>% as.numeric()
# map$Sample.ID = paste0("E_", map$Sample.ID)
hadasmap$pnid = paste0(hadasmap$Family,"-", hadasmap$Subject_.)
# Verify that all samples that already run fount Hadas table
# setdiff(done$sample_ID , map$Sample.ID)
# intersect(done$sample_ID , map$Sample.ID) %>% length() == length(done$sample_ID)
names(hadasmap)[96] = "sample_ID"
names(prev_families)[1] = "sampleid"
allmap = done %>% select(sample_ID, sampleid, reads_number, Database, Cohort) %>%
left_join(hadasmap %>% select(-ID), by = "sample_ID")
allmap %<>% left_join(prev_families %>% select(sampleid, Family, Age, Gender), by = "sampleid")
# allmap = full_join(tt
# , prev_families %>% select(X.SampleID, sample_ID, ID, Age, Gender, Family)
# , by = "sample_ID")
allmap %>% select(contains("Family"))
allmap = unite(allmap, "Family", contains("Family."), na.rm = T)
allmap = unite(allmap, "Age", contains("Age."), na.rm = T)
allmap = unite(allmap, "Gender", contains("Gender."), na.rm = T)
allmap$Gender = gsub("Male", "M", allmap$Gender)
allmap$Gender = gsub("Female", "F", allmap$Gender)
allmap$Age = allmap$Age %>% as.numeric()
allmap$Disease.group %<>% replace_na(0)
map = sample_data(allmap)
sample_names(map) = map$sampleid
# write.xlsx(hadasmap, "hadasmap_for_rotem_12Nov20.xlsx")
hadasmap %>% filter(Family == "FR5") %>% select(ID)
map %>% data.frame() %>% filter(is.na(Sample.type))
biompath = "/pita/pub/data/16S_DBs/processed/16S_DB1-13_merged/table.qza"
taxpath = "/pita/pub/data/16S_DBs/processed/16S_DB1-13_merged/taxonomy.qza"
biom = read_qza(biompath)$data
biom = biom %>% data.frame()
biom = biom %>% select(sample_names(map))
min_reads_cutoff = 2000
biom = biom[apply(biom, 2, sum) > min_reads_cutoff]
rare_biom = vegan::rrarefy(biom %>% t(), 10000) %>% t()
otu = phyloseq::otu_table(rare_biom, taxa_are_rows = T)
otu = phyloseq::prune_taxa(taxa_sums(otu) > 10, otu)
relative_otu = otu_table(funrar::make_relative(otu@.Data), taxa_are_rows = T)
relative_otu = filter_taxa(relative_otu, function(x) mean(x) > 1e-5, TRUE)
pretax = read_qza(taxpath)$data
tax = pretax %>% phyloseq::tax_table()
phyloseq::taxa_names(tax) = pretax$Feature.ID
tree = ape::rtree(ntaxa(tax), rooted = T, tip.label = phyloseq::taxa_names(tax))
abs_exp = phyloseq(otu, map, tax, tree)
exp = phyloseq(relative_otu, map, tax, tree)
ord <- ordinate(exp, method = "PCoA", distance = "unifrac")
plot_ordination(exp, ord, color = "Sample.type") + theme_q2r()
### Filter feaces data
exp_feaces = exp@sam_data %>% data.frame() %>%
filter(Sample.type == "DNA_Extracted_from_feaces...F." | is.na(Sample.type)) %>%
rownames() %>% prune_samples(exp)
exp_feaces %>% sample_data() %>% data.frame() %>%
select(c(2,1,3:length(exp@sam_data %>% data.frame()))) %>%
write.table(file = "human_feaces.tsv", sep = "\t", quote = F, row.names = F, col.names = T)
exp_mouth = exp@sam_data %>% data.frame() %>%
filter(!(Sample.type == "DNA_Extracted_from_feaces...F." | is.na(Sample.type))) %>%
rownames() %>% prune_samples(exp)
exp_mouth %>% sample_data() %>% data.frame() %>%
select(c(2,1,3:length(exp@sam_data %>% data.frame()))) %>%
write.table(file = "human_mouth.tsv", sep = "\t", quote = F, row.names = F, col.names = T)
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime feature-table filter-samples \
--i-table /pita/pub/data/16S_DBs/processed/16S_DB1-13_merged/table.qza \
--m-metadata-file /pita/users/rotem/eyes/human/human_feaces.tsv \
--o-filtered-table /pita/users/rotem/eyes/human/human_feaces_table.qza
system(paste0(qiime_path, "feature-table filter-samples ",
"--i-table /pita/pub/data/16S_DBs/processed/16S_DB1-13_merged/table.qza ",
"--m-metadata-file human_mouth.tsv ",
"--o-filtered-table mouth/human_mouth.qza ") )
#/pita/users/rotem/bin/save_rep_seq.sh human_feaces_table.qza
save_rep_seq("human_feaces_table.qza")
save_rep_seq("mouth/human_mouth.qza", "mouth/rep-seqs.qza")
this chunk not working in notebook, run seperatly in qiime2 environment
# alias run-sepp.sh='/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/run-sepp.sh'
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime fragment-insertion sepp \
--i-representative-sequences rep-seqs.qza \
--i-reference-database /pita/pub/gg_13_8_otus/sepp-refs-gg-13-8.qza \
--o-tree rooted-tree.qza \
--o-placements insertion-placements.qza \
--p-threads 42
mkdir res
rm -r res/core-metrics-results
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime diversity core-metrics-phylogenetic \
--i-phylogeny rooted-tree.qza \
--i-table human_feaces_table.qza \
--p-sampling-depth 2000 \
--m-metadata-file human_feaces.tsv \
--output-dir ./res/core-metrics-results \
--p-n-jobs 20
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime diversity alpha-group-significance \
--i-alpha-diversity res/core-metrics-results/faith_pd_vector.qza \
--m-metadata-file human_feaces.tsv \
--o-visualization res/core-metrics-results/faith-pd-group-significance.qzv
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime diversity alpha-correlation \
--i-alpha-diversity res/core-metrics-results/faith_pd_vector.qza \
--m-metadata-file human_feaces.tsv \
--o-visualization res/core-metrics-results/faith-pd-correlation.qzv
# /pita/pub/scripts/qiime2/gg_99_classifier_150bp.qza
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime feature-classifier classify-sklearn \
--i-classifier training-feature-classifiers/classifier.qza \
--i-reads rep-seqs.qza \
--o-classification res/taxonomy.qza \
--p-n-jobs 20
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime metadata tabulate \
--m-input-file res/taxonomy.qza \
--o-visualization res/taxonomy.qzv
/pita/users/rotem/miniconda3/envs/qiime2-2020.2/bin/qiime taxa barplot \
--i-table human_feaces_table.qza \
--i-taxonomy res/taxonomy.qza \
--m-metadata-file human_feaces.tsv \
--o-visualization res/taxa-bar-plots.qzv
# exp@sam_data %>% data.frame() %>% filter(is.na(Sample.type))
ord_f <- ordinate(exp_feaces, method = "PCoA", distance = "unifrac")
pl = ord_f$vectors %>% data.frame() %>% rownames_to_column("index") %>%
left_join(exp_feaces@sam_data %>% data.frame() %>% rownames_to_column("index")) %>%
ggplot(aes(x = Axis.1, y = Axis.2, color = Family, shape = Disease.group)) +
geom_point() +
gghighlight(label_key = Family) +
facet_wrap(~Family) +
theme_q2r()
plotly::ggplotly(pl, width = 800)
# pl
pl = ord_f$vectors %>% data.frame() %>% rownames_to_column("index") %>%
left_join(exp_feaces@sam_data %>% data.frame() %>% rownames_to_column("index")) %>%
ggplot(aes(x = Axis.1, y = Axis.2, shape = Opthalmology, color = Family)) +
geom_point() +
gghighlight(label_key = Family) +
facet_wrap(~Family) +
theme_q2r()
plotly::ggplotly(pl , width = 800)
# pl
ord_s <- ordinate(exp_mouth, method = "PCoA", distance = "unifrac")
pl = ord_s$vectors %>% data.frame() %>% rownames_to_column("index") %>%
left_join(exp_mouth@sam_data %>% data.frame() %>% rownames_to_column("index")) %>%
ggplot(aes(x = Axis.1, y = Axis.2, color = Family, shape = Disease.group)) +
geom_point(size = 2) +
gghighlight(label_key = Family) +
facet_wrap(~Family) +
theme_q2r()
plotly::ggplotly(pl , width = 800)
# pl
faith = read_qza("res/core-metrics-results/faith_pd_vector.qza")$data
pl =
faith %>% rownames_to_column("index") %>%
left_join(exp_feaces@sam_data %>% data.frame() %>% rownames_to_column("index")) %>%
group_by(Family) %>% filter(length(pnid) > 2) %>%
ggplot(aes(x = sample_ID, y = faith_pd, color = Disease.group)) +
geom_point() +
# geom_hline(aes(yintercept = mean(faith_pd)), color = "red", alpha = .25) +
facet_wrap(~Family, scales = "free_x") +
theme_q2r()
plotly::ggplotly(pl)
For: Family, Disease.group, Age, Weight_.gr, BMI, and Gender.
short_bacteria_name <- function(Taxon) {
split_taxonomy = strsplit(as.character(Taxon), split = "[kpcofgs]__")[[1]]
short_taxonomy = split_taxonomy[nchar(split_taxonomy) > 4]
# remove bacteria prefix
paste(short_taxonomy[2:length(short_taxonomy)], collapse = " ")
}
Number of significant results for each category
maaslin_sig_results <- read.csv("maaslin/significant_results.tsv", sep = "\t")
fulltaxonomy = read_qza("res/taxonomy.qza")$data
fulltaxonomy$short = sapply(fulltaxonomy$Taxon, short_bacteria_name)
names(fulltaxonomy)[1] = "feature"
maaslin_sig_results %>% group_by(metadata, value) %>%
summarise(significant.SVs = length(feature)) %>% paged_table()
pl =
maaslin_sig_results %>% left_join(fulltaxonomy, by = "feature") %>%
select(metadata, value, Taxon, coef, qval) %>%
top_n(60, qval) %>%
ggplot(aes(x = metadata, y = Taxon, fill = qval*sign(coef))) +
geom_tile() +
scale_fill_gradientn(colors = c('orange', 'red', 'black', 'blue'))+
theme_q2r() +
theme(axis.text.x = element_text(angle = 270), axis.text.y = element_text(size = 12))
# theme(axis.text.y = element_blank(), axis.ticks.y = element_blank())
# plotly::ggplotly(pl)
# DT::datatable(style = "bootstrap")
# paged_table()
pl
# SV <- maaslin_sig_results %>% filter(metadata == "Disease.group") %>%
# top_n(1, qval) %>% pull(feature)
#
# exp_feaces %>% otu_table() %>% data.frame() %>% t() %>% data.frame() %>%
# select(bac = SV[2]) %>%
# rownames_to_column("index") %>%
# left_join(exp_feaces@sam_data %>% data.frame() %>% rownames_to_column("index")) %>%
# ggplot(aes(x = Disease.group, color = Disease.group, y = log(bac))) +
# geom_boxplot() +
# geom_jitter(alpha = .5) +
# ggtitle(SV[2])
# theme_q2r()
# allmap$Cohort %>% factor() %>% levels()
ff = exp %>% sample_data() %>% pull(Cohort) %>% factor() %>% levels()
import calour as ca
import pandas as pd
import os
import sys
import matplotlib
import numpy as np
import calour_utils as cu
## failed to load logging config file
matplotlib.use("Agg", force = True)
exp = ca.read_qiime2(r.biompath, "human_feaces.tsv", min_reads=2000, normalize=10000)
## 2020-12-06 15:30:49 WARNING These have data but do not have metadata: {'DB5.123', 'DB1.114', 'DB4.133', 'DB5.153', 'DB5.163', 'DB10.058', 'DB2.083', 'DB12.168', 'DB12.262', 'DB6.115', 'DB5.242', 'DB12.320', 'DB2.201', 'DB9.294', 'DB10.119', 'DB10.262', 'DB12.017', 'DB10.208', 'DB1.096', 'DB5.080', 'DB1.223', 'DB13.207', 'DB11.192', 'DB12.055', 'DB13.212', 'DB9.233', 'DB4.131', 'DB8.089', 'DB3.019', 'DB6.178', 'DB12.305', 'DB12.050', 'DB5.083', 'DB2.128', 'DB4.126', 'DB11.176', 'DB1.000', 'DB5.159', 'DB11.207', 'DB6.257', 'DB4.063', 'DB10.189', 'DB3.125', 'DB6.025', 'DB8.156', 'DB9.221', 'DB13.266', 'DB3.047', 'DB6.134', 'DB7.106', 'DB4.033', 'DB11.007', 'DB12.166', 'DB5.238', 'DB6.164', 'DB11.043', 'DB12.159', 'DB11.280', 'DB4.205', 'DB5.216', 'DB3.067', 'DB10.145', 'DB11.328', 'DB3.168', 'DB2.193', 'DB1.176', 'DB2.195', 'DB11.000', 'DB8.023', 'DB11.323', 'DB10.234', 'DB13.239', 'DB13.096', 'DB12.093', 'DB6.208', 'DB12.299', 'DB7.013', 'DB5.292', 'DB10.146', 'DB13.140', 'DB10.167', 'DB13.071', 'DB7.074', 'DB4.165', 'DB9.066', 'DB10.065', 'DB9.182', 'DB13.120', 'DB3.012', 'DB7.217', 'DB1.148', 'DB3.251', 'DB8.198', 'DB6.015', 'DB9.002', 'DB3.046', 'DB2.085', 'DB4.090', 'DB13.285', 'DB12.321', 'DB13.134', 'DB13.069', 'DB7.214', 'DB6.065', 'DB10.089', 'DB11.077', 'DB6.113', 'DB11.287', 'DB2.221', 'DB8.147', 'DB9.223', 'DB1.272', 'DB10.256', 'DB10.152', 'DB9.038', 'DB5.147', 'DB10.209', 'DB4.087', 'DB11.239', 'DB13.233', 'DB12.212', 'DB13.222', 'DB12.281', 'DB7.165', 'DB3.136', 'DB4.250', 'DB11.304', 'DB8.200', 'DB6.125', 'DB12.352', 'DB11.016', 'DB13.250', 'DB6.062', 'DB11.297', 'DB5.237', 'DB3.042', 'DB3.095', 'DB10.232', 'DB13.054', 'DB1.018', 'DB12.102', 'DB13.127', 'DB5.167', 'DB10.183', 'DB5.118', 'DB1.031', 'DB3.204', 'DB6.078', 'DB1.102', 'DB8.124', 'DB12.226', 'DB7.243', 'DB7.122', 'DB10.036', 'DB2.190', 'DB13.315', 'DB13.084', 'DB10.169', 'DB5.249', 'DB4.081', 'DB11.143', 'DB7.258', 'DB7.069', 'DB11.180', 'DB2.135', 'DB2.077', 'DB7.280', 'DB11.228', 'DB1.151', 'DB1.215', 'DB12.348', 'DB1.097', 'DB10.153', 'DB13.205', 'DB3.043', 'DB8.157', 'DB7.116', 'DB10.223', 'DB12.266', 'DB9.297', 'DB3.023', 'DB10.017', 'DB9.019', 'DB8.280', 'DB9.077', 'DB1.243', 'DB8.173', 'DB11.243', 'DB7.278', 'DB5.285', 'DB8.283', 'DB2.194', 'DB8.202', 'DB9.194', 'DB7.061', 'DB1.022', 'DB2.132', 'DB1.042', 'DB11.102', 'DB4.032', 'DB12.286', 'DB2.209', 'DB3.027', 'DB4.220', 'DB3.132', 'DB12.141', 'DB13.209', 'DB6.211', 'DB4.026', 'DB4.249', 'DB1.191', 'DB2.226', 'DB4.145', 'DB5.093', 'DB8.020', 'DB7.134', 'DB12.240', 'DB6.162', 'DB1.130', 'DB9.020', 'DB1.249', 'DB5.139', 'DB1.010', 'DB11.253', 'DB3.266', 'DB11.318', 'DB12.132', 'DB13.304', 'DB8.030', 'DB3.118', 'DB5.099', 'DB4.089', 'DB10.101', 'DB13.075', 'DB12.346', 'DB11.251', 'DB8.258', 'DB9.114', 'DB11.104', 'DB4.095', 'DB6.244', 'DB3.001', 'DB6.024', 'DB7.152', 'DB12.154', 'DB4.132', 'DB7.144', 'DB9.225', 'DB13.337', 'DB13.185', 'DB3.158', 'DB4.241', 'DB1.122', 'DB1.132', 'DB5.145', 'DB10.077', 'DB4.129', 'DB5.065', 'DB10.042', 'DB11.184', 'DB7.259', 'DB11.151', 'DB8.268', 'DB10.043', 'DB6.104', 'DB12.229', 'DB8.271', 'DB3.086', 'DB4.190', 'DB6.201', 'DB10.125', 'DB13.095', 'DB12.090', 'DB2.103', 'DB4.016', 'DB7.090', 'DB11.047', 'DB12.155', 'DB3.201', 'DB13.357', 'DB12.063', 'DB12.247', 'DB6.161', 'DB7.096', 'DB10.274', 'DB4.260', 'DB3.044', 'DB6.137', 'DB3.243', 'DB4.039', 'DB10.160', 'DB6.268', 'DB12.041', 'DB5.257', 'DB13.269', 'DB5.196', 'DB7.163', 'DB2.076', 'DB11.052', 'DB9.078', 'DB1.141', 'DB12.014', 'DB13.261', 'DB1.045', 'DB12.101', 'DB4.275', 'DB12.300', 'DB12.146', 'DB10.002', 'DB4.299', 'DB7.062', 'DB1.021', 'DB6.262', 'DB8.143', 'DB4.034', 'DB5.279', 'DB6.253', 'DB7.201', 'DB10.296', 'DB1.231', 'DB9.156', 'DB10.210', 'DB1.101', 'DB7.234', 'DB3.092', 'DB11.031', 'DB1.086', 'DB7.059', 'DB4.213', 'DB13.044', 'DB8.092', 'DB10.154', 'DB10.201', 'DB13.146', 'DB5.184', 'DB5.269', 'DB9.169', 'DB5.056', 'DB9.096', 'DB9.119', 'DB10.131', 'DB11.003', 'DB11.295', 'DB12.038', 'DB4.044', 'DB5.087', 'DB9.099', 'DB2.040', 'DB4.159', 'DB6.177', 'DB2.104', 'DB5.214', 'DB13.124', 'DB8.057', 'DB10.156', 'DB4.105', 'DB9.254', 'DB7.159', 'DB5.128', 'DB8.257', 'DB11.117', 'DB10.121', 'DB9.209', 'DB1.087', 'DB10.224', 'DB11.309', 'DB11.089', 'DB6.050', 'DB8.217', 'DB11.321', 'DB7.054', 'DB4.236', 'DB5.201', 'DB5.105', 'DB8.249', 'DB7.143', 'DB10.129', 'DB13.050', 'DB6.232', 'DB2.192', 'DB2.036', 'DB9.147', 'DB7.244', 'DB13.257', 'DB2.121', 'DB8.148', 'DB11.226', 'DB6.063', 'DB11.266', 'DB11.277', 'DB1.199', 'DB2.199', 'DB8.288', 'DB5.182', 'DB6.011', 'DB3.123', 'DB12.161', 'DB12.218', 'DB7.104', 'DB1.030', 'DB11.071', 'DB1.144', 'DB11.058', 'DB2.038', 'DB12.097', 'DB1.252', 'DB7.285', 'DB8.219', 'DB1.211', 'DB3.066', 'DB5.013', 'DB7.010', 'DB8.212', 'DB13.042', 'DB3.126', 'DB12.334', 'DB13.169', 'DB4.261', 'DB11.247', 'DB11.292', 'DB1.036', 'DB2.223', 'DB11.325', 'DB1.241', 'DB5.040', 'DB4.068', 'DB9.238', 'DB1.210', 'DB3.138', 'DB1.095', 'DB6.052', 'DB12.026', 'DB10.100', 'DB11.014', 'DB12.271', 'DB8.266', 'DB7.240', 'DB7.136', 'DB1.182', 'DB4.108', 'DB4.150', 'DB12.221', 'DB6.288', 'DB7.287', 'DB13.356', 'DB7.207', 'DB13.292', 'DB12.298', 'DB12.036', 'DB3.017', 'DB3.063', 'DB6.140', 'DB8.017', 'DB6.261', 'DB8.063', 'DB10.269', 'DB7.033', 'DB10.161', 'DB11.042', 'DB5.086', 'DB7.094', 'DB10.139', 'DB2.035', 'DB8.187', 'DB3.197', 'DB13.258', 'DB13.288', 'DB10.113', 'DB2.046', 'DB11.306', 'DB5.241', 'DB12.092', 'DB9.205', 'DB5.231', 'DB7.089', 'DB9.120', 'DB11.250', 'DB12.344', 'DB5.047', 'DB11.085', 'DB8.003', 'DB13.085', 'DB4.017', 'DB6.016', 'DB11.066', 'DB11.196', 'DB4.258', 'DB4.003', 'DB1.112', 'DB8.159', 'DB1.266', 'DB1.224', 'DB10.039', 'DB2.068', 'DB6.075', 'DB10.103', 'DB11.168', 'DB8.204', 'DB11.179', 'DB6.000', 'DB6.166', 'DB7.107', 'DB10.162', 'DB12.316', 'DB7.156', 'DB5.291', 'DB1.167', 'DB9.111', 'DB11.050', 'DB7.046', 'DB1.109', 'DB13.299', 'DB9.167', 'DB5.071', 'DB8.136', 'DB8.272', 'DB3.071', 'DB2.215', 'DB3.062', 'DB6.190', 'DB6.296', 'DB3.008', 'DB5.273', 'DB4.168', 'DB13.345', 'DB12.025', 'DB6.012', 'DB4.036', 'DB11.136', 'DB12.167', 'DB2.002', 'DB4.065', 'DB11.173', 'DB9.087', 'DB10.130', 'DB4.234', 'DB8.128', 'DB2.179', 'DB10.253', 'DB11.034', 'DB9.101', 'DB11.248', 'DB10.120', 'DB12.044', 'DB10.278', 'DB6.233', 'DB3.245', 'DB10.216', 'DB5.018', 'DB4.251', 'DB7.075', 'DB5.244', 'DB12.110', 'DB2.082', 'DB13.200', 'DB4.038', 'DB5.197', 'DB12.088', 'DB3.254', 'DB6.214', 'DB10.092', 'DB4.083', 'DB12.086', 'DB5.036', 'DB3.049', 'DB6.186', 'DB11.307', 'DB13.116', 'DB13.256', 'DB12.030', 'DB9.074', 'DB5.063', 'DB10.277', 'DB8.158', 'DB11.028', 'DB4.283', 'DB4.206', 'DB8.250', 'DB13.049', 'DB1.128', 'DB4.046', 'DB11.083', 'DB8.052', 'DB2.059', 'DB3.121', 'DB6.171', 'DB9.136', 'DB10.295', 'DB5.043', 'DB10.132', 'DB11.193', 'DB13.067', 'DB5.260', 'DB7.166', 'DB8.127', 'DB4.125', 'DB13.234', 'DB13.331', 'DB6.018', 'DB5.198', 'DB6.070', 'DB13.235', 'DB5.089', 'DB9.180', 'DB3.149', 'DB12.304', 'DB1.213', 'DB2.060', 'DB5.001', 'DB2.015', 'DB8.168', 'DB12.027', 'DB11.145', 'DB6.114', 'DB7.298', 'DB2.133', 'DB3.160', 'DB13.078', 'DB2.111', 'DB7.177', 'DB13.218', 'DB2.129', 'DB4.263', 'DB10.006', 'DB11.076', 'DB3.130', 'DB3.026', 'DB9.072', 'DB11.127', 'DB13.309', 'DB9.009', 'DB3.145', 'DB3.169', 'DB8.125', 'DB9.166', 'DB12.107', 'DB8.102', 'DB7.097', 'DB4.057', 'DB2.109', 'DB4.207', 'DB2.169', 'DB4.170', 'DB7.210', 'DB10.217', 'DB6.068', 'DB12.254', 'DB8.211', 'DB12.082', 'DB11.159', 'DB12.073', 'DB5.271', 'DB8.239', 'DB9.216', 'DB1.133', 'DB7.117', 'DB13.321', 'DB7.084', 'DB5.220', 'DB12.315', 'DB6.027', 'DB13.277', 'DB7.246', 'DB5.031', 'DB11.289', 'DB11.177', 'DB5.100', 'DB2.001', 'DB3.032', 'DB6.193', 'DB1.193', 'DB3.015', 'DB12.015', 'DB7.126', 'DB7.110', 'DB1.262', 'DB4.135', 'DB9.229', 'DB12.059', 'DB6.019', 'DB5.193', 'DB13.242', 'DB5.057', 'DB13.354', 'DB9.105', 'DB3.016', 'DB4.193', 'DB8.238', 'DB6.290', 'DB1.236', 'DB8.141', 'DB11.154', 'DB5.199', 'DB11.063', 'DB1.040', 'DB5.183', 'DB7.103', 'DB4.162', 'DB11.330', 'DB12.324', 'DB12.235', 'DB2.240', 'DB10.109', 'DB4.248', 'DB9.001', 'DB13.165', 'DB7.141', 'DB10.279', 'DB13.058', 'DB3.094', 'DB5.104', 'DB2.079', 'DB12.034', 'DB4.050', 'DB3.058', 'DB6.254', 'DB9.173', 'DB2.156', 'DB5.181', 'DB12.252', 'DB12.140', 'DB12.295', 'DB11.019', 'DB2.198', 'DB5.041', 'DB7.274', 'DB1.019', 'DB3.108', 'DB10.127', 'DB6.229', 'DB2.010', 'DB10.207', 'DB9.232', 'DB7.098', 'DB8.044', 'DB9.004', 'DB5.195', 'DB2.140', 'DB7.101', 'DB5.006', 'DB5.206', 'DB13.007', 'DB7.068', 'DB1.159', 'DB9.198', 'DB2.181', 'DB5.150', 'DB12.158', 'DB6.198', 'DB2.162', 'DB7.251', 'DB6.131', 'DB9.144', 'DB10.293', 'DB8.195', 'DB9.129', 'DB10.003', 'DB4.024', 'DB5.286', 'DB13.047', 'DB13.060', 'DB12.302', 'DB13.286', 'DB2.157', 'DB11.079', 'DB13.162', 'DB5.267', 'DB7.162', 'DB1.229', 'DB13.092', 'DB6.091', 'DB1.077', 'DB1.025', 'DB3.034', 'DB3.162', 'DB4.069', 'DB9.174', 'DB4.174', 'DB11.095', 'DB10.220', 'DB11.112', 'DB7.185', 'DB10.137', 'DB11.059', 'DB6.051', 'DB12.106', 'DB4.262', 'DB9.016', 'DB13.081', 'DB13.274', 'DB6.020', 'DB6.076', 'DB4.074', 'DB8.101', 'DB10.221', 'DB8.074', 'DB8.056', 'DB1.034', 'DB3.192', 'DB5.079', 'DB6.112', 'DB1.244', 'DB1.127', 'DB12.237', 'DB10.225', 'DB1.239', 'DB5.058', 'DB9.185', 'DB5.161', 'DB6.227', 'DB8.014', 'DB8.262', 'DB3.151', 'DB7.175', 'DB5.281', 'DB7.007', 'DB8.094', 'DB7.164', 'DB7.057', 'DB1.253', 'DB11.212', 'DB6.056', 'DB8.081', 'DB3.194', 'DB1.081', 'DB5.106', 'DB2.203', 'DB6.039', 'DB5.114', 'DB8.231', 'DB1.032', 'DB3.182', 'DB5.287', 'DB7.227', 'DB10.214', 'DB11.296', 'DB5.135', 'DB7.073', 'DB8.108', 'DB8.260', 'DB11.317', 'DB11.057', 'DB10.081', 'DB8.215', 'DB5.075', 'DB7.221', 'DB7.040', 'DB12.317', 'DB13.117', 'DB6.245', 'DB10.073', 'DB13.048', 'DB9.139', 'DB8.203', 'DB12.337', 'DB6.280', 'DB9.178', 'DB4.037', 'DB3.103', 'DB6.230', 'DB8.129', 'DB13.204', 'DB13.043', 'DB3.091', 'DB13.272', 'DB10.126', 'DB4.041', 'DB2.056', 'DB11.203', 'DB12.165', 'DB6.250', 'DB13.053', 'DB5.121', 'DB5.138', 'DB12.113', 'DB6.120', 'DB2.117', 'DB7.296', 'DB2.094', 'DB3.196', 'DB11.216', 'DB12.060', 'DB11.008', 'DB12.065', 'DB1.092', 'DB7.198', 'DB12.215', 'DB2.210', 'DB11.009', 'DB11.268', 'DB12.290', 'DB13.148', 'DB3.093', 'DB8.073', 'DB2.239', 'DB12.114', 'DB3.013', 'DB3.061', 'DB3.175', 'DB11.166', 'DB9.219', 'DB12.006', 'DB8.226', 'DB7.205', 'DB10.072', 'DB6.032', 'DB13.170', 'DB7.195', 'DB1.206', 'DB4.237', 'DB6.079', 'DB13.107', 'DB13.041', 'DB10.159', 'DB4.053', 'DB8.220', 'DB1.282', 'DB9.161', 'DB11.078', 'DB11.142', 'DB11.074', 'DB4.224', 'DB6.223', 'DB2.207', 'DB3.006', 'DB8.224', 'DB10.085', 'DB7.026', 'DB5.103', 'DB6.228', 'DB12.130', 'DB1.060', 'DB7.161', 'DB1.115', 'DB2.063', 'DB3.202', 'DB3.073', 'DB7.238', 'DB12.223', 'DB8.296', 'DB11.299', 'DB12.251', 'DB13.312', 'DB12.307', 'DB4.020', 'DB3.181', 'DB11.340', 'DB11.188', 'DB10.021', 'DB4.215', 'DB7.135', 'DB8.040', 'DB7.188', 'DB9.235', 'DB9.231', 'DB10.254', 'DB8.188', 'DB13.247', 'DB10.230', 'DB1.163', 'DB4.222', 'DB10.218', 'DB7.192', 'DB3.159', 'DB8.039', 'DB9.272', 'DB11.068', 'DB9.014', 'DB9.081', 'DB4.228', 'DB6.102', 'DB10.095', 'DB13.201', 'DB8.265', 'DB13.226', 'DB10.204', 'DB1.143', 'DB5.081', 'DB5.011', 'DB10.064', 'DB11.227', 'DB2.051', 'DB11.246', 'DB10.071', 'DB1.164', 'DB13.131', 'DB5.142', 'DB9.179', 'DB10.031', 'DB12.225', 'DB10.284', 'DB5.143', 'DB1.072', 'DB4.066', 'DB10.237', 'DB11.106', 'DB3.220', 'DB4.070', 'DB4.244', 'DB2.189', 'DB8.253', 'DB11.269', 'DB3.240', 'DB4.030', 'DB7.108', 'DB8.153', 'DB10.035', 'DB9.130', 'DB10.242', 'DB11.322', 'DB4.113', 'DB3.048', 'DB6.098', 'DB8.269', 'DB12.095', 'DB4.216', 'DB3.099', 'DB6.084', 'DB7.051', 'DB12.029', 'DB1.046', 'DB3.076', 'DB5.052', 'DB6.234', 'DB2.018', 'DB13.219', 'DB7.021', 'DB5.069', 'DB4.061', 'DB8.134', 'DB10.268', 'DB1.075', 'DB2.229', 'DB9.184', 'DB11.060', 'DB12.301', 'DB9.170', 'DB9.064', 'DB3.011', 'DB2.228', 'DB3.250', 'DB7.154', 'DB9.006', 'DB11.070', 'DB13.287', 'DB11.256', 'DB7.148', 'DB11.156', 'DB6.053', 'DB9.073', 'DB1.119', 'DB1.104', 'DB7.266', 'DB3.154', 'DB2.233', 'DB6.260', 'DB13.230', 'DB11.183', 'DB11.134', 'DB6.014', 'DB13.317', 'DB13.077', 'DB8.133', 'DB2.084', 'DB1.260', 'DB9.263', 'DB5.007', 'DB7.123', 'DB3.055', 'DB12.273', 'DB7.014', 'DB5.254', 'DB11.274', 'DB12.275', 'DB1.068', 'DB11.242', 'DB4.076', 'DB1.255', 'DB5.171', 'DB3.265', 'DB6.041', 'DB12.172', 'DB1.126', 'DB7.006', 'DB8.035', 'DB10.192', 'DB3.109', 'DB7.044', 'DB1.002', 'DB9.075', 'DB6.236', 'DB10.177', 'DB5.020', 'DB12.010', 'DB4.059', 'DB5.180', 'DB5.072', 'DB8.016', 'DB2.165', 'DB13.335', 'DB4.300', 'DB11.301', 'DB13.126', 'DB7.003', 'DB8.021', 'DB11.245', 'DB12.245', 'DB7.120', 'DB11.069', 'DB8.066', 'DB11.103', 'DB5.085', 'DB10.206', 'DB5.270', 'DB3.153', 'DB7.176', 'DB4.088', 'DB7.284', 'DB6.284', 'DB13.248', 'DB10.013', 'DB13.300', 'DB2.232', 'DB8.103', 'DB1.048', 'DB12.003', 'DB10.052', 'DB11.312', 'DB13.273', 'DB7.178', 'DB3.083', 'DB2.045', 'DB2.080', 'DB3.021', 'DB8.059', 'DB7.282', 'DB12.112', 'DB8.235', 'DB5.095', 'DB8.216', 'DB3.164', 'DB8.049', 'DB5.108', 'DB12.024', 'DB13.255', 'DB5.154', 'DB6.031', 'DB1.198', 'DB3.124', 'DB3.104', 'DB11.118', 'DB13.332', 'DB1.011', 'DB3.077', 'DB2.174', 'DB3.029', 'DB2.106', 'DB5.030', 'DB8.042', 'DB8.001', 'DB12.192', 'DB5.005', 'DB13.115', 'DB10.097', 'DB6.035', 'DB8.181', 'DB9.076', 'DB10.244', 'DB1.283', 'DB10.016', 'DB4.268', 'DB2.042', 'DB1.265', 'DB3.139', 'DB6.090', 'DB6.183', 'DB4.298', 'DB9.162', 'DB8.086', 'DB2.236', 'DB5.248', 'DB2.183', 'DB6.007', 'DB6.225', 'DB8.012', 'DB2.028', 'DB12.291', 'DB13.052', 'DB13.220', 'DB7.056', 'DB8.299', 'DB10.051', 'DB11.222', 'DB7.043', 'DB12.265', 'DB7.119', 'DB5.129', 'DB2.008', 'DB11.294', 'DB13.249', 'DB7.186', 'DB10.222', 'DB3.246', 'DB5.210', 'DB12.171', 'DB9.140', 'DB9.003', 'DB3.101', 'DB13.175', 'DB12.005', 'DB5.283', 'DB5.178', 'DB6.033', 'DB10.020', 'DB6.202', 'DB1.094', 'DB8.201', 'DB11.221', 'DB8.113', 'DB10.087', 'DB3.025', 'DB4.084', 'DB11.181', 'DB8.194', 'DB12.163', 'DB13.057', 'DB4.204', 'DB3.211', 'DB10.001', 'DB12.104', 'DB1.160', 'DB2.055', 'DB8.058', 'DB10.068', 'DB5.189', 'DB2.170', 'DB9.143', 'DB4.242', 'DB6.264', 'DB7.173', 'DB6.028', 'DB9.262', 'DB10.187', 'DB1.038', 'DB7.035', 'DB4.082', 'DB5.098', 'DB10.165', 'DB9.098', 'DB3.128', 'DB4.167', 'DB12.078', 'DB8.041', 'DB5.209', 'DB10.276', 'DB11.017', 'DB1.107', 'DB7.220', 'DB11.027', 'DB11.171', 'DB7.222', 'DB11.035', 'DB2.049', 'DB9.132', 'DB11.062', 'DB9.164', 'DB7.153', 'DB1.064', 'DB11.202', 'DB1.181', 'DB3.070', 'DB8.061', 'DB8.099', 'DB11.018', 'DB12.164', 'DB1.195', 'DB3.051', 'DB10.023', 'DB6.184', 'DB4.022', 'DB10.048', 'DB12.115', 'DB13.306', 'DB12.007', 'DB11.011', 'DB7.190', 'DB1.050', 'DB1.008', 'DB6.213', 'DB1.129', 'DB8.090', 'DB10.133', 'DB1.150', 'DB5.236', 'DB8.254', 'DB1.278', 'DB10.106', 'DB5.097', 'DB7.241', 'DB2.021', 'DB2.159', 'DB8.079', 'DB8.131', 'DB12.249', 'DB12.096', 'DB9.112', 'DB3.072', 'DB1.013', 'DB5.268', 'DB10.049', 'DB9.171', 'DB12.127', 'DB8.152', 'DB10.233', 'DB7.281', 'DB10.228', 'DB6.240', 'DB5.050', 'DB11.036', 'DB7.157', 'DB6.285', 'DB2.173', 'DB3.244', 'DB3.161', 'DB11.141', 'DB11.272', 'DB13.138', 'DB12.217', 'DB13.031', 'DB12.126', 'DB10.061', 'DB11.091', 'DB10.151', 'DB4.175', 'DB9.093', 'DB11.187', 'DB8.139', 'DB7.289', 'DB7.194', 'DB13.112', 'DB3.079', 'DB6.199', 'DB12.022', 'DB13.137', 'DB13.102', 'DB7.001', 'DB5.202', 'DB9.298', 'DB7.292', 'DB12.256', 'DB7.181', 'DB8.106', 'DB11.144', 'DB12.138', 'DB11.111', 'DB6.203', 'DB13.167', 'DB4.031', 'DB13.227', 'DB12.076', 'DB8.207', 'DB13.100', 'DB12.283', 'DB7.202', 'DB4.217', 'DB7.295', 'DB11.241', 'DB6.172', 'DB11.288', 'DB11.097', 'DB7.253', 'DB11.276', 'DB10.144', 'DB12.043', 'DB3.171', 'DB8.214', 'DB4.073', 'DB6.089', 'DB4.156', 'DB8.140', 'DB5.131', 'DB3.050', 'DB3.111', 'DB5.160', 'DB9.107', 'DB11.182', 'DB7.005', 'DB1.105', 'DB6.191', 'DB5.084', 'DB10.009', 'DB11.311', 'DB5.045', 'DB7.151', 'DB8.184', 'DB11.113', 'DB2.235', 'DB13.333', 'DB4.194', 'DB12.289', 'DB3.080', 'DB13.260', 'DB12.148', 'DB13.059', 'DB2.019', 'DB8.175', 'DB5.025', 'DB3.105', 'DB8.084', 'DB10.134', 'DB12.129', 'DB5.223', 'DB10.010', 'DB13.360', 'DB2.185', 'DB8.170', 'DB2.126', 'DB6.097', 'DB11.120', 'DB3.110', 'DB9.092', 'DB12.001', 'DB3.097', 'DB5.188', 'DB6.192', 'DB7.092', 'DB4.259', 'DB10.084', 'DB3.096', 'DB9.021', 'DB6.200', 'DB3.116', 'DB6.252', 'DB5.137', 'DB6.064', 'DB8.142', 'DB11.170', 'DB12.084', 'DB13.098', 'DB13.290', 'DB7.203', 'DB8.297', 'DB7.018', 'DB12.239', 'DB1.065', 'DB9.289', 'DB13.327', 'DB9.079', 'DB12.032', 'DB5.016', 'DB7.147', 'DB7.208', 'DB11.210', 'DB12.094', 'DB10.112', 'DB1.234', 'DB11.286', 'DB12.019', 'DB4.272', 'DB1.145', 'DB13.103', 'DB8.293', 'DB4.172', 'DB10.205', 'DB7.256', 'DB3.191', 'DB13.110', 'DB4.054', 'DB4.227', 'DB3.112', 'DB11.041', 'DB1.049', 'DB11.230', 'DB10.029', 'DB4.192', 'DB8.036', 'DB2.180', 'DB1.091', 'DB3.207', 'DB8.180', 'DB1.218', 'DB13.313', 'DB4.043', 'DB2.143', 'DB1.212', 'DB1.149', 'DB4.094', 'DB10.264', 'DB11.150', 'DB12.267', 'DB13.159', 'DB4.064', 'DB7.226', 'DB10.099', 'DB10.117', 'DB11.205', 'DB3.003', 'DB12.170', 'DB9.126', 'DB1.284', 'DB5.010', 'DB2.093', 'DB9.227', 'DB13.241', 'DB1.004', 'DB7.189', 'DB3.144', 'DB2.171', 'DB5.124', 'DB3.199', 'DB9.032', 'DB11.293', 'DB2.204', 'DB3.087', 'DB10.164', 'DB3.100', 'DB9.141', 'DB9.125', 'DB10.030', 'DB3.005', 'DB3.035', 'DB2.061', 'DB9.012', 'DB10.272', 'DB3.037', 'DB13.144', 'DB13.083', 'DB11.092', 'DB11.319', 'DB2.034', 'DB7.125', 'DB13.253', 'DB8.289', 'DB10.141', 'DB5.134', 'DB7.016', 'DB13.270', 'DB5.091', 'DB10.252', 'DB12.047', 'DB5.008', 'DB1.220', 'DB13.193', 'DB8.290', 'DB3.120', 'DB5.039', 'DB13.244', 'DB7.250', 'DB8.069', 'DB13.118', 'DB12.309', 'DB9.168', 'DB2.098', 'DB9.013', 'DB9.236', 'DB12.121', 'DB13.341', 'DB11.220', 'DB7.261', 'DB11.098', 'DB9.085', 'DB3.014', 'DB7.048', 'DB7.184', 'DB11.038', 'DB5.149', 'DB11.114', 'DB4.147', 'DB13.297', 'DB5.275', 'DB12.066', 'DB10.259', 'DB11.126', 'DB11.240', 'DB12.282', 'DB12.220', 'DB12.080', 'DB8.028', 'DB10.285', 'DB12.330', 'DB13.216', 'DB5.200', 'DB11.174', 'DB2.218', 'DB5.076', 'DB7.209', 'DB11.096', 'DB6.226', 'DB7.138', 'DB4.155', 'DB5.277', 'DB10.057', 'DB1.039', 'DB7.137', 'DB12.008', 'DB3.056', 'DB13.121', 'DB12.144', 'DB13.166', 'DB12.039', 'DB1.245', 'DB7.060', 'DB10.093', 'DB6.109', 'DB8.236', 'DB2.086', 'DB3.170', 'DB11.197', 'DB13.106', 'DB8.221', 'DB6.194', 'DB7.128', 'DB1.084', 'DB13.119', 'DB5.021', 'DB4.091', 'DB12.118', 'DB6.096', 'DB3.002', 'DB13.264', 'DB5.229', 'DB5.221', 'DB8.227', 'DB9.127', 'DB9.186', 'DB10.124', 'DB12.160', 'DB13.157', 'DB9.217', 'DB7.042', 'DB4.062', 'DB11.086', 'DB12.079', 'DB7.229', 'DB5.053', 'DB5.033', 'DB11.081', 'DB3.133', 'DB6.127', 'DB12.100', 'DB5.074', 'DB1.099', 'DB9.204', 'DB4.056', 'DB8.171', 'DB5.194', 'DB3.041', 'DB12.340', 'DB10.289', 'DB7.223', 'DB1.090', 'DB4.075', 'DB10.044', 'DB13.123', 'DB1.196', 'DB9.108', 'DB1.219', 'DB6.049', 'DB4.200', 'DB7.076', 'DB6.036', 'DB7.225', 'DB8.261', 'DB11.178', 'DB13.076', 'DB11.021', 'DB12.105', 'DB1.062', 'DB10.076', 'DB13.125', 'DB7.270', 'DB8.116', 'DB3.195', 'DB9.258', 'DB13.168', 'DB1.056', 'DB11.026', 'DB7.017', 'DB13.224', 'DB10.288', 'DB10.170', 'DB8.205', 'DB11.167', 'DB8.112', 'DB10.004', 'DB13.293', 'DB11.149', 'DB11.055', 'DB13.199', 'DB5.146', 'DB7.204', 'DB13.093', 'DB6.005', 'DB4.211', 'DB11.200', 'DB2.127', 'DB5.064', 'DB8.051', 'DB12.173', 'DB3.242', 'DB11.211', 'DB4.255', 'DB11.155', 'DB13.094', 'DB11.051', 'DB13.326', 'DB2.158', 'DB11.032', 'DB12.135', 'DB5.054', 'DB12.152', 'DB6.045', 'DB7.020', 'DB9.234', 'DB8.176', 'DB12.175', 'DB13.221', 'DB11.255', 'DB12.294', 'DB13.308', 'DB1.015', 'DB13.275', 'DB6.093', 'DB10.056', 'DB6.167', 'DB9.192', 'DB13.091', 'DB11.162', 'DB10.059', 'DB12.241', 'DB3.022', 'DB7.091', 'DB4.273', 'DB2.070', 'DB10.158', 'DB2.139', 'DB1.152', 'DB7.228', 'DB3.089', 'DB3.209', 'DB6.055', 'DB3.053', 'DB5.027', 'DB7.247', 'DB3.200', 'DB2.164', 'DB10.115', 'DB7.071', 'DB7.262', 'DB10.008', 'DB3.106', 'DB12.314', 'DB5.235', 'DB2.152', 'DB1.017', 'DB7.055', 'DB6.163', 'DB13.355', 'DB4.079', 'DB2.245', 'DB10.275', 'DB2.150', 'DB11.223', 'DB8.010', 'DB1.043', 'DB9.011', 'DB5.224', 'DB11.139', 'DB8.114', 'DB13.328', 'DB10.096', 'DB4.130', 'DB8.093', 'DB13.217', 'DB8.032', 'DB11.020', 'DB12.002', 'DB12.261', 'DB5.261', 'DB7.150', 'DB9.005', 'DB5.169', 'DB12.119', 'DB10.240', 'DB4.104', 'DB6.067', 'DB8.004', 'DB1.281', 'DB1.161', 'DB7.002', 'DB13.192', 'DB3.069', 'DB2.026', 'DB1.037', 'DB4.235', 'DB5.009', 'DB8.000', 'DB13.314', 'DB8.247', 'DB7.236', 'DB13.344', 'DB13.197', 'DB10.079', 'DB7.088', 'DB12.325', 'DB6.129', 'DB8.029', 'DB12.156', 'DB9.070', 'DB8.088', 'DB12.031', 'DB4.096', 'DB12.359', 'DB8.060', 'DB13.283', 'DB2.184', 'DB11.132', 'DB5.028', 'DB1.135', 'DB12.150', 'DB1.085', 'DB9.213', 'DB11.270', 'DB7.206', 'DB13.254', 'DB5.070', 'DB12.011', 'DB9.128', 'DB2.237', 'DB8.119', 'DB4.281', 'DB10.105', 'DB1.117', 'DB7.113', 'DB3.107', 'DB7.231', 'DB5.068', 'DB5.156', 'DB4.045', 'DB1.100', 'DB8.243', 'DB12.313', 'DB11.279', 'DB1.290', 'DB10.246', 'DB11.195', 'DB1.093', 'DB9.193', 'DB13.065', 'DB5.247', 'DB5.055', 'DB1.225', 'DB8.161', 'DB6.108', 'DB2.011', 'DB7.067', 'DB8.244', 'DB11.160', 'DB4.233', 'DB1.146', 'DB12.214', 'DB7.172', 'DB13.190', 'DB13.351', 'DB1.089', 'DB13.329', 'DB11.214', 'DB4.004', 'DB7.036', 'DB9.148', 'DB3.113', 'DB2.110', 'DB13.142', 'DB6.204', 'DB6.074', 'DB1.184', 'DB13.243', 'DB2.118', 'DB10.196', 'DB1.076', 'DB6.066', 'DB8.263', 'DB2.009', 'DB4.078', 'DB6.006', 'DB11.030', 'DB6.132', 'DB9.146', 'DB5.227', 'DB7.230', 'DB1.194', 'DB5.239', 'DB10.219', 'DB3.084', 'DB11.302', 'DB1.261', 'DB13.132', 'DB5.125', 'DB7.257', 'DB8.206', 'DB5.004', 'DB11.262', 'DB10.251', 'DB12.228', 'DB5.230', 'DB2.122', 'DB7.045', 'DB5.185', 'DB5.014', 'DB11.153', 'DB2.172', 'DB4.035', 'DB1.014', 'DB4.164', 'DB9.200', 'DB13.342', 'DB3.074', 'DB11.072', 'DB7.171', 'DB1.140', 'DB11.012', 'DB4.101', 'DB7.277', 'DB2.091', 'DB6.221', 'DB12.145', 'DB6.116', 'DB13.153', 'DB3.165', 'DB9.082', 'DB11.208', 'DB12.070', 'DB10.032', 'DB10.178', 'DB7.263', 'DB11.099', 'DB8.126', 'DB1.273', 'DB11.157', 'DB12.120', 'DB4.221', 'DB8.225', 'DB9.010', 'DB12.153', 'DB5.049', 'DB2.202', 'DB10.297', 'DB2.116', 'DB3.081', 'DB8.164', 'DB13.268', 'DB12.269', 'DB5.284', 'DB10.118', 'DB11.165', 'DB2.100', 'DB6.080', 'DB8.055', 'DB11.281', 'DB8.043', 'DB1.078', 'DB2.186', 'DB10.270', 'DB5.003', 'DB11.229', 'DB13.202', 'DB1.297', 'DB4.110', 'DB9.218', 'DB12.213', 'DB11.133', 'DB3.064', 'DB5.019', 'DB10.199', 'DB13.062', 'DB4.025', 'DB10.136', 'DB2.151', 'DB2.191', 'DB9.109', 'DB1.035', 'DB1.235', 'DB12.328', 'DB2.050', 'DB6.239', 'DB1.200', 'DB4.071', 'DB2.197', 'DB13.089', 'DB9.138', 'DB8.027', 'DB13.320', 'DB11.263', 'DB10.212', 'DB12.085', 'DB10.186', 'DB9.257', 'DB1.299', 'DB2.023', 'DB6.189', 'DB7.011', 'DB12.287', 'DB3.156', 'DB5.219', 'DB5.208', 'DB4.013', 'DB5.232', 'DB4.239', 'DB8.292', 'DB5.015', 'DB10.243', 'DB13.114', 'DB13.223', 'DB11.206', 'DB9.095', 'DB3.193', 'DB8.230', 'DB3.060', 'DB3.098', 'DB13.090', 'DB8.178', 'DB11.121', 'DB11.331', 'DB13.284', 'DB13.307', 'DB1.248', 'DB4.093', 'DB11.267', 'DB5.252', 'DB5.059', 'DB10.174', 'DB6.291', 'DB12.336', 'DB6.094', 'DB2.124', 'DB10.292', 'DB3.217', 'DB7.286', 'DB4.158', 'DB2.175', 'DB10.294', 'DB8.291', 'DB7.219', 'DB5.289', 'DB12.136', 'DB6.023', 'DB8.252', 'DB12.244', 'DB9.135', 'DB13.177', 'DB2.148', 'DB1.190', 'DB2.095', 'DB13.160', 'DB13.303', 'DB13.334', 'DB9.110', 'DB3.190', 'DB3.247', 'DB3.146', 'DB13.210', 'DB12.133', 'DB10.114', 'DB13.289', 'DB11.116', 'DB1.134', 'DB5.113', 'DB12.051', 'DB4.051', 'DB9.215', 'DB2.178', 'DB5.110', 'DB5.130', 'DB6.182', 'DB8.062', 'DB3.206', 'DB5.225', 'DB5.109', 'DB7.052', 'DB3.075', 'DB4.072', 'DB12.142', 'DB8.282', 'DB12.331', 'DB3.225', 'DB4.257', 'DB13.276', 'DB6.219', 'DB13.088', 'DB1.071', 'DB1.280', 'DB10.265', 'DB11.316', 'DB8.026', 'DB11.107', 'DB13.072', 'DB10.123', 'DB5.288', 'DB9.145', 'DB2.081', 'DB11.061', 'DB2.064', 'DB9.211', 'DB1.238', 'DB3.102', 'DB11.048', 'DB10.033', 'DB10.258', 'DB11.282', 'DB9.181', 'DB9.097', 'DB6.130', 'DB1.006', 'DB8.229', 'DB9.273', 'DB13.316', 'DB11.005', 'DB7.265', 'DB13.232', 'DB13.215', 'DB12.258', 'DB11.135', 'DB11.172', 'DB2.149', 'DB10.260', 'DB6.072', 'DB5.148', 'DB6.128', 'DB1.103', 'DB10.014', 'DB4.127', 'DB10.298', 'DB12.257', 'DB12.322', 'DB9.226', 'DB13.183', 'DB11.257', 'DB2.225', 'DB3.115', 'DB1.157', 'DB2.062', 'DB7.191', 'DB9.290', 'DB7.212', 'DB12.274', 'DB13.074', 'DB7.149', 'DB11.067', 'DB11.189', 'DB13.245', 'DB3.148', 'DB3.183', 'DB7.070', 'DB12.018', 'DB11.260', 'DB8.087', 'DB12.023', 'DB10.155', 'DB11.300', 'DB6.289', 'DB6.139', 'DB7.053', 'DB5.164', 'DB13.145', 'DB8.104', 'DB3.186', 'DB11.022', 'DB9.202', 'DB13.301', 'DB11.013', 'DB7.142', 'DB1.024', 'DB12.035', 'DB8.172', 'DB11.237', 'DB3.039', 'DB5.263', 'DB2.013', 'DB3.065', 'DB8.115', 'DB13.262', 'DB7.132', 'DB2.242', 'DB5.090', 'DB2.160', 'DB12.246', 'DB13.039', 'DB9.300', 'DB10.104', 'DB10.138', 'DB7.121', 'DB4.270', 'DB8.024', 'DB7.242', 'DB13.236', 'DB6.216', 'DB8.121', 'DB11.336', 'DB1.183', 'DB10.235', 'DB10.054', 'DB1.240', 'DB4.103', 'DB7.081', 'DB6.004', 'DB8.193', 'DB12.122', 'DB11.244', 'DB3.185', 'DB11.324', 'DB6.197', 'DB7.064', 'DB5.066', 'DB13.051', 'DB2.107', 'DB6.118', 'DB7.034', 'DB7.131', 'DB8.132', 'DB1.256', 'DB1.053', 'DB5.233', 'DB11.010', 'DB12.332', 'DB13.246', 'DB9.237', 'DB11.326', 'DB8.165', 'DB9.137', 'DB9.296', 'DB10.046', 'DB10.236', 'DB5.119', 'DB7.095', 'DB10.203', 'DB1.070', 'DB11.209', 'DB5.276', 'DB11.231', 'DB12.111', 'DB7.291', 'DB5.107', 'DB10.090', 'DB4.160', 'DB11.140', 'DB4.005', 'DB4.098', 'DB6.267', 'DB9.103', 'DB12.098', 'DB9.183', 'DB13.139', 'DB3.052', 'DB12.103', 'DB12.072', 'DB2.108', 'DB3.059', 'DB4.049', 'DB7.168', 'DB2.113', 'DB10.107', 'DB11.315', 'DB13.358', 'DB3.176', 'DB13.263', 'DB4.191', 'DB10.171', 'DB12.263', 'DB7.272', 'DB2.144', 'DB11.225', 'DB5.120', 'DB10.055', 'DB12.004', 'DB3.020', 'DB12.339', 'DB12.042', 'DB5.048', 'DB7.058', 'DB7.133', 'DB13.149', 'DB6.077', 'DB1.166', 'DB11.037', 'DB10.005', 'DB4.109', 'DB13.318', 'DB8.237', 'DB1.171', 'DB4.202', 'DB5.127', 'DB4.209', 'DB6.238', 'DB11.122', 'DB5.152', 'DB7.271', 'DB6.101', 'DB10.053', 'DB11.049', 'DB13.087', 'DB10.143', 'DB1.201', 'DB12.020', 'DB4.048', 'DB9.122', 'DB2.212', 'DB3.260', 'DB2.047', 'DB5.222', 'DB1.058', 'DB13.186', 'DB10.091', 'DB1.277', 'DB10.245', 'DB2.131', 'DB10.180', 'DB8.275', 'DB13.280', 'DB11.271', 'DB5.044', 'DB6.249', 'DB2.014', 'DB13.296', 'DB2.222', 'DB12.335', 'DB8.077', 'DB3.030', 'DB5.179', 'DB3.040', 'DB1.125', 'DB5.165', 'DB9.203', 'DB2.048', 'DB5.217', 'DB1.106', 'DB8.085', 'DB4.173', 'DB13.156', 'DB4.256', 'DB1.203', 'DB9.259', 'DB3.152', 'DB9.176', 'DB5.122', 'DB10.215', 'DB13.082', 'DB3.010', 'DB1.276', 'DB6.133', 'DB1.083', 'DB4.111', 'DB8.149', 'DB13.251', 'DB4.246', 'DB9.094', 'DB1.270', 'DB1.279', 'DB8.068', 'DB13.182', 'DB12.061', 'DB10.175', 'DB10.191', 'DB2.069', 'DB11.148', 'DB1.118', 'DB4.254', 'DB11.201', 'DB12.151', 'DB2.031', 'DB6.135', 'DB9.116', 'DB6.279', 'DB10.150', 'DB1.162', 'DB8.160', 'DB1.158', 'DB7.019', 'DB6.181', 'DB6.100', 'DB13.206', 'DB6.069', 'DB8.007', 'DB5.204', 'DB2.167', 'DB12.292', 'DB7.182', 'DB13.225', 'DB6.295', 'DB11.040', 'DB11.204', 'DB11.265', 'DB13.064', 'DB9.175', 'DB1.016', 'DB2.205', 'DB9.123', 'DB8.019', 'DB7.268', 'DB1.156', 'DB5.117', 'DB5.077', 'DB9.189', 'DB2.004', 'DB7.063', 'DB3.180', 'DB8.050', 'DB1.138', 'DB5.111', 'DB13.180', 'DB8.138', 'DB2.006', 'DB2.123', 'DB5.176', 'DB6.095', 'DB8.015', 'DB12.219', 'DB11.169', 'DB5.290', 'DB5.096', 'DB7.115', 'DB12.231', 'DB11.198', 'DB11.147', 'DB10.185', 'DB12.091', 'DB13.179', 'DB6.247', 'DB11.164', 'DB1.067', 'DB13.352', 'DB6.037', 'DB2.071', 'DB13.228', 'DB11.298', 'DB4.142', 'DB12.064', 'DB12.045', 'DB5.262', 'DB1.172', 'DB13.045', 'DB4.146', 'DB8.109', 'DB7.146', 'DB3.177', 'DB9.224', 'DB10.018', 'DB12.087', 'DB8.251', 'DB8.037', 'DB13.310', 'DB1.131', 'DB5.174', 'DB3.031', 'DB11.119', 'DB10.116', 'DB2.238', 'DB11.218', 'DB10.086', 'DB8.213', 'DB2.188', 'DB4.229', 'DB1.054', 'DB2.017', 'DB9.197', 'DB11.186', 'DB3.179', 'DB7.050', 'DB4.153', 'DB6.040', 'DB4.047', 'DB1.052', 'DB6.126', 'DB1.028', 'DB6.206', 'DB8.072', 'DB6.083', 'DB8.281', 'DB8.091', 'DB11.327', 'DB6.013', 'DB11.252', 'DB2.168', 'DB6.258', 'DB7.235', 'DB10.075', 'DB4.100', 'DB8.295', 'DB1.153', 'DB13.291', 'DB13.073', 'DB5.151', 'DB12.128', 'DB7.273', 'DB6.248', 'DB12.147', 'DB4.058', 'DB8.154', 'DB12.264', 'DB10.140', 'DB7.199', 'DB13.129', 'DB5.060', 'DB2.043', 'DB11.110', 'DB2.153', 'DB6.294', 'DB6.165', 'DB11.152', 'DB5.051', 'DB5.102', 'DB11.283', 'DB2.016', 'DB13.038', 'DB1.009', 'DB2.005', 'DB3.269', 'DB11.138', 'DB3.127', 'DB11.333', 'DB11.130', 'DB13.187', 'DB13.237', 'DB13.130', 'DB2.000', 'DB9.024', 'DB10.213', 'DB13.163', 'DB9.222', 'DB1.079', 'DB1.110', 'DB7.105', 'DB3.166', 'DB13.161', 'DB11.232', 'DB4.247', 'DB6.054', 'DB8.071', 'DB9.015', 'DB10.271', 'DB11.259', 'DB8.182', 'DB8.209', 'DB9.287', 'DB8.279', 'DB8.240', 'DB6.044', 'DB5.141', 'DB13.211', 'DB8.098', 'DB10.067', 'DB3.135', 'DB12.123', 'DB10.080', 'DB13.176', 'DB12.238', 'DB3.028', 'DB8.080', 'DB8.100', 'DB8.300', 'DB4.021', 'DB11.305', 'DB9.191', 'DB10.157', 'DB2.145', 'DB6.092', 'DB13.353', 'DB3.054', 'DB5.272', 'DB12.116', 'DB13.056', 'DB5.023', 'DB6.243', 'DB13.267', 'DB13.070', 'DB10.040', 'DB2.155', 'DB4.122', 'DB8.234', 'DB7.087', 'DB4.151', 'DB7.158', 'DB7.215', 'DB9.230', 'DB12.056', 'DB12.284', 'DB13.231', 'DB7.109', 'DB8.191', 'DB6.286', 'DB8.294', 'DB7.102', 'DB13.278', 'DB13.336', 'DB13.238', 'DB10.238', 'DB10.181', 'DB1.113', 'DB10.249', 'DB4.203', 'DB6.220', 'DB6.107', 'DB5.255', 'DB8.208', 'DB10.184', 'DB4.011', 'DB13.055', 'DB5.266', 'DB6.297', 'DB8.107', 'DB11.093', 'DB13.208', 'DB2.029', 'DB1.154', 'DB5.243', 'DB10.266', 'DB3.114', 'DB10.034', 'DB11.075', 'DB12.326', 'DB13.066', 'DB4.253', 'DB1.250', 'DB7.224', 'DB12.342', 'DB5.038', 'DB2.039', 'DB8.146', 'DB3.119', 'DB4.271', 'DB3.082', 'DB6.042', 'DB5.258', 'DB10.102', 'DB12.057', 'DB5.240', 'DB7.293', 'DB7.114', 'DB5.187', 'DB8.259', 'DB8.009', 'DB3.198', 'DB6.241', 'DB8.078', 'DB8.065', 'DB5.029', 'DB1.098', 'DB2.099', 'DB8.186', 'DB9.214', 'DB10.066', 'DB7.245', 'DB9.117', 'DB11.337', 'DB12.149', 'DB5.126', 'DB9.089', 'DB9.133', 'DB4.042', 'DB6.246', 'DB1.263', 'DB7.155', 'DB11.006', 'DB12.143', 'DB13.046', 'DB6.292', 'DB1.275', 'DB1.285', 'DB4.027', 'DB1.232', 'DB10.063', 'DB12.033', 'DB6.043', 'DB6.207', 'DB10.202', 'DB6.255', 'DB6.073', 'DB8.120', 'DB2.074', 'DB9.293', 'DB10.198', 'DB5.192', 'DB2.163', 'DB9.086', 'DB5.228', 'DB12.067', 'DB8.013', 'DB9.080', 'DB10.027', 'DB13.325', 'DB7.183', 'DB8.169', 'DB8.135', 'DB12.341', 'DB7.111', 'DB1.197', 'DB6.117', 'DB11.131', 'DB7.255', 'DB12.089', 'DB7.079', 'DB13.135', 'DB6.300', 'DB9.121', 'DB8.045', 'DB6.058', 'DB13.198', 'DB5.245', 'DB1.121', 'DB4.128', 'DB5.116', 'DB9.228', 'DB10.226', 'DB12.157', 'DB10.110', 'DB7.099', 'DB10.088', 'DB6.046', 'DB8.255', 'DB5.035', 'DB8.048', 'DB12.236', 'DB2.125', 'DB11.054', 'DB6.086', 'DB11.334', 'DB8.145', 'DB7.239', 'DB2.119', 'DB2.090', 'DB2.072', 'DB7.008', 'DB8.218', 'DB6.217', 'DB3.189', 'DB12.117', 'DB1.202', 'DB6.209', 'DB7.066', 'DB13.184', 'DB5.205', 'DB1.259', 'DB13.037', 'DB3.137', 'DB12.222', 'DB5.155', 'DB6.237', 'DB3.178', 'DB10.060', 'DB10.200', 'DB8.038', 'DB11.053', 'DB2.161', 'DB4.137', 'DB10.166', 'DB11.249', 'DB9.264', 'DB11.314', 'DB5.022', 'DB1.020', 'DB6.235', 'DB11.217', 'DB12.350', 'DB11.025', 'DB12.040', 'DB13.061', 'DB7.027', 'DB1.178', 'DB1.192', 'DB9.188', 'DB12.016', 'DB12.037', 'DB1.271', 'DB10.098', 'DB5.265', 'DB7.023', 'DB12.071', 'DB2.096', 'DB12.272', 'DB7.264', 'DB8.018', 'DB12.343', 'DB6.010', 'DB11.303', 'DB4.240', 'DB8.046', 'DB12.243', 'DB11.161', 'DB12.327', 'DB13.302', 'DB12.338', 'DB1.296', 'DB10.037', 'DB1.226', 'DB4.163', 'DB5.274', 'DB8.233', 'DB13.294', 'DB9.084', 'DB1.267', 'DB3.210', 'DB12.233', 'DB11.128', 'DB11.039', 'DB10.074', 'DB2.213', 'DB9.208', 'DB4.266', 'DB12.062', 'DB2.101', 'DB11.108', 'DB2.136', 'DB4.201', 'DB10.188', 'DB8.076', 'DB11.002', 'DB12.288', 'DB8.053', 'DB4.009', 'DB4.225', 'DB5.212', 'DB9.047', 'DB6.205', 'DB10.229', 'DB5.207', 'DB13.240', 'DB7.083', 'DB13.109', 'DB13.359', 'DB4.141', 'DB3.007', 'DB10.148', 'DB11.146', 'DB8.246', 'DB9.266', 'DB13.147', 'DB11.338', 'DB11.115', 'DB7.170', 'DB1.120', 'DB5.046', 'DB11.291', 'DB13.338', 'DB2.219', 'DB7.260', 'DB10.247', 'DB12.048', 'DB13.191', 'DB9.196', 'DB6.034', 'DB13.173', 'DB10.239', 'DB12.137', 'DB2.244', 'DB12.303', 'DB10.248', 'DB11.185', 'DB1.227', 'DB7.025', 'DB7.129', 'DB1.044', 'DB10.241', 'DB1.069', 'DB12.068', 'DB6.022', 'DB4.245', 'DB11.191', 'DB11.033', 'DB12.310', 'DB10.255', 'DB13.196', 'DB2.134', 'DB9.023', 'DB1.061', 'DB5.136', 'DB7.039', 'DB7.009', 'DB11.313', 'DB4.001', 'DB1.168', 'DB7.196', 'DB4.124', 'DB1.187', 'DB6.169', 'DB11.046', 'DB9.018', 'DB11.320', 'DB11.129', 'DB9.251', 'DB4.028', 'DB10.211', 'DB12.046', 'DB8.083', 'DB10.195', 'DB12.270', 'DB5.062', 'DB1.080', 'DB9.260', 'DB2.037', 'DB13.111', 'DB8.006', 'DB6.175', 'DB12.131', 'DB8.179', 'DB12.306', 'DB12.108', 'DB12.280', 'DB10.026', 'DB9.299', 'DB4.121', 'DB1.029', 'DB13.213', 'DB9.083', 'DB10.173', 'DB3.184', 'DB1.251', 'DB6.242', 'DB13.298', 'DB11.087', 'DB8.163', 'DB11.290', 'DB2.142', 'DB3.241', 'DB1.233', 'DB2.147', 'DB10.094', 'DB3.045', 'DB11.056', 'DB10.108', 'DB3.268', 'DB13.164', 'DB4.226', 'DB10.179', 'DB6.009', 'DB4.210', 'DB9.022', 'DB13.311', 'DB5.017', 'DB8.151', 'DB7.169', 'DB8.155', 'DB5.037', 'DB8.117', 'DB12.312', 'DB7.127', 'DB6.082', 'DB4.243', 'DB12.278', 'DB10.050', 'DB1.023', 'DB13.068', 'DB11.124', 'DB4.138', 'DB6.266', 'DB10.194', 'DB1.139', 'DB2.176', 'DB4.208', 'DB8.185', 'DB12.075', 'DB5.280', 'DB10.290', 'DB5.175', 'DB7.294', 'DB13.136', 'DB13.154', 'DB4.195', 'DB6.088', 'DB10.197', 'DB2.030', 'DB11.261', 'DB3.068', 'DB6.174', 'DB12.009', 'DB1.111', 'DB3.208', 'DB7.100', 'DB1.264', 'DB6.002', 'DB12.268', 'DB5.157', 'DB4.169', 'DB11.238', 'DB12.248', 'DB10.231', 'DB4.123', 'DB10.047', 'DB9.071', 'DB8.183', 'DB12.054', 'DB7.093', 'DB6.218', 'DB5.158', 'DB11.194', 'DB2.032', 'DB12.099', 'DB4.144', 'DB12.109', 'DB4.154', 'DB9.190', 'DB12.333', 'DB1.074', 'DB9.206', 'DB7.216', 'DB10.273', 'DB13.203', 'DB11.080', 'DB13.319', 'DB10.267', 'DB13.105', 'DB9.115', 'DB9.295', 'DB11.024', 'DB11.285', 'DB4.212', 'DB3.090', 'DB13.174', 'DB8.284', 'DB1.073', 'DB3.131', 'DB10.012', 'DB12.083', 'DB8.270', 'DB1.274', 'DB12.139', 'DB6.185', 'DB4.223', 'DB12.345', 'DB13.143', 'DB7.211', 'DB6.222', 'DB5.133', 'DB2.187', 'DB5.094', 'DB4.274', 'DB3.024', 'DB9.067', 'DB13.181', 'DB1.124', 'DB4.099', 'DB5.251', 'DB7.179', 'DB7.254', 'DB8.064', 'DB8.034', 'DB12.296', 'DB13.265', 'DB12.169', 'DB7.187', 'DB3.038', 'DB2.166', 'DB6.138', 'DB7.269', 'DB8.278', 'DB12.297', 'DB9.212', 'DB12.069', 'DB3.018', 'DB5.061', 'DB13.259', 'DB12.259', 'DB5.186', 'DB13.214', 'DB3.267', 'DB7.232', 'DB9.088', 'DB10.281', 'DB1.269', 'DB8.267', 'DB5.203', 'DB11.123', 'DB9.068', 'DB12.081', 'DB6.179', 'DB2.220', 'DB6.173', 'DB7.080', 'DB4.149', 'DB6.231', 'DB6.212', 'DB3.150', 'DB9.275', 'DB11.001', 'DB10.261', 'DB12.058', 'DB13.097', 'DB7.279', 'DB11.224', 'DB6.038', 'DB12.250', 'DB2.058', 'DB4.134', 'DB7.252', 'DB6.293', 'DB13.086', 'DB5.256', 'DB9.034', 'DB12.230', 'DB7.140', 'DB9.124', 'DB11.284', 'DB13.063', 'DB10.286', 'DB2.130', 'DB3.117', 'DB7.160', 'DB3.172', 'DB1.298', 'DB5.067', 'DB4.143', 'DB1.286', 'DB9.292', 'DB10.122', 'DB13.279', 'DB8.118', 'DB8.232', 'DB10.142', 'DB5.168', 'DB2.234', 'DB7.112', 'DB6.168', 'DB13.172', 'DB1.088', 'DB4.097', 'DB8.025', 'DB1.228', 'DB12.125', 'DB4.055', 'DB1.155', 'DB13.195', 'DB3.036', 'DB8.137', 'DB10.083', 'DB11.045', 'DB7.197', 'DB10.282', 'DB6.215', 'DB9.195', 'DB4.232', 'DB4.067', 'DB11.236', 'DB2.141', 'DB7.283', 'DB13.099', 'DB10.291', 'DB2.112', 'DB8.054', 'DB8.123', 'DB8.287', 'DB2.073', 'DB12.053', 'DB10.135', 'DB8.190', 'DB5.132', 'DB9.172', 'DB11.264', 'DB8.242', 'DB2.087', 'DB11.254', 'DB4.085', 'DB4.214', 'DB3.155', 'DB2.067', 'DB7.248', 'DB11.088', 'DB4.060', 'DB6.176', 'DB10.022', 'DB3.057', 'DB7.038', 'DB12.013', 'DB13.040', 'DB4.238', 'DB1.003', 'DB2.007', 'DB3.129', 'DB7.193', 'DB12.077', 'DB12.227', 'DB7.233', 'DB13.305', 'DB8.241', 'DB13.322', 'DB7.065', 'DB7.124', 'DB10.283', 'DB8.298', 'DB1.179', 'DB2.115', 'DB6.071', 'DB8.228', 'DB11.332', 'DB10.263', 'DB13.330', 'DB7.004', 'DB6.259', 'DB1.142', 'DB6.017', 'DB6.029', 'DB10.070', 'DB12.232', 'DB7.218', 'DB12.276', 'DB13.141', 'DB8.095', 'DB2.114', 'DB13.194', 'DB9.220', 'DB4.112', 'DB13.229', 'DB12.285', 'DB9.207', 'DB9.102', 'DB2.092', 'DB5.211', 'DB7.015', 'DB7.072', 'DB13.188', 'DB5.213', 'DB5.253', 'DB1.026', 'DB2.097', 'DB6.299', 'DB1.189', 'DB4.157', 'DB1.222', 'DB11.310', 'DB10.250', 'DB7.167', 'DB5.034', 'DB12.318', 'DB1.209', 'DB12.319', 'DB11.199', 'DB11.190', 'DB7.118', 'DB2.003', 'DB7.200', 'DB11.100', 'DB6.187', 'DB6.119', 'DB9.100', 'DB1.001', 'DB4.152', 'DB5.073', 'DB3.187', 'DB2.053', 'DB5.002', 'DB8.286', 'DB1.268', 'DB6.281', 'DB12.323', 'DB1.237', 'DB12.311', 'DB2.241', 'DB5.042', 'DB3.188', 'DB3.264', 'DB11.044', 'DB1.136', 'DB4.219', 'DB2.105', 'DB5.191', 'DB5.177', 'DB10.172', 'DB2.227', 'DB6.195', 'DB3.122', 'DB9.025', 'DB9.065', 'DB10.163', 'DB1.116', 'DB4.196', 'DB1.055', 'DB6.196', 'DB13.281', 'DB7.145', 'DB11.015', 'DB13.113', 'DB13.252', 'DB6.106', 'DB7.037', 'DB1.108', 'DB13.171', 'DB6.282', 'DB11.213', 'DB6.047', 'DB2.052', 'DB8.011', 'DB2.154', 'DB6.003', 'DB12.134', 'DB4.120', 'DB6.283', 'DB5.259', 'DB10.041', 'DB4.018', 'DB8.174', 'DB2.024', 'DB8.144', 'DB4.161', 'DB1.170', 'DB12.216', 'DB4.040', 'DB9.131', 'DB7.139', 'DB5.278', 'DB8.199', 'DB7.047', 'DB5.144', 'DB12.260', 'DB3.167', 'DB2.078', 'DB3.004', 'DB8.002', 'DB2.206', 'DB5.112', 'DB7.267', 'DB9.008', 'DB10.147', 'DB13.343', 'DB11.219', 'DB8.248', 'DB8.122', 'DB11.273', 'DB13.271', 'DB3.157', 'DB11.094', 'DB1.221', 'DB4.269', 'DB1.242', 'DB9.210', 'DB8.192', 'DB11.275', 'DB1.175', 'DB5.246', 'DB11.175', 'DB5.190', 'DB8.031', 'DB9.142', 'DB6.099', 'DB9.187', 'DB5.101', 'DB1.147', 'DB6.224', 'DB10.227', 'DB11.235', 'DB1.007', 'DB7.237', 'DB8.008', 'DB9.007', 'DB9.134', 'DB12.347', 'DB1.186', 'DB1.207', 'DB8.273', 'DB8.022', 'DB10.176', 'DB13.339', 'DB10.280', 'DB6.048', 'DB7.082', 'DB7.077', 'DB8.150', 'DB5.264', 'DB7.174', 'DB8.256', 'DB1.051', 'DB6.110', 'DB8.177', 'DB1.254', 'DB10.257', 'DB10.045', 'DB11.308', 'DB5.115', 'DB6.111', 'DB11.278', 'DB12.329', 'DB1.033', 'DB11.004', 'DB11.137', 'DB12.255', 'DB6.057', 'DB7.041', 'DB3.078', 'DB5.082', 'DB12.242', 'DB10.028', 'DB5.226', 'DB13.104', 'DB1.288', 'DB6.251', 'DB13.189', 'DB2.138', 'DB6.263', 'DB12.021', 'DB9.000', 'DB11.082', 'DB10.128', 'DB3.263', 'DB11.158', 'DB2.025', 'DB8.070', 'DB12.234', 'DB12.049', 'DB2.102', 'DB10.190', 'DB5.092', 'DB12.182', 'DB6.103', 'DB10.069', 'DB11.090', 'DB5.078', 'DB6.265', 'DB11.065', 'DB8.245', 'DB4.148', 'DB4.023', 'DB8.196', 'DB12.277', 'DB10.111', 'DB13.158', 'DB2.089', 'DB12.349', 'DB4.252', 'DB13.128', 'DB1.047', 'DB8.111', 'DB9.017', 'DB7.078', 'DB2.146', 'DB6.188', 'DB3.009', 'DB6.008', 'DB8.075', 'DB9.291', 'DB3.147', 'DB13.282', 'DB7.288', 'DB11.064', 'DB11.125', 'DB10.149', 'DB1.066', 'DB1.005', 'DB3.033', 'DB11.101', 'DB1.174', 'DB10.168', 'DB13.101', 'DB6.298', 'DB11.335', 'DB12.124', 'DB10.082', 'DB4.107', 'DB12.074', 'DB5.218', 'DB9.090', 'DB3.134', 'DB4.171', 'DB8.210', 'DB7.049', 'DB9.118', 'DB7.022', 'DB2.120', 'DB11.163', 'DB7.180', 'DB5.215', 'DB3.088', 'DB4.086', 'DB8.097', 'DB9.069', 'DB2.044', 'DB3.174', 'DB6.170', 'DB4.052', 'DB5.250', 'DB5.026', 'DB7.024', 'DB7.130', 'DB5.024', 'DB11.029', 'DB8.105', 'DB11.023', 'DB11.234', 'DB9.091', 'DB13.340', 'DB4.140', 'DB6.060', 'DB5.282', 'DB1.217', 'DB11.105', 'DB7.290', 'DB11.109', 'DB9.163', 'DB3.213', 'DB7.276', 'DB9.104', 'DB8.082', 'DB10.193', 'DB13.178', 'DB12.308', 'DB12.174', 'DB7.249', 'DB2.088', 'DB13.349', 'DB9.177', 'DB6.087', 'DB7.275', 'DB1.059', 'DB8.274', 'DB11.258', 'DB13.108', 'DB7.213', 'DB8.005', 'DB13.006', 'DB4.077', 'DB13.295', 'DB11.215', 'DB2.211', 'DB6.030', 'DB9.270', 'DB12.224', 'DB8.285', 'DB8.110', 'DB6.105'}
## 2020-12-06 15:30:50 WARNING Do you forget to normalize your data? It is required before running this function
exp = exp.filter_by_metadata("Cohort",r.ff)
expc = exp.cluster_features(10)
expc = expc.sort_by_metadata("Family")
expc = expc.sort_by_metadata("pnid")
expc.plot(gui = "cli", barx_fields = ["Family", "Disease.group"])
## <calour.heatmap.plotgui_cli.PlotGUI_CLI object at 0x7f5a22340080>
##
## /home/rstudio/.local/share/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages/calour/heatmap/heatmap.py:309: MatplotlibDeprecationWarning: You are modifying the state of a globally registered colormap. In future versions, you will not be able to modify a registered colormap in-place. To remove this warning, you can make a copy of the colormap first. cmap = copy.copy(mpl.cm.get_cmap("viridis"))
## cmap.set_bad(bad_color)
for family in filter(lambda v: v==v, expc.sample_metadata["Family"].unique()):
# print(family)
plot_family = expc.filter_by_metadata("Family", [family])
pl = plot_family.plot(gui = "cli", barx_fields = ["pnid", "Disease.group", "Family"])
pl.resize_figure(12,8)
pl.figure.tight_layout()
pl.save_figure("./heatmaps/" +family + '.png')
## /home/rstudio/.local/share/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages/calour/heatmap/plotgui.py:117: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
## self.figure = plt.figure()