Physiome, Microbiome, Metabolome, and Beyond
Joe Scanlin
November 2025
This section provides an in-depth exploration of each of the seven biological domains: Physiome (continuous biosensors), Microbiome (gut health), Metabolome/Proteome (blood biomarkers), Genome (genetic variants), Epigenome (biological aging), Anatome (medical imaging), and Exposome (environmental factors). Each domain includes measurement techniques, clinical significance, and computational methods.
The physiome represents real-time physiological function—the most data-rich domain in Myome. Modern wearable sensors enable continuous measurement of cardiovascular, metabolic, respiratory, and activity markers that were previously accessible only in clinical settings.
Heart rate variability—the beat-to-beat variation in cardiac intervals—provides a window into autonomic nervous system balance. The autonomic nervous system comprises sympathetic (fight-or-flight) and parasympathetic (rest-and-digest) branches that continuously modulate heart rate.
HRV is quantified through time-domain and frequency-domain metrics:
Where \(RR_i\) is the interval between consecutive heartbeats (in milliseconds). SDNN (standard deviation of NN intervals) reflects overall HRV, while RMSSD (root mean square of successive differences) specifically captures parasympathetic activity.
Clinical research demonstrates strong correlations between HRV and health outcomes:
Myome implements HRV computation from photoplethysmography (PPG) signals collected by wrist-worn devices:
import numpy as np
from scipy import signal
class HRVAnalyzer:
"""Compute HRV metrics from PPG or ECG signals"""
def __init__(self, sampling_rate=64):
self.fs = sampling_rate # Hz
def detect_peaks(self, ppg_signal):
"""Find heartbeat peaks in PPG signal"""
# Bandpass filter to isolate cardiac frequency (0.5-4 Hz)
sos = signal.butter(4, [0.5, 4.0], btype='bandpass',
fs=self.fs, output='sos')
filtered = signal.sosfilt(sos, ppg_signal)
# Find peaks with minimum distance of 0.4s (max 150 bpm)
peaks, _ = signal.find_peaks(filtered,
distance=int(0.4 * self.fs),
prominence=0.3)
return peaks
def compute_hrv(self, ppg_signal):
"""Calculate HRV metrics from PPG signal"""
peaks = self.detect_peaks(ppg_signal)
# R-R intervals in milliseconds
rr_intervals = np.diff(peaks) / self.fs * 1000
# Filter physiologically implausible intervals
valid = (rr_intervals > 300) & (rr_intervals < 2000)
rr = rr_intervals[valid]
if len(rr) < 10:
return None # Insufficient data
# Time-domain metrics
sdnn = np.std(rr, ddof=1)
rmssd = np.sqrt(np.mean(np.diff(rr) ** 2))
# pNN50: percentage of successive RR intervals differing by >50ms
nn50 = np.sum(np.abs(np.diff(rr)) > 50)
pnn50 = nn50 / len(rr) * 100
# Frequency-domain analysis
freq_metrics = self.frequency_domain(rr)
return {
'sdnn': sdnn,
'rmssd': rmssd,
'pnn50': pnn50,
'mean_hr': 60000 / np.mean(rr),
**freq_metrics
}
def frequency_domain(self, rr_intervals):
"""Compute frequency-domain HRV metrics"""
# Resample to evenly-spaced time series (4 Hz)
rr_time = np.cumsum(rr_intervals) / 1000 # seconds
rr_interp = np.interp(
np.arange(0, rr_time[-1], 0.25),
rr_time[:-1],
rr_intervals
)
# Power spectral density
freqs, psd = signal.welch(rr_interp, fs=4, nperseg=256)
# HRV frequency bands
vlf = self.band_power(freqs, psd, 0.003, 0.04) # Very low frequency
lf = self.band_power(freqs, psd, 0.04, 0.15) # Low frequency (sympathetic + parasympathetic)
hf = self.band_power(freqs, psd, 0.15, 0.4) # High frequency (parasympathetic)
return {
'vlf_power': vlf,
'lf_power': lf,
'hf_power': hf,
'lf_hf_ratio': lf / hf if hf > 0 else None
}
def band_power(self, freqs, psd, low, high):
"""Integrate PSD over frequency band"""
idx = np.logical_and(freqs >= low, freqs <= high)
return np.trapz(psd[idx], freqs[idx])
Glucose variability—independent of mean glucose level—predicts cardiovascular disease, all-cause mortality, and cognitive decline. Continuous glucose monitors (CGMs) reveal patterns invisible to traditional A1C or fasting glucose tests.
Key CGM-derived metrics include:
Clinical evidence demonstrates:
Maximal oxygen consumption (VO₂ max) quantifies cardiovascular fitness—the body's ability to transport and utilize oxygen during exercise. It is among the strongest predictors of longevity, with each 1 mL/kg/min increase in VO₂ max associating with 45 days of extended lifespan.
Consumer devices estimate VO₂ max from submaximal exercise tests using the Firstbeat algorithm:
For more accurate estimation, wearable devices monitor heart rate response during steady-state exercise and apply the ACSM metabolic equation:
Where \(\text{VO}_2\text{rest} \approx 3.5\) mL/kg/min (1 MET). By measuring heart rate during known exercise intensities (walking, jogging), the system solves for VO₂ max.
Sleep profoundly impacts metabolic health, immune function, cognitive performance, and longevity. Modern wearables (Oura Ring, Whoop) use accelerometry and photoplethysmography to stage sleep into wake, light (N1, N2), deep (N3), and REM stages.
Sleep staging algorithms typically use random forests or neural networks trained on features:
Key sleep metrics tracked by Myome:
| Metric | Clinical Significance | Healthy Range |
|---|---|---|
| Total Sleep Time | Insufficient sleep (<7h) increases mortality risk 12% | 7-9 hours |
| Deep Sleep % | Essential for memory consolidation, growth hormone release | 13-23% of total |
| REM Sleep % | Cognitive function, emotional regulation | 20-25% of total |
| Sleep Efficiency | Time asleep / time in bed; <85% indicates sleep disorder | >85% |
| Sleep Onset Latency | Time to fall asleep; >30min may indicate insomnia | <30 minutes |
| WASO (Wake After Sleep Onset) | Nighttime awakenings; elevated in sleep apnea | <60 minutes |
Body composition—the ratio of fat mass to lean mass—predicts metabolic health more accurately than body weight alone. Two individuals with identical BMI can have vastly different health risks depending on muscle mass and fat distribution.
Gold-standard body composition assessment uses DEXA (dual-energy X-ray absorptiometry), which provides:
For daily tracking, bioimpedance analysis (BIA) scales (Withings, InBody) estimate body composition from electrical resistance. Myome integrates both DEXA (annual) and BIA (daily) measurements, using DEXA as calibration reference for BIA readings.
Resting metabolic rate (RMR) can be predicted from body composition using the Katch-McArdle equation:
Where LBM is lean body mass in kg. This provides a more accurate baseline than age/weight equations (Harris-Benedict), accounting for individual muscle mass differences.
The human gut microbiome comprises 100 trillion microorganisms—bacteria, archaea, viruses, and fungi—that profoundly influence metabolism, immunity, and even neurological function through the gut-brain axis. Microbiome composition can be quantified through shotgun metagenomic sequencing or 16S rRNA gene sequencing.
Key microbiome metrics include:
Microbiome health correlates with numerous conditions:
| Condition | Microbiome Signature | Clinical Correlation |
|---|---|---|
| Metabolic Syndrome | ↓ Bacteroidetes/Firmicutes ratio | r = 0.54 with insulin resistance |
| Inflammatory Bowel Disease | ↓ Diversity, ↑ Proteobacteria | AUC = 0.89 for diagnosis |
| Depression | ↓ Faecalibacterium, Coprococcus | OR = 2.3 for depressive symptoms |
| Cardiovascular Disease | ↑ TMAO-producing bacteria | HR = 1.62 for major adverse events |
Myome integrates microbiome test results from services like Thorne, Viome, and DayTwo, normalizing taxonomic classifications and computing standardized diversity metrics:
import numpy as np
from scipy.stats import entropy
class MicrobiomeAnalyzer:
"""Analyze metagenomic sequencing results"""
def shannon_diversity(self, abundances):
"""Shannon diversity index"""
# Filter out zero abundances
p = abundances[abundances > 0]
# Normalize to probabilities
p = p / p.sum()
return entropy(p, base=np.e)
def simpson_diversity(self, abundances):
"""Simpson diversity index (1 - dominance)"""
p = abundances[abundances > 0]
p = p / p.sum()
return 1 - np.sum(p ** 2)
def dysbiosis_index(self, taxonomy_table):
"""Compute dysbiosis index"""
# Beneficial taxa (butyrate producers, etc.)
beneficial = ['Faecalibacterium', 'Roseburia', 'Eubacterium',
'Akkermansia', 'Bifidobacterium']
# Pathogenic taxa
pathogenic = ['Escherichia', 'Klebsiella', 'Clostridium difficile',
'Enterococcus', 'Fusobacterium']
beneficial_abundance = sum(
taxonomy_table.get(genus, 0) for genus in beneficial
)
pathogenic_abundance = sum(
taxonomy_table.get(genus, 0) for genus in pathogenic
)
if pathogenic_abundance == 0:
return float('inf') # No dysbiosis
return beneficial_abundance / pathogenic_abundance
def predict_metabolic_capacity(self, gene_abundances):
"""Predict functional capacity from gene content"""
# Map genes to KEGG pathways
pathways = {
'butyrate_production': ['butyryl-CoA:acetate CoA-transferase',
'butyrate kinase'],
'vitamin_b12_synthesis': ['cobalamin synthase',
'B12 transport'],
'folate_synthesis': ['folate biosynthesis'],
'SCFA_production': ['acetate kinase', 'propionate kinase']
}
capacities = {}
for pathway, genes in pathways.items():
# Sum relative abundances of pathway genes
capacity = sum(gene_abundances.get(g, 0) for g in genes)
capacities[pathway] = capacity
return capacities
Blood-based biomarkers provide a snapshot of current metabolic state. Comprehensive blood panels measure hundreds of analytes including:
Myome tracks these biomarkers over time, flagging deviations from optimal ranges (not just clinical reference ranges, which represent population means rather than health optima).
For example, optimal vitamin D levels are 40-60 ng/mL for immune function and bone health, despite "normal" reference ranges starting at 30 ng/mL. The system highlights such nuances with explanatory notes citing clinical research.
DNA methylation patterns—chemical modifications that regulate gene expression without changing DNA sequence—serve as biomarkers of biological aging. "Epigenetic clocks" like the Horvath or GrimAge clocks predict biological age from methylation at specific CpG sites.
The GrimAge model predicts time to mortality by analyzing methylation patterns associated with smoking, cardiovascular disease, and age-related decline:
Where \(m_i\) are methylation values at \(n\) CpG sites (typically ~1000 sites), and \(\beta_i\) are regression coefficients from training data.
Services like TruDiagnostics provide epigenetic age testing from blood or saliva samples. Myome tracks biological age trends—showing whether lifestyle interventions (diet, exercise, stress reduction) are slowing or reversing biological aging.
Genome sequencing identifies genetic variants affecting disease risk and drug response. Myome integrates with services like 23andMe, Nebula Genomics, and clinical whole-genome sequencing to provide:
Medical imaging provides structural assessment complementing functional biomarkers. Myome archives and tracks:
Environmental exposures—air pollution, allergens, temperature extremes, noise—significantly impact health. The exposome tracks:
Correlating exposome data with physiome measurements reveals environmental impacts on health—for example, elevated PM2.5 exposure correlating with reduced HRV and increased resting heart rate.