Beta diversity

It is the diversity between communities such as the change in species composition from place to place, or along environmental gradients Click. It is clear that there is ‘variation’ here should be considered, which is put in the form of ‘distance’ between groups. That the Euclidean distance might not be informative enough here, that we will use Bray-Curtis dissimilarity matrix to measure distance between different communities.

microbial data are compositional Click that we should use log(1+x) transform or another relative abundance transform in order to remove the effect of the compositionality bias and reduce the skewness of the data.

dataset: phyloseq

The diet swap data set represents a study with African and African American groups undergoing a two-week diet swap. For details, see https://www.nature.com/articles/ncomms7342.

phyloseq-class experiment-level object
otu_table()   OTU Table:         [ 130 taxa and 222 samples ]
sample_data() Sample Data:       [ 222 samples by 8 sample variables ]
tax_table()   Taxonomy Table:    [ 130 taxa by 3 taxonomic ranks ]

log(1+x) transform

Applying log(1+x) transform with Bray-Curtis dissimilarity measure.

  • Ordination method: PCoA
theme_set(theme_bw(15))
phylog <- transform_sample_counts(phy, function(x) log(1 + x))
braydist_log <- phyloseq::distance(phylog, method = "bray")
ord_pcoa_log = ordinate(phylog, method = "MDS", distance = braydist_log)
bc.pcoa <- ord_pcoa$values$Eigenvalues

plot_ordination(phylog, ord_pcoa_log, color = "bmi_group") + labs(col = "bmi_group") +
    coord_fixed(sqrt(bc.pcoa[2]/bc.pcoa[1]))

Compositional transform

Applying compositional transform with Bray-Curtis dissimilarity measure.

  • Ordination method: PCoA
theme_set(theme_bw(15))

ph_comp <- transform_sample_counts(phy, function(OTU) OTU/sum(OTU))
braydist_comp <- phyloseq::distance(ph_comp, method = "bray")
ord_pcoa_comp = ordinate(ph_comp, method = "MDS", distance = braydist_comp)
bc.pcoa <- ord_pcoa$values$Eigenvalues

plot_ordination(ph_comp, ord_pcoa_comp, color = "bmi_group") + labs(col = "bmi_group") +
    coord_fixed(sqrt(bc.pcoa[2]/bc.pcoa[1]))

It is clear the Principal coordinate analysis (PCoA) in the second plot keeps more variance on the two axes

Bray-Curtis dissimilarity

Multivariate Analysis of Ecological Data

PERMANOVA test

log(1+x) transform

Perform PERMANOVA test on Bray-Curtis for log(1+x) transform

data <- as(sample_data(phylog), "data.frame")
adonis(braydist_log ~ bmi_group, data)

Call:
adonis(formula = braydist_log ~ bmi_group, data = data) 

Permutation: free
Number of permutations: 999

Terms added sequentially (first to last)

           Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
bmi_group   2   0.12336 0.061681  5.2128 0.04544  0.001 ***
Residuals 219   2.59131 0.011832         0.95456           
Total     221   2.71467                  1.00000           
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

compositional transform

Perform PERMANOVA test on Bray-Curtis for compositional transform

data <- as(sample_data(ph_comp), "data.frame")
adonis(braydist_comp ~ bmi_group, data)

Call:
adonis(formula = braydist_comp ~ bmi_group, data = data) 

Permutation: free
Number of permutations: 999

Terms added sequentially (first to last)

           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
bmi_group   2     2.261 1.13047  7.1676 0.06144  0.001 ***
Residuals 219    34.540 0.15772         0.93856           
Total     221    36.801                 1.00000           
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ordination plot

Using compositional data (relative abundance)

OTUs at Phylum level

plot_ordination(ph_comp, ord_pcoa_comp, type = "taxa", color = "Phylum", title = "OTUs",
    label = "Phylum")

