lifesimulatoR
lifesimulatoR is an educational R package for exploring
origin-of-life concepts using simplified computational simulations.
The package focuses on symbolic molecules, mutation, selection, replication, autocatalytic networks, protocell-like growth, and diversity metrics. It is designed for teaching, visualization, science communication, and conceptual exploration.
The models are intentionally simplified. They are not chemically complete models of abiogenesis. Instead, they provide a clear way to explore mechanisms often discussed in origin-of-life research.
lifesimulatoR can be used to ask questions such as:
If you are new to the package, start with the tutorials in this order:
getting-started.Rmdmolecular-evolution.Rmddiversity-metrics.Rmdprotocells.Rmdautocatalytic-networks.RmdThis order moves from the basic package workflow to molecular evolution, diversity metrics, compartmentalization, and network-level emergence.
These tutorials focus on scientific ideas and workflows rather than individual functions.
File: getting-started.Rmd
This tutorial introduces the package, its purpose, and the core workflow.
Topics covered:
Key functions:
File: molecular-evolution.Rmd
This tutorial explains how symbolic molecular populations can mutate, replicate, and undergo selection.
Topics covered:
Key functions:
File: diversity-metrics.Rmd
This tutorial explains how to summarize and interpret molecular diversity.
Topics covered:
Key functions:
File: protocells.Rmd
This tutorial introduces simplified protocell-like compartments.
Topics covered:
Key functions:
Individual function examples should live in the roxygen documentation
inside the R/ files, not as separate small vignettes. This
keeps the vignette folder focused on larger conceptual tutorials.
After adding roxygen comments and running:
devtools::document()users can access function help pages such as:
?simulate_abiogenesis
?protocell_simulation
?autocatalytic_network
?create_prebiotic_pool| Function | Purpose |
|---|---|
create_prebiotic_pool() |
Generate an initial symbolic molecular population |
molecule_fitness() |
Estimate simple toy fitness values for molecules |
replicate_molecules() |
Replicate molecules based on fitness or abundance |
mutate_sequence() |
Mutate one molecular sequence |
mutate_population() |
Mutate a population of molecules |
evolve_generation() |
Run one evolutionary generation |
simulate_abiogenesis() |
Run a multi-generation molecular evolution simulation |
shannon_entropy() |
Calculate diversity or uncertainty in a population |
summarize_molecules() |
Summarize molecular populations |
protocell_simulation() |
Simulate protocell-like growth, leakage, and division |
autocatalytic_network() |
Simulate a toy autocatalytic network |
plot_simulation() |
Plot simulation outputs |
The package draws inspiration from several major origin-of-life research themes:
The simulations are intentionally simplified and should be viewed as educational tools rather than mechanistic models of abiogenesis.
lifesimulatoR can support classroom or workshop
discussions by allowing users to modify parameters and observe
outcomes.
Example teaching questions:
Potential future modules include: