Import raw data and assign sample key:
map_corrected <- read.csv("../map_corrected.txt", sep = "\t", row.names = 1)
knitr::kable(map_corrected) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
BarcodeSequence | LinkerPrimerSequence | FileInput | SampleType | RA | BVAS | REMISSION_BVAS | ENTAS | Description | |
---|---|---|---|---|---|---|---|---|---|
kg001 | NA | NA | kg001-n-fischer-16s_S31_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg002 | NA | NA | kg002-n-fischer-16s_S32_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg003 | NA | NA | kg003-n-fischer-16s_S33_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg004 | NA | NA | kg004-n-fischer-16s_S34_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg005 | NA | NA | kg005-n-fischer-16s_S35_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg007 | NA | NA | kg007-n-fischer-16s_S36_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg008 | NA | NA | kg008-n-fischer-16s_S37_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg009 | NA | NA | kg009-n-fischer-16s_S38_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg010 | NA | NA | kg010-n-fischer-16s_S39_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg011 | NA | NA | kg011-n-fischer-16s_S40_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg014 | NA | NA | kg014-n-fischer-16s_S41_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg015 | NA | NA | kg015-n-fischer-16s_S42_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg016 | NA | NA | kg016-n-fischer-16s_S43_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg019 | NA | NA | kg019-n-fischer-16s_S44_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg020 | NA | NA | kg020-n-fischer-16s_S45_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg021 | NA | NA | kg021-n-fischer-16s_S46_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg022 | NA | NA | kg022-n-fischer-16s_S47_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg023 | NA | NA | kg023-n-fischer-16s_S48_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg025 | NA | NA | kg025-n-fischer-16s_S49_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg026 | NA | NA | kg026-n-fischer-16s_S50_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg027 | NA | NA | kg027-n-fischer-16s_S51_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg028 | NA | NA | kg028-n-fischer-16s_S52_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
kg029 | NA | NA | kg029-n-fischer-16s_S53_L001.assembled_filtered.nonchimera.fasta | control | control | control | control | control | kg |
mw001 | NA | NA | mw001-n-fischer-16s_S54_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw003 | NA | NA | mw003-n-fischer-16s_S55_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw004 | NA | NA | mw004-n-fischer-16s_S56_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw005 | NA | NA | mw005-n-fischer-16s_S57_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw006 | NA | NA | mw006-n-fischer-16s_S58_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2+ | mw |
mw007 | NA | NA | mw007-n-fischer-16s_S59_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw008 | NA | NA | mw008-n-fischer-16s_S60_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2+ | mw |
mw009 | NA | NA | mw009-n-fischer-16s_S61_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS+ | unknown | unknown | mw |
mw010 | NA | NA | mw010-n-fischer-16s_S62_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw011 | NA | NA | mw011-n-fischer-16s_S63_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2+ | 2+ | mw |
mw013 | NA | NA | mw014-n-fischer-16s_S64_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | unknown | unknown | mv |
mw014 | NA | NA | mw014-n-fischer-16s_S65_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2+ | 2+ | mw |
mw015 | NA | NA | mw015-n-fischer-16s_S66_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS+ | unknown | unknown | mw |
mw016 | NA | NA | mw016-n-fischer-16s_S67_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2- | mw |
mw017 | NA | NA | mw017-n-fischer-16s_S68_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2+ | 2+ | mw |
mw018 | NA | NA | mw018-n-fischer-16s_S69_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS+ | unknown | 2+ | mw |
mw019 | NA | NA | mw019-n-fischer-16s_S70_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | mw |
mw021 | NA | NA | mw021-n-fischer-16s_S71_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2- | mw |
mw022 | NA | NA | mw022-n-fischer-16s_S72_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS+ | unknown | 2- | mw |
micro1 | NA | NA | micro1-lamprecht_S1_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | unknown | micro |
micro3 | NA | NA | micro3-lamprecht_S3_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2- | micro |
micro4 | NA | NA | micro4-lamprecht_S4_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2- | micro |
micro6 | NA | NA | micro6-lamprecht_S6_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | unknown | unknown | unknown | micro |
micro7 | NA | NA | micro7-lamprecht_S7_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | unknown | unknown | unknown | micro |
micro12 | NA | NA | micro12-lamprecht_S12_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | unknown | unknown | unknown | micro |
micro13 | NA | NA | micro13-lamprecht_S13_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | unknown | unknown | unknown | micro |
micro16 | NA | NA | micro16-lamprecht_S16_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2+ | unknown | micro |
micro17 | NA | NA | micro17-lamprecht_S17_L001.assembled_filtered.nonchimera.fasta | GPA | GPA | BVAS- | 2- | 2- | micro |
ra002 | NA | NA | gpa-ra002-n-fischer-16s_S10_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra003 | NA | NA | ra003-n-fischer-16s_S12_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra004 | NA | NA | ra004-n-fischer-16s_S11_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra005 | NA | NA | ra005-n-fischer-16s_S13_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra006 | NA | NA | ra006-n-fischer-16s_S14_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra007 | NA | NA | ra007-n-fischer-16s_S15_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra008 | NA | NA | ra008-n-fischer-16s_S16_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra009 | NA | NA | ra009-n-fischer-16s_S17_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra010 | NA | NA | ra010-n-fischer-16s_S18_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra013 | NA | NA | ra013-n-fischer-16s_S19_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra014 | NA | NA | ra014-n-fischer-16s_S20_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra015 | NA | NA | ra015-n-fischer-16s_S21_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra017 | NA | NA | ra017-n-fischer-16s_S22_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra018 | NA | NA | ra018-n-fischer-16s_S23_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra019 | NA | NA | ra019-n-fischer-16s_S24_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra020 | NA | NA | ra020-n-fischer-16s_S25_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra021 | NA | NA | ra021-n-fischer-16s_S26_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra022 | NA | NA | ra022-n-fischer-16s_S27_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra023 | NA | NA | ra023-n-fischer-16s_S28_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
ra024 | NA | NA | ra024-n-fischer-16s_S29_L001.assembled_filtered.nonchimera.fasta | RA | RA- | RA | RA | RA | ra |
ra025 | NA | NA | ra025-n-fischer-16s_S30_L001.assembled_filtered.nonchimera.fasta | RA | RA+ | RA | RA | RA | ra |
install.packages("dplyr") # To manipulate dataframes
install.packages("readxl") # To read Excel files into R
install.packages("ggplot2") # for high quality graphics
install.packages("heatmaply")
source("https://bioconductor.org/biocLite.R")
biocLite("phyloseq")
library("readxl") # necessary to import the data from Excel file
library("ggplot2") # graphics
library("picante")
library("microbiome") # data analysis and visualisation
library("phyloseq") # also the basis of data object. Data analysis and visualisation
library("ggpubr") # publication quality figures, based on ggplot2
library("dplyr") # data handling, filter and reformat data frames
library("RColorBrewer") # nice color options
library("heatmaply")
library(vegan)
library(gplots)
Three tables are needed * OTU * Taxonomy * Samples
# Change your working directory to where the files are located
ps.ng.tax <- import_biom("./table_mc1300.biom", "../clustering/rep_set.tre")
sample <- read.csv("../map_corrected.txt", sep = "\t", row.names = 1)
SAM = sample_data(sample, errorIfNULL = T)
# rownames(SAM) <-
# c('1','2','3','5','6','7','8','9','10','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','46','47','48','49','50','51','52','53','55')
ps.ng.tax <- merge_phyloseq(ps.ng.tax, SAM)
print(ps.ng.tax)
phyloseq-class experiment-level object
otu_table() OTU Table: [ 631 taxa and 60 samples ]
sample_data() Sample Data: [ 60 samples by 9 sample variables ]
tax_table() Taxonomy Table: [ 631 taxa by 7 taxonomic ranks ]
phy_tree() Phylogenetic Tree: [ 631 tips and 630 internal nodes ]
colnames(tax_table(ps.ng.tax)) <- c("Domain", "Phylum", "Class", "Order", "Family",
"Genus", "Species")
saveRDS(ps.ng.tax, "./ps.ng.tax.rds")
Visualize data
sample_names(ps.ng.tax)
[1] "kg001" "kg002" "kg003" "kg004" "kg005" "kg007" "kg009"
[8] "kg015" "kg016" "kg019" "kg020" "kg021" "kg022" "kg023"
[15] "kg025" "kg026" "kg027" "kg028" "kg029" "micro1" "micro3"
[22] "micro4" "micro6" "micro7" "micro12" "micro13" "micro16" "micro17"
[29] "mw001" "mw004" "mw005" "mw006" "mw007" "mw009" "mw010"
[36] "mw013" "mw014" "mw015" "mw017" "mw021" "ra002" "ra003"
[43] "ra004" "ra005" "ra006" "ra007" "ra008" "ra009" "ra010"
[50] "ra013" "ra014" "ra015" "ra017" "ra018" "ra019" "ra020"
[57] "ra022" "ra023" "ra024" "ra025"
rank_names(ps.ng.tax)
[1] "Domain" "Phylum" "Class" "Order" "Family" "Genus" "Species"
sample_variables(ps.ng.tax)
[1] "BarcodeSequence" "LinkerPrimerSequence" "FileInput"
[4] "SampleType" "RA" "BVAS"
[7] "REMISSION_BVAS" "ENTAS" "Description"
Normalize number of reads in each sample using median sequencing depth.
# RAREFACTION set.seed(9242) # This will help in reproducing the filtering and
# nomalisation. ps.ng.tax <- rarefy_even_depth(ps.ng.tax, sample.size = 42369)
# total <- 42369 NORMALIZE number of reads in each sample using median
# sequencing depth.
total = median(sample_sums(ps.ng.tax))
# > total [1] 42369
standf = function(x, t = total) round(t * (x/sum(x)))
ps.ng.tax = transform_sample_counts(ps.ng.tax, standf)
ps.ng.tax_rel <- microbiome::transform(ps.ng.tax, "compositional")
saveRDS(ps.ng.tax, "./ps.ng.tax.rds")
hmp.meta <- meta(ps.ng.tax)
hmp.meta$sam_name <- rownames(hmp.meta)
We consider the most abundant OTUs for heatmaps. For example one can only take OTUs that represent at least 1% of reads in at least one sample. Remember we normalized all the sampples to median number of reads (total). We are left with only 168 OTUS which makes the reading much more easy.
# Custom function to plot a heatmap with the specified sample order
ps.ng.tax_abund <- phyloseq::filter_taxa(ps.ng.tax, function(x) sum(x > total * 0.01) >
0, TRUE)
kable(otu_table(ps.ng.tax_abund)) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
kg001 | kg002 | kg003 | kg004 | kg005 | kg007 | kg009 | kg015 | kg016 | kg019 | kg020 | kg021 | kg022 | kg023 | kg025 | kg026 | kg027 | kg028 | kg029 | micro1 | micro3 | micro4 | micro6 | micro7 | micro12 | micro13 | micro16 | micro17 | mw001 | mw004 | mw005 | mw006 | mw007 | mw009 | mw010 | mw013 | mw014 | mw015 | mw017 | mw021 | ra002 | ra003 | ra004 | ra005 | ra006 | ra007 | ra008 | ra009 | ra010 | ra013 | ra014 | ra015 | ra017 | ra018 | ra019 | ra020 | ra022 | ra023 | ra024 | ra025 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
80113 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 12 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 49 | 13 | 5 | 80 | 59 | 8 | 4 | 18 | 112 | 17 | 0 | 5 | 15 | 11 | 22 | 21 | 9 | 6 | 111 | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
521073 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 81 | 29 | 48 | 0 | 18 | 0 | 21 | 18 | 1 | 0 | 4 | 68 | 81 | 2 | 122 | 49 | 11 | 20 | 22 | 296 | 13 | 17 | 14 | 26 | 31 | 38 | 31 | 35 | 35 | 336 | 87 | 3 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
242293 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 12 | 163 | 0 | 0 | 1 | 16 | 0 | 1 | 1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
812921 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 3 | 7 | 0 | 15 | 0 | 0 | 1 | 0 | 0 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 150 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4405869 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 2 | 0 | 0 | 0 | 87 | 0 | 5 | 0 | 1 | 0 | 0 | 39 | 0 | 0 | 0 |
341460 | 0 | 2 | 228 | 0 | 37 | 0 | 0 | 7 | 5 | 0 | 1 | 1 | 9 | 0 | 2 | 10 | 80 | 0 | 0 | 2 | 0 | 1 | 0 | 1 | 6 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 4 | 18 | 0 | 0 | 0 | 4 | 0 | 0 | 2 | 0 | 9 | 0 | 0 | 0 | 117 | 35 | 0 | 18 | 0 | 102 | 19 | 0 | 50 | 0 | 8 | 0 |
240755 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 3498 | 0 | 2 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 |
3125352 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 147 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 286 | 2 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
237745 | 0 | 0 | 0 | 0 | 28 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | 115 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
637049 | 418 | 0 | 0 | 1 | 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 | 0 | 0 | 0 | 0 | 0 |
656889 | 332 | 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 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
538000 | 0 | 0 | 0 | 27 | 0 | 0 | 0 | 384 | 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 | 0 |
345362 | 63 | 0 | 0 | 0 | 4 | 0 | 14 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 444 | 0 | 0 | 0 | 9 | 0 | 16 | 0 | 2 | 0 | 230 | 9 | 0 | 10 | 0 | 0 | 0 | 2 | 18 | 175 | 0 | 1 | 101 | 3 | 3 | 9 | 0 | 98 | 15 | 6 | 0 |
768553 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 239 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 63 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 239 | 3 | 0 | 0 |
202829 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 60 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 635 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 28 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 396 | 28 | 0 | 0 |
512485 | 0 | 0 | 0 | 0 | 82 | 2 | 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 | 0 | 0 | 0 |
143362 | 0 | 0 | 6 | 0 | 16 | 5 | 0 | 0 | 10 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 12 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13 | 34 | 1 | 0 | 0 | 2 | 0 | 0 | 120 | 0 | 0 | 0 | 3 | 0 | 0 | 15 | 0 | 0 | 0 |
861881 | 0 | 0 | 0 | 0 | 0 | 547 | 0 | 0 | 2 | 5 | 6248 | 29 | 1 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 33 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
574102 | 0 | 7 | 12 | 0 | 2 | 0 | 0 | 0 | 73 | 0 | 0 | 0 | 5 | 0 | 13 | 0 | 0 | 27 | 125 | 18 | 0 | 0 | 24 | 0 | 14 | 1 | 7 | 6 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 1 | 6 | 24 | 0 | 2 | 0 | 0 | 38 | 1 | 0 | 0 | 0 | 185 | 7 | 15 | 0 | 3 | 0 |
2360704 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 88 | 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 |
68621 | 6 | 0 | 0 | 8 | 4 | 0 | 3 | 0 | 31 | 23 | 0 | 17 | 15 | 1 | 6 | 0 | 0 | 27 | 11 | 100 | 0 | 35 | 0 | 79 | 10 | 2 | 1 | 16 | 83 | 9 | 5 | 7 | 26 | 9 | 6 | 47 | 95 | 2 | 7 | 12 | 27 | 10 | 15 | 30 | 20 | 21 | 305 | 11 | 14 | 79 | 4 | 0 | 0 | 10 | 22 | 13 | 24 | 10 | 1 | 0 |
4318352 | 0 | 0 | 37 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 30 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 52 | 0 | 0 | 0 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 116 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 |
4366522 | 0 | 3 | 5 | 0 | 92 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 19 | 0 | 1 | 0 | 44 | 3 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 6 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 25 | 0 | 0 | 0 | 133 | 0 | 0 | 52 | 0 | 1 | 0 |
900973 | 0 | 105 | 203 | 125 | 67 | 5 | 0 | 0 | 2 | 190 | 0 | 0 | 181 | 0 | 0 | 1 | 23 | 3 | 77 | 3 | 24 | 0 | 99 | 23 | 15 | 46 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 60 | 18 | 0 | 71 | 0 | 91 | 1 | 0 | 14 | 2 | 106 | 31 | 378 | 180 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 16 | 102 | 18 | 294 | 94 |
933546 | 0 | 57 | 115 | 7 | 0 | 0 | 0 | 0 | 0 | 92 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 265 | 0 | 66 | 84 | 207 | 1 | 0 | 33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 49 | 0 | 0 | 197 | 0 | 0 | 486 | 0 | 890 | 0 | 0 | 0 | 0 | 0 | 0 | 11 | 1148 | 0 | 113 | 0 | 0 | 0 |
3393186 | 0 | 10 | 30 | 0 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 55 | 0 | 102 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 18 | 0 | 219 | 0 | 0 | 7 | 0 | 53 | 446 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 8 | 0 | 0 | 0 | 172 | 0 | 0 | 0 | 479 | 0 |
386273 | 0 | 0 | 0 | 18 | 0 | 0 | 79 | 0 | 0 | 0 | 0 | 227 | 0 | 0 | 19 | 2 | 69 | 3 | 105 | 0 | 0 | 0 | 50 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 62 | 226 | 0 | 0 | 0 | 12 | 675 | 21 | 94 | 0 | 52 | 30 | 0 | 0 | 2 | 0 | 0 | 181 | 0 | 0 | 33 | 6 | 0 | 65 | 5 | 0 | 16 |
4368261 | 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 | 85 | 0 | 0 | 0 | 0 | 6 | 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 |
495017 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 113 | 0 | 0 | 0 |
979707 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 81 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 45 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
760967 | 23 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 0 | 0 | 25 | 2 | 81 | 0 | 321 | 0 | 0 | 0 | 0 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 156 | 35 | 0 | 0 | 0 | 0 | 0 | 333 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1077373 | 40 | 0 | 0 | 7 | 18 | 0 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 3 | 0 | 0 | 299 | 0 | 0 | 2 | 0 | 840 | 4 | 0 | 0 | 17 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 34 |
292041 | 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 | 8 | 0 | 0 | 0 | 0 | 0 | 83 | 0 | 0 | 0 | 0 | 0 | 0 |
4426163 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 193 | 0 | 0 | 2 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 17 | 0 | 0 | 0 | 0 | 0 | 0 |
4302472 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 330 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
4451252 | 0 | 8 | 18 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 11 | 0 | 0 | 0 | 0 | 0 | 14 | 0 | 0 | 2 | 3 | 0 | 10 | 282 | 0 | 0 | 0 | 0 | 0 | 121 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 1 | 0 | 9 | 0 | 59 | 0 | 0 | 0 | 0 | 13 | 3 | 0 | 0 | 0 | 81 | 0 |
4307391 | 0 | 0 | 1 | 0 | 10 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 120 | 0 | 0 | 0 | 0 | 0 | 34 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 4 | 0 | 0 | 0 |
851668 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 147 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 210 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
970138 | 0 | 0 | 15 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 69 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 87 | 0 | 0 | 0 | 17 | 0 | 0 | 11 | 0 | 0 | 0 |
4420570 | 0 | 0 | 136 | 0 | 8 | 0 | 17 | 4 | 521 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 26 | 2 | 1 | 0 | 0 | 0 | 10 | 0 | 2 | 9 | 0 | 0 | 0 | 1 | 0 | 13 | 0 | 19 | 0 | 18 | 0 | 31 | 6 | 17 | 161 | 12 | 6 | 0 | 60 | 19 | 0 | 152 | 3 | 14 | 0 |
503315 | 74 | 362 | 167 | 29 | 158 | 342 | 624 | 458 | 0 | 599 | 8 | 609 | 1 | 0 | 364 | 286 | 208 | 419 | 365 | 0 | 0 | 0 | 54 | 29 | 322 | 19 | 12 | 25 | 0 | 21 | 83 | 10 | 0 | 659 | 897 | 44 | 0 | 38 | 84 | 952 | 72 | 146 | 1 | 818 | 176 | 0 | 2 | 21 | 30 | 101 | 246 | 6 | 44 | 141 | 180 | 0 | 687 | 15 | 206 | 534 |
504674 | 74 | 84 | 18 | 4 | 112 | 14 | 271 | 0 | 0 | 169 | 0 | 99 | 0 | 0 | 155 | 61 | 21 | 105 | 28 | 16 | 0 | 0 | 6 | 2 | 190 | 0 | 1 | 17 | 29 | 0 | 0 | 0 | 0 | 59 | 66 | 6 | 89 | 31 | 9 | 13 | 3 | 37 | 17 | 117 | 0 | 3 | 0 | 0 | 73 | 163 | 13 | 3 | 0 | 148 | 180 | 23 | 28 | 8 | 10 | 586 |
937813 | 11 | 12 | 5 | 0 | 23 | 9 | 14 | 0 | 0 | 52 | 0 | 19 | 0 | 0 | 29 | 1 | 10 | 33 | 7 | 8 | 0 | 0 | 2 | 1 | 52 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 26 | 24 | 0 | 11 | 0 | 2 | 2 | 0 | 8 | 5 | 25 | 1 | 0 | 0 | 0 | 19 | 0 | 4 | 0 | 0 | 28 | 37 | 3 | 7 | 0 | 5 | 124 |
224222 | 0 | 0 | 0 | 0 | 5 | 0 | 3 | 2 | 183 | 0 | 0 | 3 | 0 | 0 | 1 | 2 | 4 | 0 | 3 | 0 | 0 | 0 | 1 | 4 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 20 | 1 | 0 | 1 | 16 | 0 | 62 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 7 | 0 | 1 | 0 |
451449 | 0 | 22 | 270 | 11 | 16 | 0 | 10 | 10 | 0 | 2 | 0 | 144 | 1 | 1 | 146 | 5 | 0 | 152 | 140 | 1 | 25 | 0 | 4 | 0 | 12 | 0 | 2 | 12 | 0 | 0 | 0 | 0 | 0 | 12 | 3 | 0 | 0 | 0 | 4 | 233 | 1 | 1 | 2 | 381 | 1 | 0 | 4 | 0 | 25 | 0 | 0 | 0 | 0 | 3 | 251 | 0 | 0 | 0 | 42 | 8 |
2751958 | 269 | 156 | 0 | 5 | 192 | 139 | 679 | 534 | 1 | 26 | 3 | 334 | 1 | 0 | 116 | 340 | 8 | 102 | 274 | 14 | 22 | 0 | 287 | 0 | 600 | 1 | 2 | 4 | 0 | 4 | 0 | 7 | 0 | 929 | 370 | 10 | 67 | 15 | 62 | 8 | 13 | 167 | 37 | 122 | 0 | 0 | 0 | 27 | 17 | 204 | 22 | 3 | 0 | 257 | 228 | 0 | 96 | 25 | 143 | 514 |
403258 | 0 | 23 | 0 | 1 | 52 | 39 | 0 | 0 | 0 | 0 | 0 | 371 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 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 |
1029165 | 0 | 0 | 39 | 20 | 11 | 2 | 117 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 33 | 0 | 13 | 33 | 38 | 0 | 0 | 0 | 29 | 0 | 37 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 193 | 0 | 0 | 0 | 4 | 24 | 0 | 3 | 0 | 78 | 0 | 0 | 0 | 26 | 0 | 0 | 72 | 0 | 0 | 0 | 0 | 0 | 54 | 0 | 8 | 142 |
207936 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 12 | 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 | 138 |
494906 | 92 | 280 | 358 | 60 | 205 | 247 | 1009 | 429 | 415 | 871 | 10 | 1929 | 0 | 9 | 593 | 172 | 331 | 885 | 1262 | 0 | 0 | 0 | 189 | 0 | 560 | 0 | 0 | 1 | 0 | 0 | 0 | 21 | 10 | 807 | 1059 | 38 | 0 | 4 | 61 | 490 | 1 | 305 | 20 | 1251 | 3 | 0 | 0 | 126 | 0 | 368 | 223 | 0 | 20 | 0 | 393 | 0 | 511 | 109 | 0 | 728 |
183158 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 10 | 0 | 273 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 17 | 0 | 0 | 43 | 3 | 0 | 4 | 92 | 0 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 13 | 4 | 0 | 0 | 0 | 0 | 0 |
4374753 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 1 | 69 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 107 | 0 | 0 | 0 | 0 | 2 | 37 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 9 | 0 | 23 | 0 | 0 | 1 | 0 | 0 | 1 | 3 | 0 | 0 | 7 | 0 |
4475758 | 0 | 5 | 9 | 0 | 7 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 9 | 0 | 0 | 0 | 3 | 0 | 7 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 31 | 27 | 414 | 3 | 0 | 97 | 5 | 0 | 26 | 0 | 8 | 0 |
4296244 | 0 | 0 | 9 | 0 | 1 | 0 | 0 | 4 | 171 | 0 | 0 | 0 | 0 | 0 | 1 | 21 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 10 | 0 | 0 | 141 | 0 | 0 | 0 | 0 | 3 | 90 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 18 | 0 | 43 | 0 | 5 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 12 | 0 |
1143045 | 0 | 8 | 13 | 3 | 24 | 0 | 0 | 0 | 11 | 0 | 0 | 1 | 0 | 0 | 0 | 27 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 1 | 25 | 2 | 0 | 17 | 0 | 0 | 0 | 5 | 0 | 15 | 0 | 0 | 0 | 18 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 115 | 57 | 835 | 7 | 0 | 161 | 4 | 0 | 39 | 0 | 15 | 0 |
4310208 | 0 | 2 | 7 | 0 | 8 | 0 | 0 | 6 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 11 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 8 | 1 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 32 | 0 | 0 | 0 | 20 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 150 | 128 | 327 | 6 | 0 | 171 | 31 | 0 | 35 | 0 | 42 | 0 |
4422456 | 0 | 0 | 8 | 0 | 27 | 0 | 0 | 26 | 5 | 0 | 0 | 0 | 0 | 0 | 3 | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 1 | 24 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 57 | 68 | 187 | 1 | 0 | 124 | 15 | 0 | 30 | 0 | 27 | 0 |
3801267 | 23 | 0 | 39 | 0 | 3 | 0 | 0 | 0 | 0 | 9 | 1 | 0 | 0 | 0 | 4 | 0 | 259 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 38 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 49 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 7 | 0 | 0 | 0 |
128382 | 0 | 0 | 0 | 7 | 0 | 0 | 48 | 61 | 0 | 0 | 0 | 211 | 0 | 0 | 1 | 0 | 15 | 0 | 60 | 0 | 0 | 0 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 154 | 0 | 0 | 0 | 13 | 158 | 0 | 0 | 0 | 34 | 0 | 0 | 0 | 42 | 0 | 0 | 0 | 0 | 0 | 0 | 26 | 0 | 13 | 0 | 0 | 26 |
4318284 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 117 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
753638 | 0 | 0 | 3 | 1 | 10 | 0 | 0 | 5 | 12 | 0 | 0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 32 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 102 | 5 | 0 | 2 | 29 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 20 | 5 | 0 | 30 |
496787 | 0 | 15 | 12 | 0 | 0 | 0 | 21 | 186 | 0 | 5 | 3 | 4 | 207 | 270 | 109 | 26 | 64 | 0 | 48 | 64 | 8 | 0 | 24 | 16 | 12 | 2 | 4 | 1476 | 0 | 0 | 0 | 10 | 0 | 3 | 10 | 34 | 0 | 40 | 13 | 25 | 10 | 48 | 6 | 32 | 28 | 1 | 0 | 11 | 0 | 84 | 5 | 6 | 17 | 8 | 0 | 0 | 11 | 0 | 17 | 38 |
377874 | 0 | 8 | 5 | 0 | 22 | 0 | 45 | 10 | 17 | 0 | 1 | 34 | 21 | 1 | 466 | 10 | 212 | 12 | 81 | 2 | 10 | 0 | 51 | 15 | 12 | 29 | 57 | 2 | 15 | 9 | 0 | 7 | 10 | 5 | 14 | 1 | 112 | 2 | 23 | 8 | 427 | 9 | 45 | 48 | 50 | 1 | 27 | 6 | 1 | 210 | 14 | 36 | 30 | 74 | 223 | 0 | 0 | 0 | 47 | 12 |
115186 | 0 | 0 | 0 | 0 | 2 | 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 | 123 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
934488 | 263 | 35 | 111 | 0 | 356 | 53 | 209 | 114 | 24 | 117 | 9 | 61 | 84 | 38 | 187 | 321 | 42 | 239 | 131 | 49 | 3 | 2 | 184 | 7 | 248 | 74 | 60 | 26 | 93 | 0 | 0 | 24 | 10 | 126 | 95 | 180 | 362 | 15 | 1 | 17 | 195 | 27 | 33 | 332 | 27 | 5 | 142 | 0 | 36 | 84 | 8 | 14 | 0 | 45 | 65 | 0 | 13 | 25 | 233 | 50 |
356733 | 2789 | 454 | 1125 | 8 | 4284 | 467 | 1880 | 1354 | 198 | 1075 | 118 | 763 | 1145 | 512 | 2111 | 3761 | 352 | 1315 | 1026 | 382 | 39 | 12 | 2028 | 172 | 1949 | 555 | 646 | 288 | 771 | 4 | 0 | 283 | 234 | 950 | 533 | 1188 | 2359 | 90 | 4 | 79 | 1191 | 143 | 230 | 2219 | 136 | 42 | 1016 | 11 | 322 | 992 | 54 | 196 | 98 | 545 | 770 | 72 | 252 | 188 | 2926 | 632 |
868615 | 0 | 0 | 3 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 1 | 890 | 0 | 1 | 0 | 4 | 0 | 0 | 0 | 4919 | 3162 | 3358 | 153 | 4517 | 23 | 36 | 47 | 3036 | 0 | 2943 | 398 | 5997 | 6582 | 0 | 1 | 3 | 1757 | 5183 | 464 | 323 | 2 | 0 | 1 | 26 | 5021 | 0 | 0 | 5157 | 0 | 3 | 0 | 1 | 6434 | 312 | 0 | 7095 | 0 | 0 | 8 | 1380 |
517754 | 6 | 2 | 41 | 0 | 12 | 0 | 0 | 0 | 102 | 0 | 0 | 0 | 0 | 2 | 3 | 6 | 170 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 39 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 25 | 0 | 0 | 0 | 4 | 0 | 1 | 2 | 0 | 0 | 0 | 24 | 0 | 119 | 57 | 0 | 0 | 0 | 0 | 0 | 0 | 13 | 0 | 0 | 0 |
561636 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 38 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 410 | 0 | 0 | 2 | 0 | 0 | 0 |
965500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 11 | 1 | 0 | 0 | 5 | 0 | 0 | 148 | 21 | 0 | 9 | 0 | 0 | 0 | 0 | 99 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
871442 | 0 | 109 | 696 | 0 | 52 | 0 | 0 | 4 | 342 | 14 | 17 | 14 | 137 | 11 | 19 | 177 | 251 | 21 | 3 | 452 | 23 | 186 | 33 | 1077 | 117 | 531 | 389 | 238 | 49 | 700 | 5022 | 684 | 16 | 426 | 26 | 82 | 56 | 17 | 3661 | 28 | 17 | 32 | 13 | 16 | 28 | 2 | 87 | 0 | 982 | 180 | 1 | 200 | 7 | 394 | 31 | 20 | 391 | 0 | 208 | 4 |
4439603 | 0 | 0 | 18 | 0 | 3 | 0 | 0 | 2 | 451 | 0 | 0 | 2 | 2 | 0 | 1 | 12 | 4 | 0 | 3 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 17 | 0 | 0 | 128 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 9 | 0 | 0 | 7 | 9 | 0 | 2 | 0 | 211 | 0 | 57 | 14 | 0 | 4 | 1 | 0 | 0 | 0 | 0 | 0 |
2901965 | 0 | 3 | 12 | 0 | 0 | 2 | 0 | 1 | 143 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 77 | 0 | 0 | 7 | 0 | 1 | 6 | 11 | 0 | 0 | 0 | 12 | 12 | 0 | 1 | 3 | 0 | 0 | 0 | 22 | 3 | 4 | 2 | 0 | 2 | 4 | 0 | 0 | 5 | 10 | 0 |
579608 | 0 | 5 | 23 | 0 | 170 | 0 | 0 | 10 | 40 | 0 | 0 | 2 | 0 | 0 | 4 | 52 | 87 | 0 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 30 | 1 | 0 | 0 | 0 | 1 | 0 | 6 | 4 | 1 | 4 | 0 | 18 | 6 | 0 | 4 | 0 | 125 | 0 | 0 | 82 | 0 | 0 | 10 | 31 | 28 | 0 | 65 | 0 | 3 | 0 |
516966 | 0 | 3 | 15 | 0 | 0 | 2 | 0 | 1 | 161 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 9 | 0 | 0 | 111 | 0 | 0 | 0 | 0 | 1 | 9 | 17 | 0 | 0 | 5 | 16 | 16 | 0 | 1 | 4 | 0 | 0 | 0 | 53 | 5 | 5 | 0 | 0 | 6 | 10 | 0 | 0 | 18 | 10 | 0 |
967427 | 0 | 0 | 13 | 0 | 1 | 0 | 0 | 0 | 11 | 0 | 2 | 1 | 4 | 0 | 7 | 4 | 16 | 0 | 0 | 8 | 0 | 1 | 0 | 1 | 0 | 1 | 18 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 17 | 0 | 5 | 2 | 3 | 0 | 0 | 58 | 0 | 1 | 49 | 4 | 0 | 3 | 3 | 20 | 0 | 122 | 0 | 42 | 0 |
172804 | 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 | 220 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
557570 | 0 | 0 | 10 | 0 | 90 | 0 | 0 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 18 | 1 | 6 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 1 | 4 | 0 | 10 | 786 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 2 | 2 | 5 | 3 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 16 | 0 | 0 | 84 | 0 |
291149 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 72 | 78 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
301921 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 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 | 9 | 216 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1995182 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 333 | 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 |
1076668 | 0 | 0 | 0 | 0 | 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 232 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 4 | 0 |
885628 | 0 | 0 | 7 | 0 | 0 | 0 | 17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 26 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 699 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 |
882921 | 6 | 0 | 0 | 5990 | 3 | 381 | 185 | 0 | 0 | 1258 | 805 | 0 | 126 | 482 | 0 | 0 | 820 | 1037 | 1 | 33 | 6 | 13 | 229 | 159 | 437 | 3151 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2485 | 162 | 0 | 215 | 0 | 70 | 0 | 3796 | 0 | 0 | 2850 | 2 | 0 | 678 | 5 | 2909 | 2747 | 7 | 2 | 125 | 3 | 1903 | 3915 | 0 | 2 |
590982 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 62 | 1 | 52 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 3 | 21 | 4 | 0 | 10 | 82 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 |
4331684 | 0 | 4321 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
196428 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 162 | 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 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
366195 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 103 | 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 |
328105 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 82 | 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 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 9 | 0 | 5 | 1 | 0 | 9 | 8 | 0 | 7 | 0 | 0 | 0 |
227000 | 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 | 128 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
347382 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 |
386088 | 17 | 7 | 36 | 1 | 33 | 9 | 0 | 95 | 94 | 66 | 0 | 90 | 0 | 3 | 38 | 15 | 9 | 18 | 39 | 0 | 2 | 0 | 7 | 0 | 27 | 2 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 12 | 21 | 7 | 0 | 8 | 1 | 1 | 0 | 4 | 2 | 43 | 7 | 0 | 0 | 2 | 7 | 27 | 1 | 2 | 0 | 61 | 36 | 0 | 0 | 5 | 1 | 28 |
403853 | 46 | 248 | 117 | 3 | 11 | 18 | 182 | 605 | 389 | 324 | 5 | 35 | 43 | 76 | 18 | 52 | 64 | 206 | 209 | 12 | 0 | 0 | 6 | 1 | 6 | 2 | 1 | 2 | 10 | 0 | 0 | 10 | 3 | 99 | 60 | 80 | 28 | 133 | 16 | 103 | 1 | 14 | 21 | 5 | 5 | 4 | 49 | 14 | 39 | 33 | 14 | 3 | 30 | 45 | 84 | 40 | 150 | 5 | 38 | 24 |
4294749 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 87 | 0 | 0 | 0 | 0 | 23 | 0 | 11 | 0 | 0 | 2 | 0 | 1 | 0 |
903426 | 0 | 0 | 4 | 0 | 23 | 0 | 0 | 0 | 6 | 0 | 0 | 1 | 0 | 0 | 3 | 5 | 180 | 0 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 1 | 3642 | 39 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 5 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 5 | 0 |
866280 | 0 | 0 | 5 | 0 | 1 | 0 | 0 | 0 | 125 | 0 | 1 | 1 | 0 | 0 | 7 | 4 | 1 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 23 | 0 | 0 | 26 | 0 | 0 | 0 | 0 | 3 | 9 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 0 | 0 | 11 | 0 | 35 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
4466006 | 6 | 0 | 2 | 0 | 4 | 0 | 0 | 5 | 103 | 0 | 0 | 0 | 7 | 0 | 0 | 2 | 4 | 3 | 0 | 14 | 5 | 0 | 20 | 0 | 0 | 1 | 63 | 0 | 0 | 9 | 0 | 0 | 0 | 3 | 0 | 15 | 0 | 0 | 0 | 8 | 0 | 2 | 10 | 0 | 1 | 0 | 105 | 0 | 0 | 0 | 3 | 17 | 13 | 12 | 8 | 0 | 26 | 0 | 1 | 0 |
1017181 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 37 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 77 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 27 | 0 | 32 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 15 | 0 | 0 | 0 |
930926 | 0 | 0 | 0 | 616 | 608 | 857 | 0 | 0 | 0 | 977 | 78 | 0 | 3132 | 1081 | 202 | 0 | 1913 | 3 | 0 | 31 | 0 | 1 | 320 | 825 | 810 | 1549 | 2 | 1 | 3908 | 0 | 0 | 0 | 0 | 5 | 0 | 1238 | 72 | 720 | 133 | 0 | 1804 | 392 | 2253 | 0 | 0 | 4279 | 0 | 2 | 0 | 0 | 120 | 2657 | 0 | 0 | 0 | 0 | 0 | 1209 | 0 | 0 |
974249 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 4 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 17 | 0 | 1 | 5 | 5 | 2 | 0 | 0 | 0 | 7 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 41 | 5 | 0 | 4 | 11 | 0 | 22 | 0 | 20 | 38 | 2 | 5 | 27 | 3 | 186 | 0 | 2 | 0 | 0 | 2 |
4296075 | 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 | 0 | 0 | 0 | 295 | 0 | 0 | 0 | 0 | 0 |
128390 | 0 | 0 | 0 | 3 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 29 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 409 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 |
552026 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 4 | 1 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 20 | 0 | 166 | 0 | 2 | 0 | 0 | 1 | 47 | 0 | 0 | 0 | 0 | 0 |
28246 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 209 | 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 | 0 | 31 | 0 | 425 | 0 | 0 | 0 | 0 | 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
544480 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 20 | 0 | 134 | 0 | 0 | 0 | 0 | 0 | 19 | 0 | 0 | 0 | 2 | 0 |
912997 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 128 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 24 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 133 | 0 | 0 | 0 | 0 | 371 | 0 | 0 | 30 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 |
495096 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 9 | 0 | 1 | 0 | 2 | 0 | 6 | 0 | 0 | 899 | 0 | 0 | 1 | 1 | 0 | 2 | 61 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 6 | 0 | 0 | 4 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 6 | 17 | 0 | 0 | 0 | 0 | 0 |
446403 | 17 | 47 | 80 | 0 | 0 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 52 | 0 | 5 | 0 | 0 | 0 | 0 | 5 | 1 | 1173 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 109 | 0 | 8 | 0 | 0 | 22 | 28 | 0 | 0 | 1 | 78 | 0 | 0 | 0 | 0 | 0 | 76 | 27 | 0 | 0 | 0 | 0 | 0 | 45 | 0 |
1047041 | 6 | 0 | 215 | 0 | 0 | 83 | 889 | 0 | 2 | 94 | 25 | 1 | 0 | 160 | 16 | 214 | 4 | 36 | 42 | 70 | 292 | 0 | 188 | 0 | 9 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 273 | 0 | 247 | 0 | 3 | 2 | 29 | 0 | 0 | 0 | 6 | 0 | 0 | 28 | 8 | 47 | 12 | 8 | 0 | 13 | 23 | 0 | 90 |
505626 | 0 | 0 | 0 | 24 | 8 | 0 | 0 | 98 | 0 | 0 | 0 | 0 | 4 | 0 | 130 | 0 | 0 | 161 | 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 31 | 0 | 104 | 0 | 0 | 1 | 124 | 0 | 0 | 0 | 0 | 0 | 0 | 30 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 |
858026 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 17 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 24 | 0 | 0 | 29 | 0 | 0 | 0 | 3 | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 6 | 91 | 0 | 6 | 0 | 0 | 7 | 32 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 90 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 2 | 0 | 0 | 0 |
467198 | 23 | 13 | 5 | 0 | 11 | 25 | 0 | 190 | 0 | 0 | 3 | 2 | 31 | 4 | 13 | 268 | 4 | 0 | 271 | 1 | 0 | 0 | 37 | 0 | 29 | 1 | 14 | 2 | 0 | 0 | 0 | 0 | 0 | 18 | 702 | 0 | 117 | 0 | 1 | 79 | 225 | 4 | 4 | 2 | 14 | 0 | 7 | 0 | 1461 | 25 | 1 | 0 | 0 | 7 | 18 | 0 | 7 | 38 | 2 | 2 |
861807 | 29 | 137 | 168 | 10 | 62 | 0 | 124 | 1203 | 46 | 1096 | 17 | 871 | 58 | 440 | 1239 | 286 | 197 | 0 | 625 | 75 | 8 | 5 | 802 | 140 | 812 | 3 | 86 | 385 | 2171 | 0 | 0 | 66 | 16 | 2938 | 106 | 15 | 1500 | 585 | 217 | 133 | 136 | 44 | 11 | 798 | 117 | 0 | 1682 | 31 | 1104 | 545 | 63 | 9 | 162 | 67 | 1082 | 7 | 17 | 3 | 28 | 144 |
377613 | 2714 | 680 | 2322 | 403 | 2 | 4116 | 902 | 1180 | 1210 | 16 | 28 | 398 | 1789 | 4296 | 1237 | 982 | 1069 | 2180 | 1289 | 754 | 2161 | 4 | 1863 | 4 | 663 | 1283 | 1674 | 275 | 24 | 9 | 1 | 0 | 0 | 6 | 2224 | 3 | 11 | 25 | 1876 | 1955 | 2296 | 4351 | 566 | 5 | 5 | 2 | 11 | 1482 | 9 | 1992 | 700 | 939 | 229 | 2590 | 546 | 0 | 555 | 1642 | 1964 | 1896 |
# Calculate the relative abundance for each sample
ps.ng.tax_abund_rel <- transform_sample_counts(ps.ng.tax_abund, function(x) x/sum(x))
datamat_ = as.data.frame(otu_table(ps.ng.tax_abund))
# datamat <- datamat_[c('8','9','10','12','13','14',
# '21','22','23','24','25','26','27','28',
# '33','34','35','36','37','38','39','51', '47','48','49','50','52','53','55')]
#--take all columns--
datamat <- datamat_
hr <- hclust(as.dist(1 - cor(t(datamat), method = "pearson")), method = "complete")
hc <- hclust(as.dist(1 - cor(datamat, method = "spearman")), method = "complete")
mycl = cutree(hr, h = max(hr$height)/1.08)
mycol = c("YELLOW", "DARKBLUE", "DARKORANGE", "DARKMAGENTA", "DARKCYAN", "DARKRED",
"MAROON", "DARKGREEN", "LIGHTBLUE", "PINK", "MAGENTA", "LIGHTCYAN", "LIGHTGREEN",
"BLUE", "ORANGE", "CYAN", "RED", "GREEN")
mycol = mycol[as.vector(mycl)]
sampleCols <- rep("GREY", ncol(datamat))
# Colors: '#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c',
# '#cab2d6', '#6a3d9a' Control (19)
sampleCols[colnames(datamat) == "kg001"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg002"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg003"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg004"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg005"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg007"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg009"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg015"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg016"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg019"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg020"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg021"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg022"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg023"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg025"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg026"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg027"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg028"] <- "#1f78b4"
sampleCols[colnames(datamat) == "kg029"] <- "#1f78b4"
# GPA (21)
sampleCols[colnames(datamat) == "micro1"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro3"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro4"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro6"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro7"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro12"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro13"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro16"] <- "#33a02c"
sampleCols[colnames(datamat) == "micro17"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw001"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw004"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw005"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw006"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw007"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw009"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw010"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw013"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw014"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw015"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw017"] <- "#33a02c"
sampleCols[colnames(datamat) == "mw021"] <- "#33a02c"
# RA (20)
sampleCols[colnames(datamat) == "ra002"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra003"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra004"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra005"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra006"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra007"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra008"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra009"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra010"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra013"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra014"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra015"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra017"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra018"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra019"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra020"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra022"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra023"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra024"] <- "#e31a1c"
sampleCols[colnames(datamat) == "ra025"] <- "#e31a1c"
library(RColorBrewer)
custom_palette <- colorRampPalette(brewer.pal(9, "Blues"))
heatmap_colors <- custom_palette(100)
png("figures/heatmap.png", width = 1200, height = 2400)
heatmap.2(as.matrix(datamat), Rowv = as.dendrogram(hr), Colv = NA, dendrogram = "row",
scale = "row", trace = "none", col = heatmap_colors, cexRow = 1.2, cexCol = 1.5,
RowSideColors = mycol, ColSideColors = sampleCols, srtCol = 15, labRow = row.names(datamat),
key = TRUE, margins = c(10, 15), lhei = c(0.7, 15), lwid = c(1, 8))
dev.off()
png
2
knitr::include_graphics("./figures/heatmap.png")
Heatmap
library(ggplot2)
geom.text.size = 6
theme.size = 8 #(14/5) * geom.text.size
ps.ng.tax_most = phyloseq::filter_taxa(ps.ng.tax_rel, function(x) mean(x) > 0.001,
TRUE)
ps.ng.tax_most_ = transform_sample_counts(ps.ng.tax_most, function(x) x/sum(x))
plot_bar(ps.ng.tax_most_, fill = "Phylum") + geom_bar(aes(), stat = "identity", position = "stack") +
scale_fill_manual(values = c("darkblue", "darkgoldenrod1", "darkseagreen", "darkorchid",
"darkolivegreen1", "lightskyblue", "darkgreen", "deeppink", "khaki2", "firebrick",
"brown1", "darkorange1", "cyan1", "royalblue4", "darksalmon", "darkblue",
"royalblue4", "dodgerblue3", "steelblue1", "lightskyblue", "darkseagreen",
"darkgoldenrod1", "darkseagreen", "darkorchid", "darkolivegreen1", "brown1",
"darkorange1", "cyan1", "darkgrey")) + theme(axis.text = element_text(size = 5,
colour = "black")) + theme(legend.position = "bottom") + guides(fill = guide_legend(nrow = 2))
ps.ng.tax_most_copied <- data.table::copy(ps.ng.tax_most_)
plot_bar(ps.ng.tax_most_copied, fill = "Class") + geom_bar(aes(), stat = "identity",
position = "stack") + scale_fill_manual(values = c("darkblue", "darkgoldenrod1",
"darkseagreen", "darkorchid", "darkolivegreen1", "lightskyblue", "darkgreen",
"deeppink", "khaki2", "firebrick", "brown1", "darkorange1", "cyan1", "royalblue4",
"darksalmon", "darkblue", "royalblue4", "dodgerblue3", "steelblue1", "lightskyblue",
"darkseagreen", "darkgoldenrod1", "darkseagreen", "darkorchid", "darkolivegreen1",
"brown1", "darkorange1", "cyan1", "darkgrey")) + theme(axis.text = element_text(size = 5,
colour = "black")) + theme(legend.position = "bottom") + guides(fill = guide_legend(nrow = 3))
plot_bar(ps.ng.tax_most_copied, fill = "Order") + geom_bar(aes(), stat = "identity",
position = "stack") + scale_fill_manual(values = c("darkblue", "darkgoldenrod1",
"darkseagreen", "darkorchid", "darkolivegreen1", "lightskyblue", "darkgreen",
"deeppink", "khaki2", "firebrick", "brown1", "darkorange1", "cyan1", "royalblue4",
"darksalmon", "darkblue", "royalblue4", "dodgerblue3", "steelblue1", "lightskyblue",
"darkseagreen", "darkgoldenrod1", "darkseagreen", "darkorchid", "darkolivegreen1",
"brown1", "darkorange1", "cyan1", "darkgrey")) + theme(axis.text = element_text(size = 5,
colour = "black")) + theme(legend.position = "bottom") + guides(fill = guide_legend(nrow = 4))
plot_bar(ps.ng.tax_most_copied, fill = "Family") + geom_bar(aes(), stat = "identity",
position = "stack") + scale_fill_manual(values = c("#FF0000", "#000000", "#0000FF",
"#C0C0C0", "#FFFFFF", "#FFFF00", "#00FFFF", "#FFA500", "#00FF00", "#808080",
"#FF00FF", "#800080", "#FDD017", "#0000A0", "#3BB9FF", "#008000", "#800000",
"#ADD8E6", "#F778A1", "#800517", "#736F6E", "#F52887", "#C11B17", "#5CB3FF",
"#A52A2A", "#FF8040", "#2B60DE", "#736AFF", "#1589FF", "#98AFC7", "#8D38C9",
"#307D7E", "#F6358A", "#151B54", "#6D7B8D", "#FDEEF4", "#FF0080", "#F88017",
"#2554C7", "#FFF8C6", "#D4A017", "#306EFF", "#151B8D", "#9E7BFF", "#EAC117",
"#E0FFFF", "#15317E", "#6C2DC7", "#FBB917", "#FCDFFF", "#15317E", "#254117",
"#FAAFBE", "#357EC7")) + theme(axis.text = element_text(size = 5, colour = "black")) +
theme(legend.position = "bottom") + guides(fill = guide_legend(nrow = 8))
Plot Chao1 richness estimator, Observed OTUs, Shannon index, and Phylogenetic diversity. Regroup together samples from the same group.
hmp.div_qiime <- read.csv("adiv_even.txt", sep = "\t")
colnames(hmp.div_qiime) <- c("sam_name", "chao1", "observed_otus", "shannon", "PD_whole_tree")
row.names(hmp.div_qiime) <- hmp.div_qiime$sam_name
div.df <- merge(hmp.div_qiime, hmp.meta, by = "sam_name")
div.df2 <- div.df[, c("SampleType", "chao1", "shannon", "observed_otus", "PD_whole_tree")]
colnames(div.df2) <- c("Group", "Chao-1", "Shannon", "OTU", "Phylogenetic Diversity")
options(max.print = 999999)
knitr::kable(div.df2) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Group | Chao-1 | Shannon | OTU | Phylogenetic Diversity |
---|---|---|---|---|
control | 38.00000 | 2.5126324 | 31 | 4.65148 |
control | 82.11111 | 2.6519845 | 67 | 7.86756 |
control | 199.66667 | 4.1349045 | 160 | 11.50759 |
control | 42.00000 | 1.2463443 | 40 | 5.86806 |
control | 188.68182 | 3.0985879 | 155 | 12.05980 |
control | 61.42857 | 2.4456359 | 42 | 3.94668 |
control | 39.50000 | 3.4289966 | 36 | 4.13313 |
control | 88.66667 | 3.8060304 | 80 | 8.20430 |
control | 142.60000 | 5.5176171 | 139 | 12.43166 |
control | 41.60000 | 3.6188130 | 41 | 5.36125 |
control | 95.00000 | 0.9732663 | 72 | 7.70470 |
control | 109.23529 | 3.6748240 | 106 | 9.15602 |
control | 62.75000 | 2.6264060 | 49 | 4.90319 |
control | 69.27273 | 2.1585520 | 52 | 4.21946 |
control | 127.58824 | 3.4188787 | 102 | 9.61382 |
control | 148.00000 | 2.9950552 | 129 | 9.87727 |
control | 132.60000 | 4.1923767 | 119 | 10.65810 |
control | 73.11111 | 3.3864724 | 58 | 6.59343 |
control | 120.40000 | 4.2420857 | 105 | 9.31995 |
GPA | 129.76923 | 2.2335361 | 112 | 9.96287 |
GPA | 147.20000 | 3.7174971 | 143 | 10.92196 |
GPA | 156.23077 | 2.4347508 | 125 | 10.36394 |
GPA | 225.96875 | 2.7675173 | 204 | 12.85912 |
GPA | 147.75000 | 2.8307342 | 109 | 9.46643 |
GPA | 183.33333 | 2.5857569 | 150 | 10.94254 |
GPA | 106.50000 | 1.6027140 | 81 | 7.92421 |
GPA | 153.37500 | 3.7046056 | 132 | 8.88776 |
GPA | 101.61538 | 2.1616398 | 87 | 7.56155 |
GPA | 32.20000 | 1.9577693 | 28 | 4.72075 |
GPA | 62.00000 | 3.5884207 | 57 | 6.42758 |
GPA | 44.00000 | 1.9468255 | 35 | 4.55259 |
GPA | 37.62500 | 1.2476340 | 32 | 4.69088 |
GPA | 25.66667 | 0.8671918 | 24 | 3.64861 |
GPA | 70.12500 | 2.9601222 | 66 | 6.98732 |
GPA | 103.30000 | 3.5152901 | 88 | 8.74152 |
GPA | 138.00000 | 3.5230938 | 111 | 9.42402 |
GPA | 39.66667 | 2.9541263 | 35 | 3.37007 |
GPA | 43.00000 | 1.8556788 | 40 | 4.73671 |
GPA | 84.00000 | 2.5440048 | 73 | 6.83341 |
GPA | 103.68750 | 3.9434930 | 93 | 8.57517 |
RA | 121.00000 | 3.3449784 | 115 | 9.61511 |
RA | 191.00000 | 2.9762825 | 184 | 13.02167 |
RA | 107.00000 | 2.1913073 | 97 | 8.83295 |
RA | 173.43750 | 3.7432315 | 170 | 13.24291 |
RA | 152.06667 | 2.6193442 | 125 | 11.40126 |
RA | 49.42857 | 1.3489865 | 40 | 5.83268 |
RA | 113.66667 | 4.3555040 | 91 | 8.86575 |
RA | 48.00000 | 1.6248900 | 44 | 5.91250 |
RA | 93.60000 | 4.2709559 | 88 | 6.78461 |
RA | 84.00000 | 4.5113078 | 80 | 7.68684 |
RA | 111.68750 | 3.5108714 | 106 | 9.23421 |
RA | 115.00000 | 2.5577960 | 100 | 9.89423 |
RA | 41.50000 | 1.1329113 | 38 | 4.23374 |
RA | 177.06667 | 4.5805528 | 168 | 13.79084 |
RA | 148.15385 | 4.7489461 | 135 | 11.36418 |
RA | 29.66667 | 0.4577077 | 25 | 4.35241 |
RA | 142.15385 | 4.6629967 | 126 | 11.02192 |
RA | 39.33333 | 2.0711502 | 37 | 5.38240 |
RA | 111.57143 | 3.1565146 | 106 | 9.39170 |
RA | 68.33333 | 3.5058156 | 55 | 6.08455 |
# https://uc-r.github.io/t_test We can perform the test with t.test and
# transform our data and we can also perform the nonparametric test with the
# wilcox.test function.
stat.test.Shannon <- compare_means(Shannon ~ Group, data = div.df2, method = "t.test")
knitr::kable(stat.test.Shannon) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
.y. | group1 | group2 | p | p.adj | p.format | p.signif | method |
---|---|---|---|---|---|---|---|
Shannon | control | GPA | 0.0857343 | 0.26 | 0.086 | ns | T-test |
Shannon | control | RA | 0.8014361 | 0.80 | 0.801 | ns | T-test |
Shannon | GPA | RA | 0.1979828 | 0.40 | 0.198 | ns | T-test |
div_df_melt <- reshape2::melt(div.df2)
# head(div_df_melt) https://plot.ly/r/box-plots/#horizontal-boxplot
# http://www.sthda.com/english/wiki/print.php?id=177
# https://rpkgs.datanovia.com/ggpubr/reference/as_ggplot.html
# http://www.sthda.com/english/articles/24-ggpubr-publication-ready-plots/82-ggplot2-easy-way-to-change-graphical-parameters/
# https://plot.ly/r/box-plots/#horizontal-boxplot library('gridExtra')
# par(mfrow=c(4,1))
p <- ggboxplot(div_df_melt, x = "Group", y = "value", facet.by = "variable", scales = "free",
width = 0.5, fill = "gray", legend = "right")
# ggpar(p, xlab = FALSE, ylab = FALSE)
lev <- levels(factor(div_df_melt$Group)) # get the variables
# Using my_stat_compare_means (see
# https://stackoverflow.com/questions/47839988/indicating-significance-with-ggplot2-in-a-boxplot-with-multiple-groups)
L.pairs <- combn(seq_along(lev), 2, simplify = FALSE, FUN = function(i) lev[i]) #%>% filter(p.signif != 'ns')
my_stat_compare_means <- function(mapping = NULL, data = NULL, method = NULL, paired = FALSE,
method.args = list(), ref.group = NULL, comparisons = NULL, hide.ns = FALSE,
label.sep = ", ", label = NULL, label.x.npc = "left", label.y.npc = "top", label.x = NULL,
label.y = NULL, tip.length = 0.03, symnum.args = list(), geom = "text", position = "identity",
na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, ...) {
if (!is.null(comparisons)) {
method.info <- ggpubr:::.method_info(method)
method <- method.info$method
method.args <- ggpubr:::.add_item(method.args, paired = paired)
if (method == "wilcox.test")
method.args$exact <- FALSE
pms <- list(...)
size <- ifelse(is.null(pms$size), 0.3, pms$size)
color <- ifelse(is.null(pms$color), "black", pms$color)
map_signif_level <- FALSE
if (is.null(label))
label <- "p.format"
if (ggpubr:::.is_p.signif_in_mapping(mapping) | (label %in% "p.signif")) {
if (ggpubr:::.is_empty(symnum.args)) {
map_signif_level <- c(`****` = 1e-04, `***` = 0.001, `**` = 0.01,
`*` = 0.05, ns = 1)
} else {
map_signif_level <- symnum.args
}
if (hide.ns)
names(map_signif_level)[5] <- " "
}
step_increase <- ifelse(is.null(label.y), 0.12, 0)
ggsignif::geom_signif(comparisons = comparisons, y_position = label.y, test = method,
test.args = method.args, step_increase = step_increase, size = size,
color = color, map_signif_level = map_signif_level, tip_length = tip.length,
data = data)
} else {
mapping <- ggpubr:::.update_mapping(mapping, label)
layer(stat = StatCompareMeans, data = data, mapping = mapping, geom = geom,
position = position, show.legend = show.legend, inherit.aes = inherit.aes,
params = list(label.x.npc = label.x.npc, label.y.npc = label.y.npc, label.x = label.x,
label.y = label.y, label.sep = label.sep, method = method, method.args = method.args,
paired = paired, ref.group = ref.group, symnum.args = symnum.args,
hide.ns = hide.ns, na.rm = na.rm, ...))
}
}
# FITTING_3: #> Using lev ('control', 'GPA', 'RA') for definition of the
# following comparisons. comparisons = L.pairs, symnum.args <- list(cutpoints =
# c(0, 0.0001, 0.001, 0.01, 0.05), symbols = c('****', '***', '**', '*')),
p3 <- p + stat_compare_means(method = "t.test", comparisons = list(c("GPA", "control"),
c("RA", "control"), c("GPA", "RA")), label = "p.signif", symnum.args <- list(cutpoints = c(0,
1e-04, 0.001, 0.01, 0.05, 1), symbols = c("****", "***", "**", "*", "ns")))
# stat_pvalue_manual print(p2)
# https://stackoverflow.com/questions/20500706/saving-multiple-ggplots-from-ls-into-one-and-separate-files-in-r
# FITTING_4: mkdir figures
ggsave("./figures/alpha_diversity_SampleType.png", device = "png", height = 10, width = 12)
ggsave("./figures/alpha_diversity_SampleType.svg", device = "svg", height = 10, width = 12)
knitr::include_graphics("./figures/alpha_diversity_SampleType.png")
Alpha diversity
# FITTING_5: Preparing the file selected_alpha_diversities.txt
# selected_alpha_diversities<-read.csv('selected_alpha_diversities.txt',sep='\t')
# knitr::kable(selected_alpha_diversities) %>% kable_styling(bootstrap_options
# = c('striped', 'hover', 'condensed', 'responsive'))
# The tests of significance were performed using a two-sided Student's
# two-sample t-test. Alternative hypothesis: Group 1 mean != Group 2 mean The
# nonparametric p-values were calculated using 999 Monte Carlo permutations.
# The nonparametric p-values contain the correct number of significant digits.
# Entries marked with 'N/A' could not be calculated because at least one of the
# groups of distances was empty, both groups each contained only a single
# distance, or the test could not be performed (e.g. no variance in groups with
# the same mean). PREPARING_FILES: cp
# bdiv_even1300_SampleType/weighted_unifrac_boxplots/SampleType_Stats.txt
# bdiv_even1300_SampleType/weighted_unifrac_boxplots/SampleType_Stats_.txt and
# delete all headers, add # before 'Group 1'. cp
# bdiv_even1300_SampleType/unweighted_unifrac_boxplots/SampleType_Stats.txt
# bdiv_even1300_SampleType/unweighted_unifrac_boxplots/SampleType_Stats_.txt
# and delete all headers, add # before 'Group 1'.
# file:///home/jhuang/DATA/Data_Marius_16S/core_diversity_e42369/bdiv_even42369_Group/unweighted_unifrac_boxplots/Group_Stats.txt
weighted_unifrac_stats <- read.csv(file = "bdiv_even1300_SampleType/weighted_unifrac_boxplots/SampleType_Stats_.txt",
sep = "\t")
knitr::kable(weighted_unifrac_stats) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
X.Group.1 | Group.2 | t.statistic | Parametric.p.value | Parametric.p.value..Bonferroni.corrected. | Nonparametric.p.value | Nonparametric.p.value..Bonferroni.corrected. |
---|---|---|---|---|---|---|
All within SampleType | All between SampleType | -0.9448843 | 0.3448471 | 1.0000000 | 0.336 | 1.000 |
All within SampleType | control vs. control | 0.0742240 | 0.9408522 | 1.0000000 | 0.945 | 1.000 |
All within SampleType | GPA vs. GPA | -1.2065252 | 0.2279813 | 1.0000000 | 0.244 | 1.000 |
All within SampleType | RA vs. RA | 1.3214246 | 0.1867580 | 1.0000000 | 0.178 | 1.000 |
All within SampleType | control vs. GPA | -2.4760610 | 0.0134542 | 0.3767165 | 0.007 | 0.196 |
All within SampleType | control vs. RA | 0.6098859 | 0.5420834 | 1.0000000 | 0.542 | 1.000 |
All within SampleType | GPA vs. RA | -0.1972929 | 0.8436389 | 1.0000000 | 0.834 | 1.000 |
All between SampleType | control vs. control | 0.6629703 | 0.5074612 | 1.0000000 | 0.521 | 1.000 |
All between SampleType | GPA vs. GPA | -0.7058209 | 0.4804164 | 1.0000000 | 0.472 | 1.000 |
All between SampleType | RA vs. RA | 2.0469735 | 0.0408488 | 1.0000000 | 0.031 | 0.868 |
All between SampleType | control vs. GPA | -2.0543775 | 0.0401017 | 1.0000000 | 0.040 | 1.000 |
All between SampleType | control vs. RA | 1.5251598 | 0.1274198 | 1.0000000 | 0.135 | 1.000 |
All between SampleType | GPA vs. RA | 0.6349431 | 0.5255554 | 1.0000000 | 0.535 | 1.000 |
control vs. control | GPA vs. GPA | -0.9373706 | 0.3491649 | 1.0000000 | 0.347 | 1.000 |
control vs. control | RA vs. RA | 0.9865003 | 0.3245521 | 1.0000000 | 0.325 | 1.000 |
control vs. control | control vs. GPA | -1.7467733 | 0.0812172 | 1.0000000 | 0.069 | 1.000 |
control vs. control | control vs. RA | 0.3592265 | 0.7195638 | 1.0000000 | 0.740 | 1.000 |
control vs. control | GPA vs. RA | -0.2102543 | 0.8335419 | 1.0000000 | 0.824 | 1.000 |
GPA vs. GPA | RA vs. RA | 2.1631960 | 0.0311208 | 0.8713822 | 0.039 | 1.000 |
GPA vs. GPA | control vs. GPA | -0.7225328 | 0.4702453 | 1.0000000 | 0.468 | 1.000 |
GPA vs. GPA | control vs. RA | 1.6587818 | 0.0976930 | 1.0000000 | 0.103 | 1.000 |
GPA vs. GPA | GPA vs. RA | 1.0373044 | 0.2999933 | 1.0000000 | 0.304 | 1.000 |
RA vs. RA | control vs. GPA | -3.1483258 | 0.0017255 | 0.0483127 | 0.002 | 0.056 |
RA vs. RA | control vs. RA | -0.8667216 | 0.3864605 | 1.0000000 | 0.389 | 1.000 |
RA vs. RA | GPA vs. RA | -1.5020995 | 0.1335906 | 1.0000000 | 0.130 | 1.000 |
control vs. GPA | control vs. RA | 2.8913391 | 0.0039431 | 0.1104061 | 0.006 | 0.168 |
control vs. GPA | GPA vs. RA | 2.1828773 | 0.0293288 | 0.8212076 | 0.033 | 0.924 |
control vs. RA | GPA vs. RA | -0.7821717 | 0.4343457 | 1.0000000 | 0.418 | 1.000 |
# BUG:How to generate the plot?
# knitr::include_graphics('./figures/PCoA_weighted_unifrac.png')
# file:///home/jhuang/DATA/Data_Marius_16S/core_diversity_e42369/bdiv_even42369_Group/unweighted_unifrac_boxplots/Group_Stats.txt
unweighted_unifrac_stats <- read.csv(file = "bdiv_even1300_SampleType/unweighted_unifrac_boxplots/SampleType_Stats_.txt",
sep = "\t")
knitr::kable(unweighted_unifrac_stats) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
X.Group.1 | Group.2 | t.statistic | Parametric.p.value | Parametric.p.value..Bonferroni.corrected. | Nonparametric.p.value | Nonparametric.p.value..Bonferroni.corrected. |
---|---|---|---|---|---|---|
All within SampleType | All between SampleType | -1.9887655 | 0.0468810 | 1.0000000 | 0.059 | 1.000 |
All within SampleType | control vs. control | 0.8077441 | 0.4194975 | 1.0000000 | 0.387 | 1.000 |
All within SampleType | GPA vs. GPA | -0.5117013 | 0.6090051 | 1.0000000 | 0.583 | 1.000 |
All within SampleType | RA vs. RA | -0.2380432 | 0.8119118 | 1.0000000 | 0.824 | 1.000 |
All within SampleType | control vs. GPA | -0.8835497 | 0.3771587 | 1.0000000 | 0.388 | 1.000 |
All within SampleType | control vs. RA | -0.5284031 | 0.5973431 | 1.0000000 | 0.609 | 1.000 |
All within SampleType | GPA vs. RA | -3.2013911 | 0.0014113 | 0.0395154 | 0.004 | 0.112 |
All between SampleType | control vs. control | 2.0875347 | 0.0370245 | 1.0000000 | 0.039 | 1.000 |
All between SampleType | GPA vs. GPA | 0.8135408 | 0.4160457 | 1.0000000 | 0.426 | 1.000 |
All between SampleType | RA vs. RA | 1.0470685 | 0.2952504 | 1.0000000 | 0.295 | 1.000 |
All between SampleType | control vs. GPA | 0.7234669 | 0.4694991 | 1.0000000 | 0.474 | 1.000 |
All between SampleType | control vs. RA | 1.1250900 | 0.2607221 | 1.0000000 | 0.287 | 1.000 |
All between SampleType | GPA vs. RA | -1.7868299 | 0.0741523 | 1.0000000 | 0.093 | 1.000 |
control vs. control | GPA vs. GPA | -1.0747519 | 0.2831696 | 1.0000000 | 0.279 | 1.000 |
control vs. control | RA vs. RA | -0.8469234 | 0.3976021 | 1.0000000 | 0.379 | 1.000 |
control vs. control | control vs. GPA | -1.3439725 | 0.1794938 | 1.0000000 | 0.193 | 1.000 |
control vs. control | control vs. RA | -1.1275912 | 0.2599852 | 1.0000000 | 0.270 | 1.000 |
control vs. control | GPA vs. RA | -3.0258939 | 0.0025872 | 0.0724408 | 0.003 | 0.084 |
GPA vs. GPA | RA vs. RA | 0.2193061 | 0.8265240 | 1.0000000 | 0.823 | 1.000 |
GPA vs. GPA | control vs. GPA | -0.2089473 | 0.8345595 | 1.0000000 | 0.831 | 1.000 |
GPA vs. GPA | control vs. RA | 0.0685205 | 0.9453946 | 1.0000000 | 0.949 | 1.000 |
GPA vs. GPA | GPA vs. RA | -1.9986350 | 0.0460785 | 1.0000000 | 0.046 | 1.000 |
RA vs. RA | control vs. GPA | -0.4336156 | 0.6647269 | 1.0000000 | 0.649 | 1.000 |
RA vs. RA | control vs. RA | -0.1734713 | 0.8623428 | 1.0000000 | 0.858 | 1.000 |
RA vs. RA | GPA vs. RA | -2.1755872 | 0.0299706 | 0.8391767 | 0.029 | 0.812 |
control vs. GPA | control vs. RA | 0.3251898 | 0.7451250 | 1.0000000 | 0.757 | 1.000 |
control vs. GPA | GPA vs. RA | -2.0376445 | 0.0419072 | 1.0000000 | 0.050 | 1.000 |
control vs. RA | GPA vs. RA | -2.4146038 | 0.0159763 | 0.4473367 | 0.022 | 0.616 |
# BUG:How to generate the plot?
# knitr::include_graphics('./figures/PCoA_unweighted_unifrac.png')
Differential abundance analysis aims to find the differences in the abundance of each taxa between two groups of samples, assigning a significance value to each comparison. ## GPA vs control
library("DESeq2")
# ALTERNATIVE using ps.ng.tax_most_copied: ps.ng.tax (40594) vs.
# ps.ng.tax_most_copied (166)
ps.ng.tax_sel <- ps.ng.tax
# FITTING5: correct the id of the group members, see FITTING6
otu_table(ps.ng.tax_sel) <- otu_table(ps.ng.tax)[, c("micro1", "micro3", "micro4",
"micro6", "micro7", "micro12", "micro13", "micro16", "micro17", "mw001", "mw004",
"mw005", "mw006", "mw007", "mw009", "mw010", "mw013", "mw014", "mw015", "mw017",
"mw021", "kg001", "kg002", "kg003", "kg004", "kg005", "kg007", "kg009", "kg015",
"kg016", "kg019", "kg020", "kg021", "kg022", "kg023", "kg025", "kg026", "kg027",
"kg028", "kg029")]
diagdds = phyloseq_to_deseq2(ps.ng.tax_sel, ~SampleType)
diagdds$SampleType <- relevel(diagdds$SampleType, "control")
## Filter out rows where all values are zero --> from 631 to 551 keep <-
## rowSums(counts(diagdds) > 0) > 0 # diagdds <- diagdds[keep,]
# The poscounts method uses a modified geometric mean that excludes zero values
# from the calculation, which should prevent the error. counts(diagdds) <-
# as.matrix(round(counts(diagdds) + 1))
diagdds <- estimateSizeFactors(diagdds, type = "poscounts")
diagdds = DESeq(diagdds, test = "Wald", fitType = "parametric")
resultsNames(diagdds)
[1] "Intercept" "SampleType_GPA_vs_control"
res = results(diagdds, cooksCutoff = FALSE)
alpha = 0.05
sigtab = res[which(res$padj < alpha), ]
sigtab = cbind(as(sigtab, "data.frame"), as(tax_table(ps.ng.tax_sel)[rownames(sigtab),
], "matrix"))
sigtab <- sigtab[rownames(sigtab) %in% rownames(tax_table(ps.ng.tax_most_copied)),
]
kable(sigtab) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | Domain | Phylum | Class | Order | Family | Genus | Species | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
861881 | 21.95936 | -7.810001 | 2.1649848 | -3.607416 | 0.0003093 | 0.0162834 | k__Bacteria | p__Proteobacteria | c__Gammaproteobacteria | o__Pseudomonadales | f__Moraxellaceae | g__Moraxella | s__ |
451449 | 31.29902 | -3.722008 | 1.1916255 | -3.123471 | 0.0017873 | 0.0277033 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
868615 | 1406.00583 | 4.925705 | 1.4243705 | 3.458163 | 0.0005439 | 0.0162834 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Planococcaceae | g__ | s__ |
871442 | 427.03319 | 2.990001 | 0.8906742 | 3.357009 | 0.0007879 | 0.0162834 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
# rownames(sigtab) %in% rownames(tax_table(ps.ng.tax_most_copied))
write.xlsx(sigtab, file = "sigtab_GPA_vs_control.xlsx")
# subv %in% v returns a vector TRUE FALSE is.element(subv, v) returns a vector
# TRUE FALSE
library("ggplot2")
theme_set(theme_bw())
scale_fill_discrete <- function(palname = "Set1", ...) {
scale_fill_brewer(palette = palname, ...)
}
x = tapply(sigtab$log2FoldChange, sigtab$Order, function(x) max(x))
x = sort(x)
sigtab$Order = factor(as.character(sigtab$Order), levels = names(x))
x = tapply(sigtab$log2FoldChange, sigtab$Family, function(x) max(x))
x = sort(x)
sigtab$Family = factor(as.character(sigtab$Family), levels = names(x))
ggplot(sigtab, aes(x = log2FoldChange, y = Family, color = Order)) + geom_point(aes(size = padj)) +
scale_size_continuous(name = "padj", range = c(8, 4)) + theme(axis.text.x = element_text(angle = -25,
hjust = 0, vjust = 0.5))
# Error in checkForExperimentalReplicates(object, modelMatrix) : The design
# matrix has the same number of samples and coefficients to fit, so estimation
# of dispersion is not possible. Treating samples as replicates was deprecated
# in v1.20 and no longer supported since v1.22.
ps.ng.tax_sel <- ps.ng.tax
otu_table(ps.ng.tax_sel) <- otu_table(ps.ng.tax)[, c("ra002", "ra003", "ra004", "ra005",
"ra006", "ra007", "ra008", "ra009", "ra010", "ra013", "ra014", "ra015", "ra017",
"ra018", "ra019", "ra020", "ra022", "ra023", "ra024", "ra025", "kg001", "kg002",
"kg003", "kg004", "kg005", "kg007", "kg009", "kg015", "kg016", "kg019", "kg020",
"kg021", "kg022", "kg023", "kg025", "kg026", "kg027", "kg028", "kg029")]
diagdds = phyloseq_to_deseq2(ps.ng.tax_sel, ~SampleType)
diagdds$SampleType <- relevel(diagdds$SampleType, "control")
diagdds <- estimateSizeFactors(diagdds, type = "poscounts")
diagdds = DESeq(diagdds, test = "Wald", fitType = "parametric")
resultsNames(diagdds)
[1] "Intercept" "SampleType_RA_vs_control"
res = results(diagdds, cooksCutoff = FALSE)
alpha = 2
sigtab = res[which(res$padj < alpha), ]
sigtab = cbind(as(sigtab, "data.frame"), as(tax_table(ps.ng.tax_sel)[rownames(sigtab),
], "matrix"))
sigtab <- sigtab[rownames(sigtab) %in% rownames(tax_table(ps.ng.tax_most_copied)),
]
kable(sigtab) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | Domain | Phylum | Class | Order | Family | Genus | Species | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
80113 | 4.702974 | 3.3268103 | 1.7757464 | 1.8734714 | 0.0610033 | 0.2707022 | k__Bacteria | p__Proteobacteria | c__Alphaproteobacteria | o__Rhizobiales | f__Rhizobiaceae | g__Rhizobium | s__leguminosarum |
521073 | 14.699905 | 2.7238523 | 1.6247136 | 1.6765123 | 0.0936379 | 0.3221164 | k__Bacteria | p__Proteobacteria | c__Alphaproteobacteria | o__Rhizobiales | f__Rhizobiaceae | g__Agrobacterium | s__ |
341460 | 7.080004 | -1.0820521 | 1.2030820 | -0.8994001 | 0.3684396 | 0.7474060 | k__Bacteria | p__Proteobacteria | c__Gammaproteobacteria | o__Pasteurellales | f__Pasteurellaceae | g__Haemophilus | NA |
345362 | 9.416377 | 4.0951487 | 1.3182900 | 3.1064096 | 0.0018937 | 0.0268911 | k__Bacteria | p__Proteobacteria | c__Gammaproteobacteria | o__Enterobacteriales | f__Enterobacteriaceae | g__ | s__ |
861881 | 24.012929 | -23.6929822 | 2.2009854 | -10.7647156 | 0.0000000 | 0.0000000 | k__Bacteria | p__Proteobacteria | c__Gammaproteobacteria | o__Pseudomonadales | f__Moraxellaceae | g__Moraxella | s__ |
574102 | 4.311373 | -0.6302778 | 1.1274145 | -0.5590471 | 0.5761296 | 0.8703234 | k__Bacteria | p__Proteobacteria | c__Gammaproteobacteria | o__Pseudomonadales | f__Moraxellaceae | g__Enhydrobacter | s__ |
68621 | 12.772930 | 1.1863358 | 0.7992093 | 1.4843869 | 0.1377063 | 0.4250934 | k__Bacteria | p__Proteobacteria | c__Betaproteobacteria | o__Burkholderiales | f__Comamonadaceae | g__Delftia | s__ |
900973 | 53.442548 | -0.1916407 | 1.1930155 | -0.1606356 | 0.8723804 | 0.9582657 | k__Bacteria | p__Proteobacteria | c__Betaproteobacteria | o__Neisseriales | f__Neisseriaceae | g__ | s__ |
933546 | 22.943268 | 1.1692183 | 2.0029770 | 0.5837403 | 0.5593951 | 0.8634141 | k__Bacteria | p__Proteobacteria | c__Betaproteobacteria | o__Neisseriales | f__Neisseriaceae | g__ | s__ |
3393186 | 6.286072 | 1.2147295 | 1.9514679 | 0.6224696 | 0.5336331 | 0.8555449 | k__Bacteria | p__Proteobacteria | c__Betaproteobacteria | o__Neisseriales | f__Neisseriaceae | g__ | s__ |
386273 | 22.584250 | 0.8961318 | 1.3965390 | 0.6416805 | 0.5210807 | 0.8555449 | k__Bacteria | p__Proteobacteria | c__Epsilonproteobacteria | o__Campylobacterales | f__Campylobacteraceae | g__Campylobacter | s__ |
760967 | 10.949050 | -0.2064463 | 1.9463925 | -0.1060661 | 0.9155299 | 0.9582657 | k__Bacteria | p__Bacteroidetes | c__Bacteroidia | o__Bacteroidales | f__Prevotellaceae | g__Prevotella | s__ |
1077373 | 2.811412 | -1.5816399 | 1.9130362 | -0.8267694 | 0.4083678 | 0.7491079 | k__Bacteria | p__Bacteroidetes | c__Bacteroidia | o__Bacteroidales | f__Prevotellaceae | g__Prevotella | s__ |
4451252 | 2.657968 | -0.0376489 | 1.6155966 | -0.0233034 | 0.9814083 | 0.9814083 | k__Bacteria | p__Bacteroidetes | c__Bacteroidia | o__Bacteroidales | f__Prevotellaceae | g__Prevotella | s__melaninogenica |
4420570 | 15.009561 | -0.1414098 | 1.1853273 | -0.1193002 | 0.9050375 | 0.9582657 | k__Bacteria | p__Cyanobacteria | c__Chloroplast | o__Streptophyta | f__ | g__ | s__ |
503315 | 237.998264 | -1.0951498 | 0.8287542 | -1.3214410 | 0.1863544 | 0.5292464 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Finegoldia | s__ |
504674 | 66.366126 | -0.3939525 | 0.9587696 | -0.4108938 | 0.6811504 | 0.9078506 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
937813 | 12.784780 | -0.2092928 | 1.0331575 | -0.2025759 | 0.8394665 | 0.9582657 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
451449 | 40.995465 | -2.5921855 | 1.2012800 | -2.1578529 | 0.0309393 | 0.1830573 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
2751958 | 138.100169 | -1.3061125 | 0.9373319 | -1.3934366 | 0.1634878 | 0.4836515 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
403258 | 4.302868 | -5.7373231 | 2.3118547 | -2.4816971 | 0.0130758 | 0.0928384 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
1029165 | 18.730338 | 0.2182649 | 1.5510799 | 0.1407180 | 0.8880927 | 0.9582657 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Anaerococcus | s__ |
494906 | 395.795222 | -1.6668181 | 1.0023961 | -1.6628339 | 0.0963457 | 0.3221164 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__[Tissierellaceae] | g__Peptoniphilus | s__ |
4475758 | 3.751514 | 1.0033482 | 1.4552409 | 0.6894723 | 0.4905261 | 0.8292227 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__Veillonellaceae | g__Veillonella | s__dispar |
1143045 | 8.394818 | 0.6740782 | 1.3374643 | 0.5039972 | 0.6142634 | 0.8871863 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__Veillonellaceae | g__Veillonella | s__dispar |
4310208 | 8.657849 | 2.5279829 | 1.4061298 | 1.7978303 | 0.0722039 | 0.3015575 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__Veillonellaceae | g__Veillonella | s__dispar |
4422456 | 6.654802 | 0.7648789 | 1.4258777 | 0.5364267 | 0.5916637 | 0.8751692 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__Veillonellaceae | g__Veillonella | s__dispar |
128382 | 8.078932 | -0.2779723 | 1.8484550 | -0.1503809 | 0.8804641 | 0.9582657 | k__Bacteria | p__Firmicutes | c__Clostridia | o__Clostridiales | f__Veillonellaceae | g__Dialister | s__ |
496787 | 50.793948 | -2.6176979 | 1.0271446 | -2.5485194 | 0.0108181 | 0.0898058 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Staphylococcaceae | g__Staphylococcus | s__ |
377874 | 29.041455 | 0.2123153 | 0.8390605 | 0.2530393 | 0.8002378 | 0.9582657 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Staphylococcaceae | g__Staphylococcus | s__ |
934488 | 105.114037 | -1.3782006 | 0.7188910 | -1.9171203 | 0.0552227 | 0.2706982 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Staphylococcaceae | g__Staphylococcus | NA |
356733 | 1091.743683 | -1.7297271 | 0.6263231 | -2.7617167 | 0.0057498 | 0.0680397 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Staphylococcaceae | g__Staphylococcus | s__ |
868615 | 145.387441 | 7.6557230 | 1.5920538 | 4.8087087 | 0.0000015 | 0.0000539 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Bacillales | f__Planococcaceae | g__ | s__ |
517754 | 3.827454 | -1.8093946 | 1.3934602 | -1.2984903 | 0.1941189 | 0.5300940 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
871442 | 90.636562 | -0.3449414 | 0.9006785 | -0.3829795 | 0.7017350 | 0.9078506 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
4439603 | 2.817320 | -0.4835726 | 1.1616468 | -0.4162820 | 0.6772037 | 0.9078506 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
579608 | 10.540264 | -0.4849768 | 1.2731809 | -0.3809174 | 0.7032645 | 0.9078506 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
516966 | 4.791375 | 0.7490395 | 1.2291043 | 0.6094190 | 0.5422468 | 0.8555449 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
882921 | 682.372085 | 1.0305857 | 1.3566966 | 0.7596287 | 0.4474766 | 0.7748984 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Aerococcaceae | g__Alloiococcus | s__ |
386088 | 21.595572 | -2.0621066 | 0.8657189 | -2.3819587 | 0.0172208 | 0.1111526 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Propionibacteriaceae | g__Propionibacterium | s__ |
403853 | 68.887221 | -2.3676750 | 0.5369151 | -4.4097754 | 0.0000103 | 0.0002449 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Propionibacteriaceae | g__Propionibacterium | s__acnes |
4466006 | 4.435592 | 0.9148156 | 1.1287567 | 0.8104631 | 0.4176741 | 0.7491079 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Micrococcaceae | g__Rothia | s__dentocariosa |
930926 | 829.404786 | 0.4306626 | 1.7974047 | 0.2396025 | 0.8106384 | 0.9582657 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
446403 | 14.326158 | 0.7925423 | 1.6204476 | 0.4890885 | 0.6247791 | 0.8871863 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | NA |
1047041 | 56.210085 | -2.8614629 | 1.1127296 | -2.5715708 | 0.0101238 | 0.0898058 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
505626 | 8.730665 | -2.5427326 | 2.0353998 | -1.2492546 | 0.2115720 | 0.5452725 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
467198 | 23.941453 | -0.9323028 | 1.0018691 | -0.9305635 | 0.3520794 | 0.7371856 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
861807 | 355.023652 | -1.5716651 | 0.8263841 | -1.9018578 | 0.0571898 | 0.2706982 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
377613 | 1556.584022 | -0.8018036 | 0.8047079 | -0.9963909 | 0.3190603 | 0.7079150 | k__Bacteria | p__Actinobacteria | c__Actinobacteria | o__Actinomycetales | f__Corynebacteriaceae | g__Corynebacterium | s__ |
library("ggplot2")
theme_set(theme_bw())
scale_fill_discrete <- function(palname = "Set1", ...) {
scale_fill_brewer(palette = palname, ...)
}
x = tapply(sigtab$log2FoldChange, sigtab$Order, function(x) max(x))
x = sort(x)
sigtab$Order = factor(as.character(sigtab$Order), levels = names(x))
x = tapply(sigtab$log2FoldChange, sigtab$Family, function(x) max(x))
x = sort(x)
sigtab$Family = factor(as.character(sigtab$Family), levels = names(x))
ggplot(sigtab, aes(x = log2FoldChange, y = Family, color = Order)) + geom_point(aes(size = padj)) +
scale_size_continuous(name = "padj", range = c(8, 4)) + theme(axis.text.x = element_text(angle = -25,
hjust = 0, vjust = 0.5))
ps.ng.tax_sel <- ps.ng.tax
otu_table(ps.ng.tax_sel) <- otu_table(ps.ng.tax)[, c("micro1", "micro3", "micro4",
"micro6", "micro7", "micro12", "micro13", "micro16", "micro17", "mw001", "mw004",
"mw005", "mw006", "mw007", "mw009", "mw010", "mw013", "mw014", "mw015", "mw017",
"mw021", "ra002", "ra003", "ra004", "ra005", "ra006", "ra007", "ra008", "ra009",
"ra010", "ra013", "ra014", "ra015", "ra017", "ra018", "ra019", "ra020", "ra022",
"ra023", "ra024", "ra025")]
diagdds = phyloseq_to_deseq2(ps.ng.tax_sel, ~SampleType)
diagdds$SampleType <- relevel(diagdds$SampleType, "RA")
diagdds <- estimateSizeFactors(diagdds, type = "poscounts")
diagdds = DESeq(diagdds, test = "Wald", fitType = "parametric")
resultsNames(diagdds)
[1] "Intercept" "SampleType_GPA_vs_RA"
res = results(diagdds, cooksCutoff = FALSE)
alpha = 0.05
sigtab = res[which(res$padj < alpha), ]
sigtab = cbind(as(sigtab, "data.frame"), as(tax_table(ps.ng.tax_sel)[rownames(sigtab),
], "matrix"))
sigtab <- sigtab[rownames(sigtab) %in% rownames(tax_table(ps.ng.tax_most_copied)),
]
kable(sigtab) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | Domain | Phylum | Class | Order | Family | Genus | Species | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
871442 | 424.8328 | 3.219397 | 0.8031873 | 4.008276 | 6.12e-05 | 0.0337623 | k__Bacteria | p__Firmicutes | c__Bacilli | o__Lactobacillales | f__Streptococcaceae | g__Streptococcus | s__ |
library("ggplot2")
theme_set(theme_bw())
scale_fill_discrete <- function(palname = "Set1", ...) {
scale_fill_brewer(palette = palname, ...)
}
x = tapply(sigtab$log2FoldChange, sigtab$Order, function(x) max(x))
x = sort(x)
sigtab$Order = factor(as.character(sigtab$Order), levels = names(x))
x = tapply(sigtab$log2FoldChange, sigtab$Family, function(x) max(x))
x = sort(x)
sigtab$Family = factor(as.character(sigtab$Family), levels = names(x))
ggplot(sigtab, aes(x = log2FoldChange, y = Family, color = Order)) + geom_point(aes(size = padj)) +
scale_size_continuous(name = "padj", range = c(8, 4)) + theme(axis.text.x = element_text(angle = -25,
hjust = 0, vjust = 0.5))