diff --git a/README.md b/README.md index 925fbf9..58d335a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A tutorial on how to use MASCOT can be found [here](https://taming-the-beast.org io.github.compevol mascot - 3.1.0 + 3.1.0-beta1 ``` @@ -30,6 +30,16 @@ mvn install -DskipTests mvn exec:exec -Dbeast.args="-overwrite examples/Constant.xml" ``` +## Citation + +Müller NF, Bouckaert RR, Wu C-H, Bedford T. *MASCOT-Skyline integrates population and migration dynamics to enhance phylogeographic reconstructions.* PLOS Computational Biology 21(9):e1013421, 2025. [DOI:10.1371/journal.pcbi.1013421](https://doi.org/10.1371/journal.pcbi.1013421) + +Müller NF, Dudas G, Stadler T. *Inferring time-dependent migration and coalescence patterns from genetic sequence and predictor data in structured populations.* Virus Evolution 5(2):vez030, 2019. [DOI:10.1093/ve/vez030](https://doi.org/10.1093/ve/vez030) + +Müller NF, Rasmussen DA, Stadler T. *MASCOT: parameter and state inference under the marginal structured coalescent approximation.* Bioinformatics 34(22):3843–3848, 2018. [DOI:10.1093/bioinformatics/bty406](https://doi.org/10.1093/bioinformatics/bty406) + +Müller NF, Rasmussen DA, Stadler T. *The Structured Coalescent and Its Approximations.* Molecular Biology and Evolution 34(11):2970–2981, 2017. [DOI:10.1093/molbev/msx186](https://doi.org/10.1093/molbev/msx186) + ## License The java source code is licensed under the [GNU General Public License v3.0](LICENSE). diff --git a/src/main/java/mascot/dynamics/GLM.java b/src/main/java/mascot/dynamics/GLM.java index a635997..2a7e9fa 100644 --- a/src/main/java/mascot/dynamics/GLM.java +++ b/src/main/java/mascot/dynamics/GLM.java @@ -14,10 +14,10 @@ @Description("Extracts the intervals from a tree. Points in the intervals " + "are defined by the heights of nodes in the tree.") -@Citation( "Nicola F. Müller, Gytis Dudas, Tanja Stadler (2018)\n"+ +@Citation( "Nicola F. Müller, Gytis Dudas, Tanja Stadler (2019)\n"+ " Inferring time-dependent migration and coalescence patterns\n" + " from genetic sequence and predictor data in structured populations\n"+ - " bioRxiv, doi: bty406, 10.1101/342329") + " Virus Evolution 5(2):vez030, https://doi.org/10.1093/ve/vez030") public class GLM extends Dynamics implements Loggable { public Input migrationGLMInput = new Input<>( diff --git a/src/main/java/mascot/dynamics/GLMWithSkylineNe.java b/src/main/java/mascot/dynamics/GLMWithSkylineNe.java index e3fa23c..ebf450e 100644 --- a/src/main/java/mascot/dynamics/GLMWithSkylineNe.java +++ b/src/main/java/mascot/dynamics/GLMWithSkylineNe.java @@ -15,10 +15,11 @@ @Description("Extracts the intervals from a tree. Points in the intervals " + "are defined by the heights of nodes in the tree.") -@Citation( "Nicola F. Müller, Gytis Dudas, Tanja Stadler (2018)\n"+ - " Inferring time-dependent migration and coalescence patterns\n" + - " from genetic sequence and predictor data in structured populations\n"+ - " bioRxiv, doi: bty406, 10.1101/342329") +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") public class GLMWithSkylineNe extends Dynamics implements Loggable { public Input migrationGLMInput = new Input<>( diff --git a/src/main/java/mascot/dynamics/StructuredMigrationSkyline.java b/src/main/java/mascot/dynamics/StructuredMigrationSkyline.java index 0862944..7d67c79 100644 --- a/src/main/java/mascot/dynamics/StructuredMigrationSkyline.java +++ b/src/main/java/mascot/dynamics/StructuredMigrationSkyline.java @@ -1,6 +1,7 @@ package mascot.dynamics; +import beast.base.core.Citation; import beast.base.core.Description; import beast.base.core.Input; import beast.base.core.Input.Validate; @@ -12,6 +13,11 @@ @Description("Wrapper class that takes parametric and non parametric dynamics as input.") +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") public class StructuredMigrationSkyline extends Dynamics implements Loggable { public Input NeFunctionInput = new Input<>( diff --git a/src/main/java/mascot/dynamics/StructuredSkyline.java b/src/main/java/mascot/dynamics/StructuredSkyline.java index f4485bd..bd01da4 100644 --- a/src/main/java/mascot/dynamics/StructuredSkyline.java +++ b/src/main/java/mascot/dynamics/StructuredSkyline.java @@ -1,6 +1,7 @@ package mascot.dynamics; +import beast.base.core.Citation; import beast.base.core.Description; import beast.base.core.Input; import beast.base.core.Input.Validate; @@ -14,7 +15,12 @@ @Description("Wrapper class that takes parametric and non parametric dynamics as input.") -public class StructuredSkyline extends Dynamics implements Loggable { +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") +public class StructuredSkyline extends Dynamics implements Loggable { public Input parametricFunctionInput = new Input<>( "NeDynamics", "input of the log effective population sizes", Validate.REQUIRED); diff --git a/src/main/java/mascot/skyline/GLMPrior.java b/src/main/java/mascot/skyline/GLMPrior.java index 7873f5c..2f0d723 100644 --- a/src/main/java/mascot/skyline/GLMPrior.java +++ b/src/main/java/mascot/skyline/GLMPrior.java @@ -1,5 +1,6 @@ package mascot.skyline; +import beast.base.core.Citation; import beast.base.core.Input; import beast.base.inference.Distribution; import beast.base.inference.State; @@ -16,6 +17,11 @@ import java.util.List; import java.util.Random; +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") public class GLMPrior extends Distribution { public Input covariateListInput = new Input<>("covariateList", "input of covariates", Input.Validate.REQUIRED); diff --git a/src/main/java/mascot/skyline/GrowthRateSmoothingPrior.java b/src/main/java/mascot/skyline/GrowthRateSmoothingPrior.java index b3c85ad..b9a0ee6 100644 --- a/src/main/java/mascot/skyline/GrowthRateSmoothingPrior.java +++ b/src/main/java/mascot/skyline/GrowthRateSmoothingPrior.java @@ -1,5 +1,6 @@ package mascot.skyline; +import beast.base.core.Citation; import beast.base.core.Input; import beast.base.core.Input.Validate; import beast.base.inference.Distribution; @@ -12,6 +13,11 @@ import java.util.List; import java.util.Random; +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") public class GrowthRateSmoothingPrior extends Distribution { public Input> NeLogInput = new Input<>( diff --git a/src/main/java/mascot/skyline/LogSmoothingPrior.java b/src/main/java/mascot/skyline/LogSmoothingPrior.java index 9b4bfb2..aefde17 100644 --- a/src/main/java/mascot/skyline/LogSmoothingPrior.java +++ b/src/main/java/mascot/skyline/LogSmoothingPrior.java @@ -1,5 +1,6 @@ package mascot.skyline; +import beast.base.core.Citation; import beast.base.core.Input; import beast.base.core.Input.Validate; import beast.base.inference.Distribution; @@ -11,6 +12,11 @@ import java.util.List; import java.util.Random; +@Citation( "Nicola F. Müller, Remco R. Bouckaert, Chieh-Hsi Wu, Trevor Bedford (2025)\n"+ + " MASCOT-Skyline integrates population and migration dynamics\n"+ + " to enhance phylogeographic reconstructions\n"+ + " PLOS Computational Biology 21(9):e1013421,\n"+ + " https://doi.org/10.1371/journal.pcbi.1013421") public class LogSmoothingPrior extends Distribution { public Input> NeLogInput = new Input<>(