A specification for phylogenetic modeling components and their interfaces.
PhyloSpec provides a standardized way to describe phylogenetic modeling components (distributions, functions, and types) that can be shared across different phylogenetic inference engines. Core of PhyloSpec is a modeling language designed to describe phylogenetic models.
- Check out our website.
- Check out the PRs and our Blog for the latest progress.
- Check out the other documentation.
- Check out the VS Code extension demo.
.
├── core/ # Core implementations
│ └── java/ # Java reference implementation
│ ├── src/main/java/ # Type system and annotations
│ │ └── org/phylospec/
│ │ ├── annotations/ # PhyloSpec annotations
│ │ ├── ast/ # Nodes of syntax tree
│ │ ├── components/ # Classes corresponding to components in component libraries
│ │ ├── converters/ # Classes to convert PhyloSpec into other languages (Rev, LPhy, JSON)
│ │ ├── domain/ # Bounded primitive types (PositiveReal, Probability, etc.)
│ │ ├── errors/ # Error types and reporting
│ │ ├── factory/ # Type factory utilities
│ │ ├── lexer/ # Lexer
│ │ ├── lsp/ # LSP Server
│ │ ├── parser/ # Parser
│ │ ├── typeresolver/ # Type resolver and static type checker
│ │ └── types/ # Complex types (Matrix, Vector, etc.)
│ └── src/test/ # Unit and integration tests
├── integrations/ # Engine-specific integrations
│ └── beast3/java/ # BEAST 3 integration
├── tools/ # Related tools
│ └── vscode/ # VS Code Extension
├── docs/ # Documentation
│ ├── language.md # Written language specification
│ ├── types.md # Type system specification
│ ├── distributions.md # Distribution signatures
│ ├── functions.md # Function signatures
│ └── errors.md # Error definitions
├── website/ # Svelte website for the project
└── schema/ # JSON schemas and specifications
└── component-library.schema.json # Metaschema for component libraries
See CONTRIBUTING.md for guidelines.
- Bayesian Model Builder - Web app for constructing phylogenetic models
- RevBayes - Bayesian phylogenetic inference engine
- BEAST 3 - Bayesian evolutionary analysis platform
If you use PhyloSpec in your research, please cite:
@software{phylospec2025,
author = {CODEPhylo Working Group},
title = {PhyloSpec: A Specification for Phylogenetic Modeling Components},
year = {2025},
publisher = {GitHub},
url = {https://github.com/CODEPhylo/phylospec}
}This project is licensed under the MIT License.
- Issues: GitHub Issues
- Discussions: GitHub Discussions