{"id":18621298,"url":"https://github.com/4ment/physher","last_synced_at":"2025-08-21T15:16:12.064Z","repository":{"id":28596159,"uuid":"32114421","full_name":"4ment/physher","owner":"4ment","description":"A multi-algorithmic framework for phylogenetic inference","archived":false,"fork":false,"pushed_at":"2024-07-10T20:47:54.000Z","size":2489,"stargazers_count":14,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-25T08:22:55.534Z","etag":null,"topics":["bayesian-inference","c","genetic-algorithm","maximum-likelihood","mcmc","phylogenetics","variational-inference"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4ment.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}},"created_at":"2015-03-13T01:18:20.000Z","updated_at":"2024-07-10T20:45:36.000Z","dependencies_parsed_at":"2022-08-29T01:10:16.897Z","dependency_job_id":"e81bed52-efcd-4aea-8c8e-14cfc5b5c681","html_url":"https://github.com/4ment/physher","commit_stats":{"total_commits":409,"total_committers":2,"mean_commits":204.5,"dds":"0.0024449877750610804","last_synced_commit":"96956027a288d77253a2bd2c495a071aa5b41fbf"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ment%2Fphysher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ment%2Fphysher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ment%2Fphysher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4ment%2Fphysher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4ment","download_url":"https://codeload.github.com/4ment/physher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248329605,"owners_count":21085566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bayesian-inference","c","genetic-algorithm","maximum-likelihood","mcmc","phylogenetics","variational-inference"],"created_at":"2024-11-07T04:10:21.409Z","updated_at":"2025-04-11T02:31:38.121Z","avatar_url":"https://github.com/4ment.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# physher\n\n[![CMake](https://github.com/4ment/physher/actions/workflows/cmake.yml/badge.svg)](https://github.com/4ment/physher/actions/workflows/cmake.yml)\n[![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0)\n\n## About physher\n\n``physher`` is a program for estimating evolutionary rates and divergence times from genetic, amino acid, codon, and generic data.\n\nThe current version of physher is incompatible with the first version.\nDocumentation for installing physher1 can be found [here](https://github.com/4ment/physher/wiki/Install) and the manual is located [here](https://github.com/4ment/physher/wiki/Usage).\n\n## Getting Started\n\nA C compiler such as ``gcc`` or ``clang`` is required. It is also requires the [GSL] library.\nOn Debian-based systems, dependencies can be installed via ``apt``:\n\n```bash\nsudo apt install gcc gsl\n```\n\nOn MacOS, dependencies can be installed using a package manager such as [Homebrew](https://brew.sh).\n```bash\nbrew install llvm gsl\n```\n\nOther package managers such as [conda](https://conda.io) and [MacPorts](https://www.macports.org) can also be used to install dependencies.\n\n### Dependencies\n - [GSL]\n - [sse2neon] (already included in physher)\n\n### Installation\n\nTo build ``physher`` from source you can run\n```bash\ngit clone https://github.com/4ment/physher\ncmake -S physher/ -B physher/build\ncmake --build physher/build/ --target install\n```\n\n### Check install\nIf the installation was successful, this command should print the version of `physher`\n```bash\nphysher\n```\n\n### Building C++ wrappers (optional)\nA subset of physher's functionalities is exposed in C++ wrappers. These wrappers are used in [torchtree](https://github.com/4ment/torchtree), a python program, through bindings and [torchtree-physher](https://github.com/4ment/torchtree-physher).\nA C++ compiler such as g++ or clang++ is required. Compilers can be installed using ``apt`` or ``homebrew``\n\n```bash\ngit clone https://github.com/4ment/physher\ncmake -S physher/ -B physher/build -DBUILD_CPP_WRAPPER=on\ncmake --build physher/build/ --target install\n```\n\n### Testing (optional)\n\n```bash\ncmake -S physher/ -B physher/build -DBUILD_TESTING=on\ncmake --build physher/build/ --target install\nctest --test-dir physher/build/\n```\n\n## Quick start\n```bash\ncd examples/fluA\nphysher JC69-time-ELBO.json\n```\n\n## physher in action\n\nSome examples of projects using ``physher``\n- [marginal-experiments](https://github.com/4ment/marginal-experiments): Evaluation of 19 dubious ways to compute marginal likelihood estimates. [10.1093/sysbio/syz046](https://doi.org/10.1093/sysbio/syz046).\n- [phylostan](https://github.com/4ment/phylostan/tree/master/examples): Comparison of phylostan and ``physher`` using variational inference. [10.1101/702944](https://doi.org/10.1101/702944).\n- [gradient-benchmark](https://github.com/4ment/gradient-benchmark): Benchmarking of automatic differentiation and analical gradients. [10.1093/gbe/evad099](https://doi.org/10.1093/gbe/evad099)\n- [torchtree-physher](https://github.com/4ment/torchtree-physher): Plugin provinding fast calculation of phylogenetic functions in ``physher`` to [torchtree].\n\n## License\n\nDistributed under the GPLv2 License. See [LICENSE](LICENSE) for more information.\n\n## Citing physher\n\nFourment M and Holmes EC. Novel non-parametric models to estimate evolutionary rates and divergence times from heterochronous sequence data. _BMC Evolutionary Biology_, 2014. doi: [10.1186/s12862-014-0163-6](https://doi.org/10.1186/s12862-014-0163-6)\n\n\n[GSL]: https://www.gnu.org/software/gsl\n[sse2neon]: https://github.com/DLTcollab/sse2neon\n[torchtree]: https://github.com/4ment/torchtree","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4ment%2Fphysher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4ment%2Fphysher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4ment%2Fphysher/lists"}