{"id":43171166,"url":"https://github.com/mlandis/phyddle","last_synced_at":"2026-02-01T02:34:25.633Z","repository":{"id":221618695,"uuid":"615119223","full_name":"mlandis/phyddle","owner":"mlandis","description":"Phylogenetic model exploration with deep learning","archived":false,"fork":false,"pushed_at":"2026-01-18T23:17:41.000Z","size":280240,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-19T08:45:23.943Z","etag":null,"topics":["deep-learning","epidemiology","evolution","phylogenetics","statistical-models","stochastic-processes"],"latest_commit_sha":null,"homepage":"https://phyddle.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mlandis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-17T01:45:37.000Z","updated_at":"2026-01-18T23:17:27.000Z","dependencies_parsed_at":"2025-05-22T15:33:37.046Z","dependency_job_id":null,"html_url":"https://github.com/mlandis/phyddle","commit_stats":null,"previous_names":["mlandis/phyddle"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mlandis/phyddle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlandis%2Fphyddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlandis%2Fphyddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlandis%2Fphyddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlandis%2Fphyddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mlandis","download_url":"https://codeload.github.com/mlandis/phyddle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mlandis%2Fphyddle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28965429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T02:14:24.993Z","status":"ssl_error","status_checked_at":"2026-02-01T02:13:55.706Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","epidemiology","evolution","phylogenetics","statistical-models","stochastic-processes"],"created_at":"2026-02-01T02:34:21.925Z","updated_at":"2026-02-01T02:34:25.623Z","avatar_url":"https://github.com/mlandis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phyddle 0.3.0\n\nSoftware for exploring phylogenetic models with deep learning [[manuscript](https://doi.org/10.1093/sysbio/syaf036)]\n\n## User guide\nVisit https://phyddle.org to learn how to use the software.\n\n\n## Overview\n\u003cimg align=\"right\" src=\"https://phyddle.org/_images/phyddle_pipeline.png\" width=\"35%\"\u003e\n\nA standard phyddle analysis performs the following tasks for you:\n\n- **Pipeline configuration** applies analysis settings provided through a config file and/or command line arguments.\n- **Simulate** simulates a large training dataset using a user-designed simulator.\n- **Format** encodes the raw simulated data (from *Simulate*) into tensor format for *Train*.\n- **Train** loads and splits training data (from *Format*), builds a network, then trains and saves the network.\n- **Estimate** estimates model parameters for a new dataset with the trained network (from *Train*).\n- **Plot** generates figures that summarize the training data (*Format*), the network and its training (*Train*), and any new predictions (*Estimate*).\n\n## Quick start\n\nTo run a phyddle analysis enter the `scripts` directory:\n```shell\ncd ~/projects/phyddle\n```\n\nThen create and run a pipeline under the settings you've specified in `workspace/example/config.py`:\n```shell\ncd workspace/example\nphyddle --cfg config.py\n```\n\nThis will run a phyddle analysis with 1000 simulations using R and the castor package for a simple birth-death model with one 3-state character. In practice, you'll want to generate a larger training dataset with anywhere from 10k to 1M examples, depending on the model.\n\nTo add new examples to your training set\n```shell\n# simulate new training examples and store in simulate\nphyddle -s S -c config.py --sim_more 14000\n\n# encode all raw_data examples as tensors in format\nphyddle -s F -c config.py\n\n# train network with tensor data, but override batch size, then store in train\nphyddle -s T -c config.py --trn_batch_size 256\n\n# make prediction for empirical example in dataset\nphyddle -s E -c config.py\n\n# generate figures and store in plot\nphyddle -s P -c config.py\n```\n\nTo see a full list of all options currently supported by phyddle\n```shell\nphyddle --help\n```\n\n## Installation\n\nA stable version of phyddle can be installed using the Python package manager, pip:\n\n```shell\npython3 -m pip install --upgrade phyddle\n# ... install ...\nphyddle\n```\n\n...or using conda:\n\n```shell\nconda create -n phyddle_env -c bioconda -c landismj phyddle\n# ... install ...\nconda activate phyddle_env\nphyddle\n```\n\nphyddle uses third-party simulators to generate training datasets. Example workflows assume that [R](https://cran.r-project.org), [RevBayes](https://revbayes.github.io), [Phylojunction](https://phylojunction.org/build/html/index.html), or [BEAST](https://www.beast2.org/) with [MASTER](https://github.com/tgvaughan/MASTER) (plugin) is installed on your machine and can be executed as a command from terminal. The documentation explains how to configure R for use with phyddle.\n\n## Need help?\nVisit the [Discussions](https://github.com/mlandis/phyddle/discussions) page to interact with other phyddle users and receive help.\n\n## Citation\nIf you used phyddle, please cite:\n\u003e MJ Landis, A Thompson. 2025. phyddle: software for exploring phylogenetic models with deep learning. Systematic Biology (in press). doi:10.1093/sysbio/syaf036.\u003cbr\u003e\n\n\u003e A Thompson, B Liebeskind, EJ Scully, MJ Landis. 2024. Deep learning and likelihood approaches for viral phylogeography converge on the same answers whether the inference model is right or wrong. Systematic Biology 73:183-206. \n\n## Note on code stability\n\nCode on the [main](https://github.com/mlandis/phyddle/tree/main) branch is tested and stable with respect to the standard use cases. Code on the [development](https://github.com/mlandis/phyddle/tree/development) branch contains new features, but is not as rigorously tested. Most phyddle development occurs on a 16-core Intel Macbook Pro laptop and a 64-core Intel Ubuntu server. Any feedback is appreciated! [michael.landis@wustl.edu](mailto:michael.landis@wustl.edu)\n\n\n## About\nThanks for your interest in phyddle. The phyddle project emerged from a phylogenetic deep learning study led by Ammon Thompson ([paper](https://doi.org/10.1093/sysbio/syad074)). The goal of phyddle is to provide its users with a generalizable pipeline workflow for phylogenetic modeling and deep learning. This hopefully will make it easier for phylogenetic model enthusiasts and developers to explore and apply models that do not have tractable likelihood functions. It's also intended for use by methods developers who want to characterize how deep learning methods perform under different conditions for standard phylogenetic estimation tasks. Read more about phyddle at https://doi.org/10.1093/sysbio/syaf036.\n\nThe phyddle project is developed by [Michael Landis](https://landislab.org) and [Ammon Thompson](https://scholar.google.com/citatio:wqns?user=_EpmmTwAAAAJ\u0026hl=en\u0026oi=ao).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlandis%2Fphyddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmlandis%2Fphyddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmlandis%2Fphyddle/lists"}