Community ecology analysis: diversity indices, ordination, species abundance distributions, and functional trait analysis.
graph TD
subgraph "Ecology Module"
AC[analysis/community.py] --> |calculate_diversity| DIV[Shannon, Simpson, Richness]
AO[analysis/ordination.py] --> |pcoa| PCO[Principal Coordinates]
AO --> |nmds| NM[Non-metric MDS]
AO --> |cca| CC[Canonical Correspondence]
AI[analysis/indicators.py] --> |indval| IV[Indicator Species]
AI --> |permanova| PA[PERMANOVA]
AI --> |anosim| AN[ANOSIM]
AI --> |simper| SP[SIMPER]
AF[analysis/functional.py] --> |functional_richness| FR[FRic, FEve, FDiv]
AF --> |raos_quadratic_entropy| RQ[Rao's Q]
AM[analysis/macroecology.py] --> |fit_logseries| SAD[SAD Models]
AM --> |species_area_power| SAR[Species-Area]
PH[phylogenetic/diversity.py] --> PD[Phylogenetic Diversity]
VZ[visualization/] --> VP[Community Plots]
end
Loading
from metainformant .ecology .analysis .community import calculate_diversity
# Shannon diversity for multiple communities
shannon = calculate_diversity ([[10 , 20 , 30 , 40 ], [5 , 5 , 5 , 85 ]], method = "shannon" )
simpson = calculate_diversity ([[10 , 20 , 30 , 40 ]], method = "simpson" )
Function
Module
Description
pcoa
analysis.ordination
Principal Coordinates Analysis (Gower double-centering)
nmds
analysis.ordination
Non-metric MDS (Kruskal stress minimization)
cca
analysis.ordination
Canonical Correspondence Analysis
distance_matrix
analysis.ordination
Bray-Curtis, Jaccard, Euclidean, Canberra distances
procrustes
analysis.ordination
Procrustes rotation for ordination comparison
Hypothesis Testing and Indicators
Function
Module
Description
indval
analysis.indicators
Indicator species analysis (Dufrene-Legendre)
permanova
analysis.indicators
Permutational MANOVA on distance matrices
anosim
analysis.indicators
Analysis of similarities
simper
analysis.indicators
Similarity percentages decomposition
multivariate_dispersion
analysis.indicators
Beta-dispersion (Anderson)
Function
Module
Description
functional_richness
analysis.functional
FRic from convex hull volume
functional_evenness
analysis.functional
FEve from minimum spanning tree
functional_divergence
analysis.functional
FDiv weighted divergence
raos_quadratic_entropy
analysis.functional
Rao's quadratic entropy
functional_diversity_suite
analysis.functional
All indices in one call
Module
Purpose
analysis/
Community diversity, ordination, indicators, functional traits, macroecology
phylogenetic/
Phylogenetic diversity metrics
traits/
Trait-based ecology: CWM, functional richness (FRic), evenness (FEve), divergence (FDiv), Rao's Q
visualization/
Community ecology plots
from metainformant .ecology .analysis .community import calculate_diversity
from metainformant .ecology .analysis .ordination import distance_matrix , pcoa
from metainformant .ecology .analysis .indicators import permanova
from metainformant .ecology .analysis .functional import functional_diversity_suite
# Compute Bray-Curtis distances between communities
abundances = [[10 , 20 , 0 , 5 ], [12 , 18 , 3 , 7 ], [0 , 5 , 30 , 15 ]]
dist = distance_matrix (abundances , method = "bray_curtis" )
# PCoA ordination
coords = pcoa (dist , n_components = 2 )
# PERMANOVA test for group differences
result = permanova (dist , group_labels = ["forest" , "forest" , "grassland" ])
# Full functional diversity suite
fd = functional_diversity_suite (trait_matrix = traits , abundances = abund )
DNA -- Phylogenetic diversity metrics use tree structures from metainformant.dna.phylogeny
Information -- Shannon entropy connects community diversity to information theory
Simulation -- Agent-based ecological models via metainformant.simulation