Environmental DNA Analysis and Biodiversity Assessment
Module: Sustainable Tech | Difficulty: Premium
Species Detection Probability
where is per-sample detection probability and is number of samples.
Shannon Diversity Index
where is species richness and is proportion of species .
Comparison
| Method | Species Detected | Cost/sample | Turnaround | Sensitivity |
|---|---|---|---|---|
| Visual survey | 30-50% | $50-200 | 1 day | Low | | ||
| eDNA water | 60-80% | $30-100 | 3-5 days | High | | ||
| eDNA soil | 50-70% | $40-120 | 3-5 days | Medium | | ||
| Metabarcoding | 80-95% | $100-300 | 1-2 weeks | Very high | |
Python Implementation
import numpy as np
class EnvironmentalGenomics:
def __init__(self, primer_set='12S'):
self.primer = primer_set
def detection_probability(self, p_per_sample, n_samples):
return 1 - (1 - p_per_sample)**n_samples
def shannon_diversity(self, counts):
proportions = counts / counts.sum()
proportions = proportions[proportions > 0]
return -np.sum(proportions * np.log(proportions))
def sample_size_calculation(self, target_species, current_coverage, confidence=0.95):
p = current_coverage
z = 1.96 if confidence == 0.95 else 2.58
n = int(np.ceil(z**2 * p * (1-p) / (0.05)**2))
return n
def species_accumulation(self, sample_counts, n_iterations=100):
n_samples = len(sample_counts)
accumulation = np.zeros(n_samples)
for _ in range(n_iterations):
order = np.random.permutation(n_samples)
seen = set()
for i, idx in enumerate(order):
seen.add(sample_counts[idx])
accumulation[i] += len(seen)
return accumulation / n_iterations
Research Insight: eDNA metabarcoding can detect 80-95% of species in aquatic environments, surpassing traditional surveys.