Releases: revbayes/revbayes
Releases · revbayes/revbayes
Release list
Release v1.4.1
Speed & memory
- 4-fold speedup in analyses of DNA data when
useScaling=TRUE(#1002).
Features
- Add a
stop( )function to halt Rev script execution with a user-specified message (#1019). - Allow
rep( )to take input of typeProbability(#1035). - Allow specifying a fixed burnin fraction in convergence rules (#1048).
Bug fixes
- DAG
- Likelihood evaluation
- MCMC
- Draw random numbers regardless of log likelihood difference to reduce test fragility (#1006).
- Make sure all MPI ranks finished writing to a trace file before convergence rules read it (#1029).
- Require the
frequencyargument of convergence rules to be strictly positive (#1044). - Make it simpler to
excludevector variables frommnModel(#1052).
- Interface
- Misc
- Make sure
mnStochasticVariableandMcmc::checkpointwrite out the hidden state (allocation index) ofdnMixture(#987). - Fix reading of RNA datasets (#1018).
- Fix handling of extant samples when
rho=0and of purely extinct trees indnBDSTP(#1032). - Make sure the
.getStateDescriptions( )method preserves the first-seen state order (#1036). - Prevent
dnPhyloWhiteNoisefrom taking the log of an already log-transformed density (#1054). - Fix initialization issues with backbone-constrained nonclock analyses (#1056).
- Fix handling of parameter-specific timelines in
dnBDSTP(#1059).
- Make sure
Refactor
Documentation improvements
- Expand documentation for
srGelmanRubin,srGeweke,srMinESS,srStationarity(#1048).
Infrastructure
- Enable and improve support for the AVX instruction set (#1002).
- Add support for building and developing RevBayes using the Nix package manager (#1033).
New contributors
- @sriram98v made their first contribution in #1033.
- @wnsplim made their first contribution in #1050.
Release v1.4.0
Backwards-incompatible changes
- Remove the
tuneTargetargument from those moves that are not capable of being tuned (#947). - Remove
dnPhyloCTMCDollo(#997). - Temporarily disable the uniform partitioning distribution (
dnUPP) (#999).
Speed & memory
- Slight speedup in analyses employing
dnPhyloCTMCwhenuseScaling=TRUE(#816). - Much faster merging of log files with
mcmc(..., combine="mixed")(#981).
New models/analyses
- Model selection via leave-one-out cross-validation (#460).
- StairwayPlot method for inferring demographic histories from site frequency spectra (#460).
- State-dependent Brownian motion (BM) and Ornstein-Uhlenbeck (OU) processes (#904).
Features
- Add functions for folding site frequency spectra and creating StairwayPlot vectors (#460).
- Add function for reading stochastic character maps (#904).
- Allow vector input to
ln( )andlog( )(#948). - Add an
.isRooted( )method toTree(#952). - Add
-pflag to print commands from-eexpression or script (#978). - Make stochastic mapping and ancestral state monitors work for all types of discrete characters (#994).
Bug fixes
- Tree handling
- Fix handling of quoted labels and tree-level comments when reading Newick trees (#799).
- Treat unrooted trees as such when generating summaries (#932).
- Fix parsing of nested comments in Newick trees (#946).
- Make sure the
mrcaIndex( )function and.unroot( )method work on rooted nonclock trees (#952). - Refactor the
.reroot( )method ofTreeobjects (#966).
- Moves
- Checkpointing
- Crash / NaN
- Fix a segfault in the help2yml executable built with MPI (#937).
- Misc
- Fix issues with missing values in multisample BM and OU processes (#905).
- Fix handling of the
burninargument in posterior predictive simulations (#923). - Correct reasoning about return types for
max( ),median( ),min( ),sum( )(#938). - Check for mismatches in the number of states between an SSE model and underlying data (#974).
- Make sure
writeNexus( )keeps all state labels when concatenating character matrices (#975, #995). - Make sure we start the interactive loop when
-iis given even if there is an error (#977).
- Non-user-facing
Documentation improvements
ConditionalPosteriorOrdinate,dnStairwayPlot,fnBSPInterval,fnFoldSFS,mvAdaptiveRJSwitch,mvRandomCategoryWalk(#460).- Expand documentation for
dnMultinomial,mvRandomGeometricWalk,mvRandomIntegerWalk,mvRandomNaturalWalk(#460). CharacterHistory,dnPhyloBrownianProcessStateDependent,dnPhyloCTMCDASiteIID,dnPhyloOrnsteinUhlenbeckStateDependent,mvCharacterHistory,readCharacterHistory(#904).mrcaIndex(#952).
Infrastructure
- Fix continuous-integration (CI) tests on macOS where boost 1.90 is broken (#924).
- Update
build.shfor setting boost location with modern CMake (#925). - Make sure the CI test script fails when tutorial tests fail (#940).
- Allow tests that require TensorPhylo (#941).
- Make sure the CMake build script does not drop extra arguments if
-boost_rootis given (#951). - Fix compile cache misses (#959).
- Help database cleanup (#989).
- Make meson always build the help2yml executable (#990).
New contributors
- @HaoqingDu made their first contribution in #905.
Release refs/tags/debug-EBD-build2
Release v1.3.2
Backwards-incompatible changes
- Restructure the command-line interface following Rscript syntax (#803, #827).
- Change the name of the first argument of
TraceTree.getUniqueTrees( )fromcredibleTreeSetSizetominCladeProbability(#819). - Change the name of the first argument of
TraceTree.isTreeCovered( )fromci_sizetocredibleTreeSetSize(#819). - Remove the argument
num_taxafromTraceTree.computeEntropy( )(#819). - Remove
mvAddRemoveTip(#862).
Features
- Allow executing Rev expressions from the command line (#803).
- Allow handling partial ambiguities involving a gap state (#838).
- Add function for writing alignments to Phylip format (#882).
- Add arguments to
dnPhyloCTMCto account for observational error (#901).
Bug fixes
- Summary trees
- MCMC
- Moves
- Crash / NaN
- Misc
- Multiple fixes for
TraceTreemethods (#819). - Fix FBD analyses with a single parameter-specific timeline (#845).
- Allow subscripting arrays by any variable that can be typecast to
Natural(#856). - Fix printing
Simplexobjects in validation analyses (#876). - Fix the ODE solver used in
dnCDBDPanddnTVSSE(#883). - Remove null terminators from
.methods( )output (#886). - Ensure compiler-independent output in complex FBD analyses (#895).
- Fix
dnPhyloBrownian(#897). - Fix
dnGeometric(#907, #915).
- Multiple fixes for
Documentation improvements
- Expand documentation for
mvSlice(#614). - Expand documentation for
TraceTree(#819). args(#830, #851).dnPhyloCTMCmvFNPR(#839).- Minor fixes to
write(#852) anddnBeta(#900). - Corrections to
srGewekeand multispecies coalescent distributions (#871). - Add a description of the
burninMethodargument of convergence rules (#871). - Miscellaneous formatting fixes (#871).
Infrastructure
- Do not require the
systemboost library inCMakeLists.txt(#831). - Increase the minimum CMake version from 3.5 to 3.10.2 (#834).
- Sync the Nexus Class Library (NCL) with the upstream repo (#837)
- GitHub Actions updates (#841, #892).
- Update meson build instructions (#857).
- Remove a duplicated test file to suppress a
git clonewarning (#873).
New contributors
- @mcranium made their first contribution in #839.
- @curiosusJR made their first contribution in #873.
Release v1.3.1
Backwards-incompatible changes
- Change the distribution name of the sampled-speciation birth-death model from
dnSBBDPtodnSSBDP(#714).
Features
- Distributions
- Methods / arguments
- Interface
- Nicer printing of member method lists (#800).
- Misc
- Biogeography: allow regional features and non-existent regions (#693).
Bug fixes
- Regression fixes
- Member procedures
- Nexus I/O
- MPI / MC^3
- Moves
- Misc
- Partial
- Avoid subscripting by
-1indnAutocorrelatedEvent(#773).
- Avoid subscripting by
Documentation improvements
- Basic data types:
Integer,Natural,Probability,Real(#714). - Birth-death models:
dnCBDSP,dnCDBDP,dnSSBDP(#714). - Marginal likelihood estimators:
pathSampler,steppingStoneSampler(#779). - Expand documentation for
TraceTree(#800).
Infrastructure
- Update DLLs to allow running RevStudio on Windows (#751).
- Don't print operator summaries in coalescent tests, and only run 1 generation (#770).
- Enable testing with assertions to detect out-of-bounds indices in
std::vector(#773). - Don't skip remaining scripts in a test if one fails, and combine error message from multiple failing scripts in a test (#773).
- Allow specifying a required exit code to allow/require failure (#773).
- Fix check for missing output files (#773).
- Make test runner output clearer and more informative (#773).
- Replace
boost::filesystemwithstd::filesystem(#807).
New contributors
Release v1.3.0
Backwards-incompatible changes
- Change the name of the tuning argument of
mvUpDownSlidefromlambdatodelta. - Change the name of the first argument of
Tree.reroot( )fromcladetooutgroup. - In
powerPosterior( ), specifyingcats=Nsets up N analyses numbered 1--N, rather than N+1 analyses numbered 0--N.
Features
- Interface
- Methods / arguments
- Functions
Bug fixes
- Checkpointing
- MPI / MC^3
- Model graph
- Moves
- Member procedures
- Misc
- Fix stochastic character mapping when there are excluded characters (#636).
- Fix handling of large integers on Windows (#708).
- Don't ignore negative clade constraints (#711).
- Allow for machine uncertainty in
dnEpisodicBirthDeathwith empirical sampling (#713). - Fix partial likelihood caching in
dnPhyloCTMC(#729). - Allow reading multiple trees from a string (
readTrees(text = ...)) (#735).
- Partial
- Prevent some instances of clamped values from being modified (#600).
Documentation improvements
Simplex(#606).- Moves
sin(#648, #683).- Substitution models
exp(#653).- Complete and standardize documentation for
dnBernoulli,dnBeta,dnBimodalLognormal,dnBimodalNormal,dnBinomial,dnCategorical,dnCauchy,dnChisq,dnDirichlet,dnExponential,dnGamma(#663). dnUniformInteger,fnReadVCF,vectorFlatten(#667).- Expand documentation for
powerPosterior(#673). matrix,var(#681).floor,mnModel,reverse,sinh(#683).power,write(#690).- Analysis output types and I/O functions
- Discretization functions:
fnDiscretizeDistribution,fnDiscretizeGamma(#707).
Infrastructure
- Update validation tests (#473).
- Fix continuous-integration builds by dropping openlibm (#644).
- Change build files to streamline updates to the help database (#659).
- Make tutorial tests more flexible (#674).
- Make sure the test runner can handle tutorial checkpoint tests (#676).
- Add integration tests for revised coalescent classes (#689).
- Change website submodule to pull from source rather than master (#692).
New contributors
- @sigibrock made their first contribution in #648.
- @raymondcast18 made their first contribution in #649.
- @PhyloevoTi made their first contribution in #655.
- @ixchelgzlzr made their first contribution in #703.
- @basanta33 made their first contribution in #704.
- @Levi-Raskin made their first contribution in #711.
Release v1.2.5
Backwards-incompatible changes
- Remove
underPriorargument tomcmc.run( )andmcmcmc.run( ). You can usemodel.ignoreAllData()instead. - Remove
dnLogexponential. You can usednExponential(l) |> tnLog()instead. - Remove
tree.makeBifurcating()in favor oftree.suppressOutdegreeOneNodes(). To resolve a trifurcation
at the root you can usereroot(..., makeBifurcating=TRUE)instead. - The
collapseSampledAncestors=true/falsesetting was removed because it no longer has an effect. If you see a warningUnknown user setting with key 'collapseSampledAncestors'when startingrb, remove the corresponding line in the file.RevBayes.iniin your home directory.
Features
- Allow fossil age sampling with an initial tree in
dnConstrainedTopology(#481). - Transformed distributions:
- Allow ignoring data from specific nodes with e.g.
model.ignoreData(seqData,morphData,...)(#628) - Extend
type( )to optionally show the full type-spec (#504).
Bug fixes
- Multiple fixes for building, especially on Windows (#490, #491, #493, #494, #495, #496, #498).
- Checkpointing
- Types
- Crash / NaN
- Fix
dnMixtureof rate matrices and otherCloneableobjects (#501). - Fix
treeAssemblysometimes failing to initialize branch lengths (#509). - Fix crash if a file changes while we are
source( )-ing it (#510). - Fix segfault with
dnConstrainedTopology+dnUniformTimeTree(#513). - Fix a segfault in
Model::getOrderedStochasticNodes(#569).
- Fix
- MCMC: initialization
- MCMC
- Fix recalculation of likelihoods for Brownian motion distributions (#596).
- Fix recalculation of likelihoods with
mvRootTimeSlideUniform(#594). - Fix recalculation of likelihood with
treeAssembly(#549). - Fix Gelman-Rubin (PSRF) and stationarity stopping rules (#555).
- Don't move fossil tips outside their age ranges (#559).
- Fix operator summary for MC^3 when moves are tuned (#522).
- Debug:
- Misc
Documentation improvements
dnPhyloCTMC( )(#487).fnDiscretizeBeta( )(#625).model( )(#538).time( )(#572, #574)--setOption/setOption()/getOption()(#583)- Clarify differences between
.clamp()and.setValue()(#599). - Stopping and convergence rules (#488).
mcmcandmcmcmc- Corrections to
dnBivariatePoisson(#539) andmcmcmc(#541).
Release v1.2.4
Features
- Refactor coalescent to allow heterochronous samples and more.
- Allow constructing substitution models as SiteMixtureModel objects.
- Imputation of missing entries in AverageDistanceMatrix
Bug fixes
- Fix simulation of rate categories with variable coding.
- Fix operator[] in AverageDistanceMatrix
Release v1.2.3
Changes
- Setting collapseSampledAncestors=true is now ignored -- use fnCollapseSA(tree).
- Temporarily disable FBD-Range models (#449).
- Refactor PhyloOrnsteinUhlenbeckREML (#426)
Features
- Allow mnFile and mnModel to write JSON output if given format="json" (#377)
- Refactor dnBDSTP, dnFBDP, and dnPhylodynamicBDP (#386, #440)
- Compute average distance matrices more efficiently (#454).
- Compute ExponentialError probability densities more efficiently (#432, #434).
- Add member procedure to set node age (#380).
- Add member procedures to remove invariant and gap sites (#379, #392).
- Be less picky about initial tree ages matching ages from taxon files (#455).
- Make mvCollapseExpandFossilBranch complain if r=1 (no fossil sampling) (#440).
- Make power posterior analyses more flexible (#397).
Bug fixes
- Stop BD simulations from hanging in situations with many constraints (#453).
- Stop moving fossil tip nodes in mvRootTimeSlideUniform (#447).
- Fix consensusTree (#441).
- Fix crash reading trees with bad indices (#403, #395).
- Fix ancestral state reconstruction with missing data (#396)
- Fix the uniform topology prior (#442).
- Fix vectorFlatten (#445, #389).
- Fix a memory leak in reversible jump mixtures (#430).
- Fix BDSTP segfault (#367)
- Fix updating phylogenetic likelihood when site mixture probability changes (#437).
- Fix interaction of multiple stopping rules (#458).
- Fix crash with tuning on mvScale (#452).
- Fix writing delimited character data (#362)
- Fix representation of sampled ancestors in tensorphylo functions (#369).
- Fix offset for the read tree trace function (#381).
- Fix Probability(-1) and Probability(2) (#410).
- Don't flatten arrays of stochastic variables in checkpoint files (#448).
Release v1.2.2
Features
- We now use a flag (
-j) instead of a separate executable for Jupyter mode. - Matrices can be added, subtracted, and negated.
- Allow computing SSE likelihoods using TensorPhylo
- Add pipe operator:
x |> f(y)now yieldsf(x,y). - ... and many bug fixes.