Skip to content

davewalker5/MolecularClockSimulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub issues Releases License Language GitHub code size in bytes

Molecular Clock Simulation

A Python toolkit for simulating sequence evolution, estimating evolutionary distances, reconstructing phylogenetic trees and exploring molecular clock calibration from first principles.

Overview

Molecular clocks use DNA sequence variation to estimate evolutionary relationships and divergence times between species.

This project explores the computational foundations of molecular clock analysis by implementing the core algorithms from first principles. It combines reusable simulation engines, analytical tools and interactive visualisations to provide an educational framework covering the complete workflow from simulated DNA sequence evolution through evolutionary distance estimation and phylogenetic reconstruction to simple molecular clock calibration.

Detailed documentation, implementation notes and usage guides are available in the project Wiki.

Current Features

Component Purpose
Strict Molecular Clock Engine Simulate ultrametric evolutionary histories
Relaxed Molecular Clock Engine Simulate lineage-specific rate variation
Distance Matrix Calculator Estimate evolutionary distances using multiple substitution models
UPGMA Reconstruction Reconstruct rooted molecular-clock trees from distance matrices
Neighbor Joining Reconstruction Reconstruct distance-based trees without a strict-clock assumption
Tree Calibration Convert reconstructed branch lengths into estimated divergence times using a calibration point
Interactive Explorers Combine the complete workflow into an educational environment

Documentation

Further documentation, including the documentation on intended field usage and how to run the application, is available in the project Wiki.

Feedback

To file issues or suggestions, please use the Issues page for this project on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Packages

 
 
 

Contributors