LS0tDQp0aXRsZTogIkJldGEgZGl2ZXJzaXR5Ig0KYXV0aG9yOiAiV2lzYW0iDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgICAgdG9jOiB0cnVlDQogICAgICB0b2NfZGVwdGg6IDQNCiAgICAgIHRvY19mbG9hdDogdHJ1ZQ0KICAgICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQoNCg0KYGBge3IgcGh5bG9zZXEsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkocGh5bG9zZXEpDQpsaWJyYXJ5KHZlZ2FuKQ0KI2xpYnJhcnkobWl4T21pY3MpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHZlZ2FuKQ0KbGlicmFyeSh0aWN0b2MpDQpsaWJyYXJ5KHBlcm11dGUpDQpsaWJyYXJ5KGxhdHRpY2UpDQpvcHRpb25zKG1heC5wcmludD0iNzUiKQ0KICBrbml0cjo6b3B0c19jaHVuayRzZXQoZmlnLndpZHRoPTgsDQogICAgICAgICAgICAgICAgICAgICAgICBmaWcuaGVpZ2h0PTYsDQogICAgICAgICAgICAgICAgICAgICAgICBldmFsPVRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgICBjYWNoZT1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWNobz1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvbXB0PUZBTFNFLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGlkeT1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudD1OQSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9RkFMU0UsDQogICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nPUZBTFNFKQ0Kb3B0c19rbml0JHNldCh3aWR0aD03NSkNCg0KYGBgDQoNCg0KIyBCZXRhIGRpdmVyc2l0eQ0KDQpJdCBpcyB0aGUgZGl2ZXJzaXR5IGJldHdlZW4gY29tbXVuaXRpZXMgc3VjaCBhcyB0aGUgY2hhbmdlIGluIHNwZWNpZXMgY29tcG9zaXRpb24gZnJvbSBwbGFjZSB0byBwbGFjZSwgb3IgYWxvbmcgZW52aXJvbm1lbnRhbCBncmFkaWVudHMgW0NsaWNrXShodHRwczovL3d3dy5zcHJpbmdlci5jb20vZ3AvYm9vay85NzgwMzg3NDU5Njc3KS4gSXQgaXMgY2xlYXIgdGhhdCB0aGVyZSBpcyDigJh2YXJpYXRpb27igJkgaGVyZSBzaG91bGQgYmUgY29uc2lkZXJlZCwgd2hpY2ggaXMgcHV0IGluIHRoZSBmb3JtIG9mIOKAmGRpc3RhbmNl4oCZIGJldHdlZW4gZ3JvdXBzLiBUaGF0IHRoZSBFdWNsaWRlYW4gZGlzdGFuY2UgbWlnaHQgbm90IGJlIGluZm9ybWF0aXZlIGVub3VnaCBoZXJlLCB0aGF0IHdlIHdpbGwgdXNlIEJyYXktQ3VydGlzIGRpc3NpbWlsYXJpdHkgbWF0cml4IHRvIG1lYXN1cmUgZGlzdGFuY2UgYmV0d2VlbiBkaWZmZXJlbnQgY29tbXVuaXRpZXMuDQoNCioqbWljcm9iaWFsIGRhdGEgYXJlIGNvbXBvc2l0aW9uYWwqKiBbQ2xpY2tdKGh0dHBzOi8vd3d3LmZyb250aWVyc2luLm9yZy9hcnRpY2xlcy8xMC4zMzg5L2ZtaWNiLjIwMTcuMDIyMjQvZnVsbCkgdGhhdCB3ZSBzaG91bGQgdXNlIGxvZygxK3gpIHRyYW5zZm9ybSBvciBhbm90aGVyIHJlbGF0aXZlIGFidW5kYW5jZSB0cmFuc2Zvcm0gaW4gb3JkZXIgdG8gcmVtb3ZlIHRoZSBlZmZlY3Qgb2YgdGhlIGNvbXBvc2l0aW9uYWxpdHkgYmlhcyBhbmQgcmVkdWNlIHRoZSBza2V3bmVzcyBvZiB0aGUgZGF0YS4NCg0KKipkYXRhc2V0OiBwaHlsb3NlcSoqDQoNClRoZSBkaWV0IHN3YXAgZGF0YSBzZXQgcmVwcmVzZW50cyBhIHN0dWR5IHdpdGggQWZyaWNhbiBhbmQgQWZyaWNhbiBBbWVyaWNhbiBncm91cHMgdW5kZXJnb2luZyBhIHR3by13ZWVrIGRpZXQgc3dhcC4gRm9yIGRldGFpbHMsIHNlZSBodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL25jb21tczczNDIuDQoNCg0KYGBge3IgZGF0YXNldCwgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KG1pY3JvYmlvbWUpDQpkYXRhKCJkaWV0c3dhcCIpDQpwaHk8LSBkaWV0c3dhcA0KcGh5DQptZXRob2Q8LSdQQ29BJw0KDQpgYGANCg0KIyMgbG9nKDEreCkgdHJhbnNmb3JtDQpBcHBseWluZyBsb2coMSt4KSB0cmFuc2Zvcm0gd2l0aCBbQnJheS1DdXJ0aXMgZGlzc2ltaWxhcml0eV0oYnJheS5wbmcpICBtZWFzdXJlLg0KDQoqIE9yZGluYXRpb24gbWV0aG9kOiBgciBtZXRob2RgDQoNCmBgYHtyIGFwcGx5IGxvZygxK3gpIHRyYW5zZm9ybV8xLCBlY2hvPVQsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KdGhlbWVfc2V0KHRoZW1lX2J3KDE1KSkNCnBoeWxvZyA8LSB0cmFuc2Zvcm1fc2FtcGxlX2NvdW50cyhwaHksIGZ1bmN0aW9uKHgpIGxvZygxICsgeCkpDQpicmF5ZGlzdF9sb2cgPC0gcGh5bG9zZXE6OmRpc3RhbmNlKHBoeWxvZywgbWV0aG9kPSJicmF5IikNCm9yZF9wY29hX2xvZyA9IG9yZGluYXRlKHBoeWxvZywgbWV0aG9kID0gIk1EUyIsIGRpc3RhbmNlID0gYnJheWRpc3RfbG9nKQ0KYmMucGNvYSA8LSBvcmRfcGNvYSR2YWx1ZXMkRWlnZW52YWx1ZXMNCg0KcGxvdF9vcmRpbmF0aW9uKHBoeWxvZywgb3JkX3Bjb2FfbG9nLCBjb2xvciA9ICJibWlfZ3JvdXAiKSArIGxhYnMoY29sID0gImJtaV9ncm91cCIpICsgY29vcmRfZml4ZWQoc3FydChiYy5wY29hWzJdL2JjLnBjb2FbMV0pKQ0KDQpgYGANCg0KIyMgQ29tcG9zaXRpb25hbCB0cmFuc2Zvcm0NCkFwcGx5aW5nIGNvbXBvc2l0aW9uYWwgdHJhbnNmb3JtIHdpdGggQnJheS1DdXJ0aXMgZGlzc2ltaWxhcml0eSBtZWFzdXJlLg0KDQoqIE9yZGluYXRpb24gbWV0aG9kOiBgciBtZXRob2RgDQoNCmBgYHtyIEJyYXktQ3VydGlzTmV3LCBlY2hvPVQsIG1lc3NhZ2U9VCwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQp0aGVtZV9zZXQodGhlbWVfYncoMTUpKQ0KDQpwaF9jb21wIDwtIHRyYW5zZm9ybV9zYW1wbGVfY291bnRzKHBoeSwgZnVuY3Rpb24oT1RVKSBPVFUvc3VtKE9UVSkpDQpicmF5ZGlzdF9jb21wIDwtIHBoeWxvc2VxOjpkaXN0YW5jZShwaF9jb21wLCBtZXRob2Q9ImJyYXkiKQ0Kb3JkX3Bjb2FfY29tcCA9IG9yZGluYXRlKHBoX2NvbXAsIG1ldGhvZCA9ICJNRFMiLCBkaXN0YW5jZSA9IGJyYXlkaXN0X2NvbXApDQpiYy5wY29hIDwtIG9yZF9wY29hJHZhbHVlcyRFaWdlbnZhbHVlcw0KDQpwbG90X29yZGluYXRpb24ocGhfY29tcCwgb3JkX3Bjb2FfY29tcCwgY29sb3IgPSAiYm1pX2dyb3VwIikgKyBsYWJzKGNvbCA9ICJibWlfZ3JvdXAiKSArIGNvb3JkX2ZpeGVkKHNxcnQoYmMucGNvYVsyXS9iYy5wY29hWzFdKSkNCg0KDQpgYGANCg0KDQoqKkl0IGlzIGNsZWFyIHRoZSBQcmluY2lwYWwgY29vcmRpbmF0ZSBhbmFseXNpcyAoUENvQSkgaW4gdGhlIHNlY29uZCBwbG90IGtlZXBzIG1vcmUgdmFyaWFuY2Ugb24gdGhlIHR3byBheGVzKioNCg0KDQoNCiMjIyMgKkJyYXktQ3VydGlzIGRpc3NpbWlsYXJpdHkqDQoNCltNdWx0aXZhcmlhdGUgQW5hbHlzaXMgb2YgRWNvbG9naWNhbCBEYXRhXShodHRwczovL3d3dy5mYmJ2YS5lcy93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8wNS9kYXQvREVfMjAxM19tdWx0aXZhcmlhdGUucGRmKQ0KDQojIFBFUk1BTk9WQSB0ZXN0DQoNCiMjIGxvZygxK3gpIHRyYW5zZm9ybQ0KUGVyZm9ybSBQRVJNQU5PVkEgdGVzdCBvbiBCcmF5LUN1cnRpcyBmb3IgbG9nKDEreCkgdHJhbnNmb3JtDQoNCg0KYGBge3IgUEVSTUFOT1ZBIHRlc3ROZXdMb2csIGVjaG89VCwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpkYXRhPC0gYXMoc2FtcGxlX2RhdGEocGh5bG9nKSwgImRhdGEuZnJhbWUiKQ0KYWRvbmlzKGJyYXlkaXN0X2xvZyB+IGJtaV9ncm91cCwgZGF0YSkNCmBgYA0KDQojIyBjb21wb3NpdGlvbmFsIHRyYW5zZm9ybQ0KUGVyZm9ybSBQRVJNQU5PVkEgdGVzdCBvbiBCcmF5LUN1cnRpcyBmb3IgY29tcG9zaXRpb25hbCB0cmFuc2Zvcm0NCg0KYGBge3IgUEVSTUFOT1ZBIHRlc3ROZXcsIGVjaG89VCwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpkYXRhPC0gYXMoc2FtcGxlX2RhdGEocGhfY29tcCksICJkYXRhLmZyYW1lIikNCmFkb25pcyhicmF5ZGlzdF9jb21wIH4gYm1pX2dyb3VwLCBkYXRhKQ0KYGBgDQoNCg0KDQojIE9yZGluYXRpb24gcGxvdCANClVzaW5nIGNvbXBvc2l0aW9uYWwgZGF0YSAocmVsYXRpdmUgYWJ1bmRhbmNlKQ0KDQojIyBPVFVzIGF0IFBoeWx1bSBsZXZlbA0KDQpgYGB7ciBvcmRpbmF0aW9uXzEsIGVjaG89VCwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpwbG90X29yZGluYXRpb24ocGhfY29tcCxvcmRfcGNvYV9jb21wICwgdHlwZT0idGF4YSIsIGNvbG9yPSJQaHlsdW0iLCANCiAgICAgICAgICAgICAgICAgIHRpdGxlPSJPVFVzIiwgbGFiZWw9IlBoeWx1bSIpDQpgYGANCg0KDQoNCg==