Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model Selection

Select models through path sampling/stepping stone analysis

Tutorials

Path sampling

Path sampling with a GUI

For developer

Build the package, skipping tests:

mvn clean package -DskipTests

Run an example XML through BEAST:

mvn exec:exec -Dbeast.args="src/test/resources/modelselection/examples/normalTest-1.xml"

Project folder structure

BEAUti templates and the example XMLs live under src/, not root directory:

src/
├── main/resources/modelselection/
│   ├── app/tools/ps.png
│   └── fxtemplates/
│       └── ModelSelection.xml
└── test/resources/modelselection/examples/
    ├── normalTest-1.xml, normalTest-2.xml, normalTestPS-1.xml, normalTestPS-2.xml,
    │   testPairedPathSampler.xml, testPathSampler.xml, testPathSamplerForSimpleTree.xml
    └── legacy/          (superseded example XMLs, excluded from the release ZIP)

fxtemplates/ is a main resource, so it's bundled into the jar (see below). examples/ is a test resource, so the assembly plugin copies it into the ZIP's top-level /examples/ directly from src/test/resources/, excluding legacy/** (see src/assembly/beast-package.xml).

Releasing

Jar folder structure

The release module jar, bundled into the BEAST package ZIP's lib/, contains:

META-INF/
├── MANIFEST.MF
└── maven/io.github.beast2-dev/model-selection/
    ├── pom.xml
    └── pom.properties
modelselection/
├── app/tools/          (PathSampler, PathSampleAnalyser, PairedPathSampler*, GeneralisedSteppingStone, ps.png)
├── core/                (CPOLogger)
├── cpo/                 (CPOAnalyser, BEASTRunAnalyser + inner classes)
├── fxtemplates/
│   └── ModelSelection.xml
├── gss/                 (GeneralisedSteppingStone*, MCMC2GSS, MCMC2IS, GSSFromFile, TraceLog, ...)
│   ├── coalescent/
│   └── distribution/
└── inference/           (PathSampler, PathSamplingStep, PairedPathSampler*, AICMAnalyser, DiffLogger, ...)
version.xml
module-info.class

modelselection/fxtemplates/ModelSelection.xml is loaded via module path resource lookup at runtime — src/assembly/beast-package.xml does not copy it anywhere else in the ZIP.

1. Maven Central release (JARs)

Push a v* tag to trigger .github/workflows/ci-publish.yml, which sets the Maven version from the tag, builds, tests, GPG-signs, and publishes to Maven Central:

git tag v1.7.0
git push origin v1.7.0

Monitor the run at: https://github.com/BEAST2-Dev/model-selection/actions/workflows/ci-publish.yml

2. GitHub release (BEAST package ZIP)

First remove -SNAPSHOT from <version> in pom.xml so it matches the release (e.g. 1.7.0-SNAPSHOT -> 1.7.0), then build the installable BEAST package ZIP locally:

mvn clean package -DskipTests

Note: if you skip the manual edit above, the build still succeeds, but the module jar bundled inside the ZIP (lib/model-selection-<version>.jar) will carry the -SNAPSHOT suffix — that's meant for dev/testing builds, not an official release. Alternatively, instead of hand-editing pom.xml, run:

mvn versions:set -DnewVersion=<version> -DgenerateBackupPoms=false

The ZIP is written to target/MODEL_SELECTION.v<version>.zip. Then manually:

  1. Go to https://github.com/BEAST2-Dev/model-selection/releases/new
  2. Choose the matching tag (e.g. v1.7.0), fill in the release title/notes
  3. Upload target/MODEL_SELECTION.v<version>.zip as a release asset
  4. Publish

About

Automatically exported from code.google.com/p/model-selection

Topics

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages