A computational platform for simulating evolutionary processes in physiological state spaces with environmental interactions.
The rIPE (rudimentary Interactionist Phylogeny Engine) enables researchers to predict evolutionary responses to environmental challenges like high-altitude adaptation, temperature stress, and rapid environmental change by modeling evolution as navigation through physiologically-explicit trait spaces.
- π¬ What is IPE?
- π Quick Start
- π Documentation
- π¬ Key Features
- π» Technology Stack
- ποΈ Architecture
- π Example Use Cases
- π€ Contributing
- π§ Support
The Interactionist Phylogeny Engine treats evolution as a strategic game played in multi-dimensional physiological state space. Unlike traditional phylogenetic reconstruction, IPE predicts evolutionary trajectories by computing equilibria between organisms and their environments.
Key capabilities:
- Physiological Evolution: Model heart mass, hematocrit, lung capacity, metabolic rate, and other traits
- Environmental Interactions: Simulate responses to altitude, temperature, oxygen availability, and salinity
- Plasticity Evolution: Track adaptive and maladaptive phenotypic plasticity
- Game-Theoretic Modeling: Strategic interactions between organisms and environments
- High-Altitude Specialization: Purpose-built for altitude adaptation research
- Docker and Docker Compose (recommended)
- Python 3.9+ (for development)
- 8GB+ RAM (16GB+ recommended for large simulations)
-
Clone the repository
git clone https://github.com/mnechromancer/rIPE.git cd rIPE
-
Start all services
docker-compose up -d
-
Verify installation
- API: http://localhost:8000/docs
- Web Interface: http://localhost:3000 (if enabled)
- Health Check: http://localhost:8000/health
-
Clone and install dependencies
git clone https://github.com/mnechromancer/rIPE.git cd rIPE pip install -r requirements.txt
-
Test the installation
python demo_core_001.py
-
Start development services (requires Docker for database)
docker-compose up db redis -d # Start database and cache python -m ipe.api.server # Start API server
from ipe.simulation import AltitudeAdaptationSimulation
# Create a high-altitude adaptation simulation
sim = AltitudeAdaptationSimulation(
population_size=1000,
generations=500,
altitude_range=(0, 4000), # Sea level to 4000m
selection_strength=0.1
)
# Run simulation
results = sim.run()
# Analyze results
print(f"Final mean heart mass: {results.final_heart_mass:.2f}g")
print(f"Final mean hematocrit: {results.final_hematocrit:.1f}%")
- Navigate to http://localhost:3000
- Click "New Simulation"
- Select "Altitude Adaptation" template
- Configure parameters and click "Start"
- Monitor progress in real-time
# Create simulation
curl -X POST "http://localhost:8000/api/v1/simulations" \
-H "Content-Type: application/json" \
-d '{
"type": "altitude_adaptation",
"population_size": 1000,
"generations": 500,
"parameters": {"altitude_range": [0, 4000]}
}'
For more examples, see the Complete Getting Started Guide.
- Getting Started Guide - Complete installation and setup
- Tutorials - Step-by-step examples for common use cases
- FAQ - Common questions and troubleshooting
- API Reference - REST API documentation
- Architecture Guide - System design and components
- Development Lifecycle - Development process and workflows
- Scientific Algorithms - Mathematical foundations
- Validation Methods - How IPE ensures accuracy
- Publications Guide - How to cite IPE in your research
- Deployment Guide - Production deployment
- Monitoring Setup - System monitoring and alerts
- Multi-organ systems: Heart, lungs, blood, muscle, kidneys
- Environmental gradients: Altitude, temperature, oxygen, salinity
- Performance metrics: Aerobic scope, thermal tolerance, locomotor capacity
- Natural selection with physiological constraints
- Phenotypic plasticity (adaptive and maladaptive responses)
- Genetic drift and population effects
- Migration between environments
- Rapid evolution scenarios
- High-altitude adaptation in small mammals
- Climate change responses across species
- Physiological trade-offs and constraints
- Reaction norm evolution and plasticity costs
- Contemporary evolution in changing environments
- Backend: Python 3.9+, FastAPI, NumPy, SciPy
- Database: PostgreSQL with TimescaleDB extension
- Cache: Redis
- Frontend: React, TypeScript, Three.js (for 3D visualizations)
- Deployment: Docker, Docker Compose
- Monitoring: Prometheus, Grafana
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Interface (React/TypeScript) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β API Gateway (FastAPI) β
ββββββββββββββββ¬βββββββββββββββ¬βββββββββββββββ¬βββββββββββ€
β Simulation β Analysis β Data β Lab β
β Engine β Service β Pipeline βIntegrationβ
ββββββββββββββββ΄βββββββββββββββ΄βββββββββββββββ΄βββββββββββ€
β Database (PostgreSQL + Redis) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Predict cardiac adaptation to high altitude in deer mice
- Model thermoregulatory evolution across temperature gradients
- Simulate rapid adaptation to environmental change
- Explore plasticity evolution and its costs
- Generate testable predictions for field/lab experiments
We welcome contributions from the scientific computing and evolutionary biology communities!
- Report Issues: GitHub Issues
- Request Features: Use issue templates for new functionality
- Submit Code: Follow our development guidelines
- Scientific Validation: Help validate algorithms against empirical data
This project is released into the public domain under The Unlicense. You are free to use, modify, and distribute this software without restriction.
Developed for the Velotta Lab and the broader evolutionary physiology research community. Special thanks to contributors, collaborators, and the open-source scientific computing ecosystem.
- Documentation: Complete User Guide
- API Docs: Interactive API Documentation (also at
/docs
when running) - Issues: GitHub Issues
- Scientific Questions: See our FAQ and Publications Guide
IPE is designed for researchers studying evolutionary responses to environmental challenges, with special focus on high-altitude adaptation, phenotypic plasticity, and rapid contemporary evolution.