Skip to content

Register missing applauncher tools, document them, and print citations - #20

Merged
walterxie merged 4 commits into
masterfrom
fix/applauncher-tool-registration
Aug 19, 2026
Merged

Register missing applauncher tools, document them, and print citations#20
walterxie merged 4 commits into
masterfrom
fix/applauncher-tool-registration

Conversation

@alexeid

@alexeid alexeid commented Aug 19, 2026

Copy link
Copy Markdown
Member

TreeCredibleLevel and DissonanceCalculator were registered as BEASTInterface service providers in version.xml but had no <packageapp> entry, which is the list applauncher builds its command set from. Both are now launchable:

/path/to/applauncher TreeCredibleLevel -trees input.trees -tree test.tree -burnin 10 -out out.txt

Reported by a user who could run SkeletonAnalysis but not TreeCredibleLevel.

Changes

Registration — adds the two missing <packageapp> entries.

README — a tool's heading depth previously depended on whether it happened to fall inside the "Phylogenetic Entropy, Rogue & Skeleton Analysis" group: EntropyCalculator sat at #### while TreeCredibleLevel sat at ### as a sibling of the group. All applauncher tools now sit at the same level under a single AppLauncher Tools heading, and DissonanceCalculator gains a section.

The credible-level parameters were also wrong: ccdType was documented as defaulting to CCD1 (code says CCD0), numsamples as 10000 (code says 100000), and the required out parameter and quiet flag were undocumented.

Citations — the @Citation annotations already in the package are only printed because TreeAnnotator explicitly calls getCitations(); beastfx.app.tools.Application never does, so no applauncher tool printed a reference. Adds CCDToolUtil.printCitations plus annotations on all six tools, mapping each to its paper. Output goes to Log.warning (stderr) so it cannot corrupt results piped from stdout, and honours each tool's existing quiet/verbose flag.

Dependency — beast 2.8.0-beta72.8.0-beta8.

Testing

mvn verify passes (104 tests, 0 failures). EntropyCalculator and TreeCredibleLevel were run end to end against a small tree set to confirm the citation prints, that -quiet true suppresses it, and that redirecting stderr leaves stdout clean.

Not addressed

  • SubtreeMarginal has an Application main but is registered nowhere and is undocumented.
  • README still references version 1.2.0; the pom is 1.2.1-SNAPSHOT, and the release zip builds as CCD.v1.2.1-SNAPSHOT.zip. Both want resolving before a CBAN release.
  • CCDSampler cites only the CCD point-estimate paper, though it also accepts the KRegCCD/RegCCD types; @Citation is static so it cannot vary with ccdType.

Both were listed as BEASTInterface service providers but had no
<packageapp> entry, so applauncher could not find them.
Group all applauncher tools under one heading at the same nesting level,
add a section for DissonanceCalculator, and correct the TreeCredibleLevel
parameters: ccdType defaults to CCD0, numsamples to 100000, plus the
required out parameter and the quiet flag.
Add CCDToolUtil.printCitations and @citation annotations to the six
applauncher tools. Output goes to stderr so it does not interfere with
results written to stdout, and respects the quiet/verbose flags.

Also corrects DissonanceCalculator's app title, which read "Entropy
Calculator".
@alexeid
alexeid requested a review from walterxie August 19, 2026 01:35
@walterxie
walterxie merged commit 8ed258b into master Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants