|
1 | | -sampled-ancestors |
2 | | -================= |
| 1 | +# Sampled Ancestors |
3 | 2 |
|
4 | 3 | [](https://github.com/CompEvol/sampled-ancestors/actions?query=workflow%3A%22Unit%2Fintegration+tests%22) |
5 | 4 |
|
6 | | -This [BEAST 2](http://www.beast2.org) package provides MCMC proposals and post-processing tools for samples of trees containing sampled ancestors. |
7 | | -It relies on the support for sampled-ancestor trees built into the `beast.evolution.tree.Tree` class (https://github.com/CompEvol/beast2/blob/master/src/beast/evolution/tree/Tree.java). |
8 | | - |
9 | | -This archive contains the source code of the package and is therefore of |
10 | | -primary interest to programmers. |
| 5 | +This [BEAST 3](https://github.com/CompEvol/beast3) package provides MCMC proposals and post-processing tools for samples of trees containing sampled ancestors. |
| 6 | +It relies on the support for sampled-ancestor trees built into the `beast.base.evolution.tree.Tree` class. |
11 | 7 |
|
12 | 8 | The paper describing this package is: |
13 | 9 |
|
14 | 10 | Alexandra Gavryushkina, David Welch, Tanja Stadler, Alexei J. Drummond (2014) Bayesian Inference of Sampled Ancestor Trees for Epidemiology and Fossil Calibration. _PLoS Computational Biology_ https://doi.org/10.1371/journal.pcbi.1003919 |
15 | 11 |
|
16 | | -Currently the sampled-ancestors package uses `beast.*` Java package namespace, which is now deprecated because the `beast.*` package namespace is reserved for the beast2 core (https://github.com/CompEvol/beast2). |
| 12 | +## Building from source |
17 | 13 |
|
18 | | -Building package from source |
19 | | ----------------------------- |
| 14 | +Requirements: |
20 | 15 |
|
21 | | -To build this package from source, ensure you have the following installed: |
| 16 | +* JDK 25 or later |
| 17 | +* Apache Maven |
22 | 18 |
|
23 | | -* OpenJDK version 17 or greater |
24 | | -* A recent version of OpenJFX |
25 | | -* The Apache Ant build system |
26 | | -* An internet connection |
27 | | -The internet connection is required since the build script downloads the most |
28 | | -recent version of the BEAST 2 source to build the package against. |
| 19 | +```sh |
| 20 | +mvn compile |
| 21 | +``` |
29 | 22 |
|
30 | | -Assuming both Java and Ant are on your execution path and your current working |
31 | | -directory is the root of directory this archive, simply type |
| 23 | +To run an example: |
32 | 24 |
|
33 | 25 | ```sh |
34 | | -JAVA_FX_HOME=/path/to/openjfx/ ant |
| 26 | +mvn -pl beast-sampled-ancestors exec:exec -Dbeast.args="examples/bears.xml" |
35 | 27 | ``` |
36 | 28 |
|
37 | | -from the command line to build the package. This may take up to a minute due |
38 | | -to the script fetching the BEAST source, and the resulting binary will be |
39 | | -left in the `/dist` directory. |
| 29 | +## Project structure |
| 30 | + |
| 31 | +This is a multi-module Maven project with two modules: |
40 | 32 |
|
41 | | -To run the unit tests, use "ant test". |
| 33 | +* **beast-sampled-ancestors** — core module (no JavaFX dependency, runs headless on clusters) |
| 34 | +* **beast-sampled-ancestors-fx** — BEAUti input editors and JavaFX-dependent tools |
42 | 35 |
|
| 36 | +### `sa.app.simulators` |
43 | 37 |
|
44 | | -Archive Contents |
45 | | ----------------- |
| 38 | +Simulators for the fossilized birth-death (FBD) model and FBD-skyline model. |
46 | 39 |
|
47 | | -* `README.md` : this file |
48 | | -* `build.xml` : Ant build script |
49 | | -* `/doc` : Contains additional documentation, currently a tutorial for using fossilized birth-death tree prior. |
50 | | -* `/examples` : Example analyses in beast2 xml format. See below for details. |
51 | | -* `/src` : source files. See below for details. |
52 | | -* `/test` : unit tests |
53 | | -* `/templates` : BEAUti templates. See below for details. |
54 | | -* `version.xml` : BEAST package version file. |
| 40 | +### `sa.app.tools` |
55 | 41 |
|
56 | | -The main Java packages and folders in the sampled-ancestors BEAST2 package are: |
| 42 | +* Conversion tools between zero-branch-length sampled-ancestor trees and native sampled-ancestor trees |
| 43 | +* `SATreeTraceAnalysis` and various other post-processing tools (in `-fx` module) |
57 | 44 |
|
58 | | -### `beast.app.simulators` |
| 45 | +### `sa.evolution.operators` |
59 | 46 |
|
60 | | -Contains simulators for the fossilized birth-death (FBD) model and FBD-skyline model. |
| 47 | +Operators that permit MCMC on sampled-ancestor trees. |
61 | 48 |
|
62 | | -### `beast.app.tools` |
| 49 | +### `sa.evolution.speciation` |
63 | 50 |
|
64 | | -* Contains conversion tools between zero-branch-length sampled-ancestor trees and native sampled-ancestor trees |
65 | | -* Contains `SATreeTraceAnalysis` and various other post-processing tools and support |
66 | | - |
67 | | -### `beast.evolution.operators` |
68 | | - |
69 | | -* Contains the operators that permit MCMC on sampled-ancestor trees |
| 51 | +`SpeciesTreeDistribution` calculations for the FBD prior: |
70 | 52 |
|
71 | | -### `beast.evolution.speciation` |
| 53 | +* `SABirthDeathModel` — FBD prior with multiple hard-coded parameterizations |
| 54 | +* `ParameterizedSABirthDeathModel` — FBD prior with object-oriented parameterizations |
72 | 55 |
|
73 | | -Contains `SpeciesTreeDistribution` calculations for the FBD prior: |
| 56 | +### `sa.beauti` (in `-fx` module) |
74 | 57 |
|
75 | | -* `SABirthDeathModel` - A species tree probability density of FBD prior with multiple hard-coded parameterizations possible. |
76 | | -* `ParameterizedSABirthDeathModel` - A species tree probability density with multiple parameterizations implemented in an object-oriented way. |
| 58 | +BEAUti input editors for sampled-ancestor priors. |
77 | 59 |
|
78 | | -### `templates` |
| 60 | +### `fxtemplates` (in `-fx` module resources) |
79 | 61 |
|
80 | | -Contains a template called `FBD.xml` which provides a template for `SABirthDeathModel` and sampled-ancestor tree operators. |
| 62 | +Contains `FBD.xml`, a BEAUti template for `SABirthDeathModel` and sampled-ancestor tree operators. |
| 63 | +Located at `beast-sampled-ancestors-fx/src/main/resources/sa.fx/fxtemplates/`. |
81 | 64 |
|
82 | | -License |
83 | | -------- |
| 65 | +## License |
84 | 66 |
|
85 | | -This software is free (as in freedom). You are welcome to use it, modify it, |
86 | | -and distribute your modified versions provided you extend the same courtesy to |
87 | | -users of your modified version. Specifically, it is made available under the |
| 67 | +This software is free (as in freedom). With your modified versions provided you extend the same courtesy to |
| 68 | +users of your modified version. Specifically, it is made available under the |
88 | 69 | terms of the GNU General Public License version 3. |
89 | 70 |
|
90 | | -Acknowledgements |
91 | | ----------------- |
| 71 | +## Acknowledgements |
92 | 72 |
|
93 | 73 | Work on this project was supported by: |
94 | 74 |
|
|
0 commit comments