All notable changes to bpp
will be documented in this file.
This project adheres to Semantic Versioning.
- Example data
- Extended rubberband move is now the default move for MSCM
- Pseudopriors for migration rates
- Option to specify a separate prior for each migration rate
- Per-locus variable migration rates
- Reversible-jump MCMC move for adding and removing migration rates
- Move to flip the direction of a migration rate
- Option to change the probability of using a gibbs sampler vs sliding window proposal for theta moves (default: 0.2 sliding window)
- Option for having one stepsize per theta parameter
- Option for having one stepsize for tip nodes and one for inner nodes
- Option for disabling core pinning
- Memory leaks
- Invalid access of migbuffer structure in theta gibbs proposal
- Binary mode when opening checkpoint files
- Default theta proposal to the original sliding window move
- Default number of thetas on monitor output set back to 3
- Gibbs sampler for thetas with t1/t4 conditions
- Typos
- Number of thetas,taus,phis and mrates on screen output
- Gibbs sampler for migration rates
- Priors on frogs example control files
- Disabled twin towers unidentifiability algorithm when not using data
- Printouts from label switching algorithm are now included in output file
- Gibbs sampler is now the default move for thetas
- Crash when resuming from checkpoint due to uninitialized IM variables
- Checkpointing when using linked theta models
- Copying of linked_theta attribute when cloning snodes -- fixes linked theta models under IM
- Consistency checks for tau definitions in --simulate
- Error when using MSCi and IM together
- Possibility of displaying multiple phi means on screen output
- Gibbs sampler for thetas under MSC,MSCi,IM with gamma prior
- Phi proposal for assymetric beta priors -- phi proposed on the branch the parameter resides on
- Gibbs sampler for population size parameters under the IM model with inverse gamma prior
- Parallelization for freqs,qrates,alpha,brte moves when thetas integrated out
- 'defphi' keyword in species tree attributes to define the branch on which the phi parameter is placed on
- Migration rate symbol from small m to big M in MCMC sample file
- Output seed value when seed<0
- Qrates in simulation option now sum to 1
- Order of qrates and base frequencies in the output file and added an indicative label for each substitution rate and base frequency
- Edge conditions for phi label switching
- Enabled --summary option (previously disabled)
- Bug that corrupted opt_tau_alpha when reading control file
- Gene tree migration event move to save proposed time
- Segfault in msci generator when adding time-travelling BDIs (issue #158)
- Race condition due to migcount_sum
- Memory leaks, improved reallocation of migbuffer, issues in miginfo_extend
- Gene tree branch lengths in print_gene_trees output when using relaxed clocks
- Indexing of migration events (improves performance)
- Option --bfdriver (issue #129)
- New rubberband algorithm under IM
- Linked theta models (none,all,inner,msci)
- Gene tree height and length in gene tree output file
- Gibbs sampler for population sizes under the MSC and MSCi models with inverse gamma prior
- Proposal kernel to bactrial laplace
- Testbed generation hash
- Isolation with migration model
- Shortened MSci model information table
- Crash when resuming from a checkpoint with SNL enabled
- Assignment of mean phi values for model B on summarized species tree/network
- Position of theta and tau in the header of the last output table
- Option --summary for only summarizing the MCMC file
- Algorithms CoG0,CoGN,BetaGamma for resolving identifiability issues associated with BDI events
- Phi parameters (MSCi model) for non-BDI events always correspond to horizontal edges. If both parental edges of a hybridization node are horizontal or both are non-horizontal, then the phi parameter always corresponds to the mirror node.
- Phi parameters (MSci model) for BDI events always correspond to the horizontal branches
- MSci generator syntax accepts source branch first, then target branch
- MSci generator prints phis on horizontal branches for BDI events
- Numbering of loci in load balancing stats output starts from 1 instead of 0
- Removed checks for consecutive unary nodes which fixes the rejection of some correctly constructed MSCi newick formats
- Failing assertion caused by trying to update a non-existent root branch length for circle/triangle/square nodes in species tree spr with relaxed clock
- Error message in simulation for locusrate syntax
- MRCA function (for MSCi) in gene tree age proposal to find the MRCA population of two daughter nodes (a and b), such that the MRCA is also a descendant of the population of the parent of a and b. This fixes a failing assertion
- Rule in MSCi creator that prevented from having multiple bidirections on sister species
- Header of modelparafile when using relaxed clock models (printing of species tree branch rate labels)
- Removed SNL branch rate swap strategies when species tree root changes
- Removed branch rates swapping from sSPR and SNL when move is NNI
- Zig-zag load balancing scheme
- Removal of sequences that contain only missing data
- Gene tree topology change move using simulation (option --exp_sim)
- Gamma prior for tau
- Gamma and Beta for theta
- Initialization of phi values
- Loading correct beta value for bayes factor computation when resuming from a checkpoint
- Added option --snl_noswap to test the strategy of overwriting new root rates when using correlated clock (SNL move)
- New mapping of branch rates on species tree for moves that correspond to NNI
- 'diploid' to 'phase' in frogs example control file
- Error message for number of threads
- Code to generate 'faketree' (MSCi graph model represented as binary tree)
- Swapping of branch rates (correlated clock) when SNL changes root node
- Renamed 'diploid' to 'phase' in sumulation code
- Updated README.md file for anopheles example
- Simulation code to set thetas for species with 1 sequence and phase flag set
- Removed command-line options for reject and repeat strategy (SNL move) and kept the reject strategy
- All SNL command-line options were removed and made part of the control file (speciestree option)
- Debugging function for validating log-PG
- Acceptance proportion (SNL move)
- Notheta option when using the MSCi model
- Acceptance rate (pjump) output of SNL
- Options --snl_le and --snl_ls for setting lambdas (SNL move)
- Printing of shrink proportion
- Rejection and repeat options (SNL move)
- Acceptance proportion for expand with downwards path (SNL move)
- Option for checking log-likelihood after each move
- Debugging system
- Options for repeated and rejection sampling for SNL move
- Bug in locusrate proposal for correlated clock model using Dirichlet and when mubar is fixed to 1
- Rules for detecting long branches in SSPR when using relaxed clocks
- Swapping of p-matrices in mu_i and nu_i proposals
- Acceptance ratio for SNL move
- Memory leak associated with SNL move
- Added NOT keyword for defining topological constraints
- Added '--comply' switch for checking compatibility of constraints against a tree
- Added an initial implementation of the snakes and ladders move
- Simplified constraints definition (multiple compatible constraints may be specified)
- Notation for simulating data with only one species
- Simulations with relaxed clock and log-normal distribution
- Mapping of sites from A2 to A3 in diploid compression which was causing the program to crash
- Crashes when user does not specify thetas in simulations. Error messages are now printed
- Specification of topological constraints for species tree and of outgroup
- Acceptance ratio for nu_i proposal with Dirichlet prior
- nubar appears in summary statistics for Dirichlet prior
- Parsing of custom model in control file
- Memory leaks and segfault when checkpointing with molecular clock, GTR and per-locus file printing
- Conditions for enabling nubar estimation
- Recomputation of log-L for correlated clock when proposing mu_i (full
- Computation of log prior ratio for branch rates with correlated clock and log-normal distribution
- Branch rates prior for correlated clock and gamma distribution
- Swapping of pmatrices when proposing mu_i
- Deallocation problem when phylip alignment contains less sequences than specified in header
- Acceptance ratio for correlated clock and log-normal distribution when proposing nu_i (extra variance term)
- Species numbering in pptable starts from 1 instead of 0
- Reduced spacing in finetune adjustment output
- Finetune option now accepts dashes as entries indicating to use default the default value for that step length
- Log prior ratio for correlated clock with gamma distribution
- Update branch rate prior in mixing move when using correlated clock and gamma distribution
- Made arch option CPU to be case insensitive
- Computation of branch lengths for gamma rates heterogeneity
- Clock prior specification in (--simulate) from 0 and 1 to DIR and IID
- Bug in compressing patterns when GTR and diploid sequences; compression was still done as if JC69 was used, instead of compressing only unique patterns
- Nucleotide map was used to translate the characters of AA data when using partitioned analyses
- pmatrix computation did not account for gamma rates heterogeneity
- Checks for -inf log-L and prompt for enabling scaling to prevent numerical underflow
- Clock and locusrate prior specification from 0 and 1 to DIR and IID
- Header line on current pjump finetune and new finetune
- Rearranged order of finetune arguments in control file and included alpha, freqs,qmat steplengths
- Corrected typecasting of returned pjump for mu_i and nu_i proposals
- Compatible relaxed clock models in the BPP simulator
- Screen output is now printed in output file as well
- Correlated relaxed clock models
- Parallelized branch rate proposal
- Implemented MSci notation generator from a species tree and a list of edge (option --msci-create)
- New parser for Imap file (not using flex/bison anymore)
- mubar and vbar no longer printed in finetune output if not used
- Clock arguments for specifying branch rates distribution from 0 and 1 to LN and G
- Renamed option diploid to phase
- Prettified screen output
- Inconsistency between current finetune and pjump in output
- MSci model concerning nodes participating in two hybridization events with conflicting htau causing the program to enter an infinite loop before starting
- Additional print flag for printing qmatrix parameters, frequencies and alpha value into a locus specific file
- Custom pmatrix computation for different nucleotide models and output of their in locus-specific files
- Implemented new general tree parser (not using flex/bison anymore)
- Starting values for phi are not needed anymore in inference mode, and are used as starting values if specified
- Updated Anopheles example documentation
- Locus rates (mu_i) and heredity scalars are now printed in locus specific files
- branch rates prior computation
- Qrates and frequencies proposal acceptance ratio
- Branch length computation for relaxed clock
- Rates proposal for nucleotide GTR model
- Computation of empirical frequencies
- Summary table for loci
- Option alphaprior=X Y Z and roposal for alpha parameter (site rate variation)
- Yeast dataset
- Relaxed clock (iid rates model) following gamma or lognormal
- Relaxed clock (Gamma-Dir model) following gamma or lognormal
- Finetune option now accepts arbitrary number of parameters (non-specified are set to default values)
- Format of locusrate option
- Checkpoint file now stores phi pjump
- Parsing of species tree with one species and hybridization when simulating
- All protein models are now activated and can be used with the 'model' option
- Option to set a different model for each locus by using model = custom
- MCMC output file columns are now aligned
- 'threads' option can take two optional arguments indicating a) starting core index to pin threads to, and b) a stride.
- Removed progress indicator
- Reading seed from /dev/urandom when simulating data
- Finetuning results are stored also in output file
- Checkpointing now works when bidirectional introgressions are present
- Printing starting time/date of analysis, BPP version and command-line arguments at the beginning of the output file
- Printing pattern weights for compressed alignments in output file, and sequneces are now printed in aligned form
- Added check that Inverse-Gamma priors are indeed used. If prior mean is greater than 1 then BPP complains.
- Pinning threads to cores on linux systems. Improved multithread performance
- Parallelized mixing and tau proposals
- Experimental option for randomizing nodes order before gene tree SPR move (switch --exp_random)
- Revolutionary gene tree spr move (switch --rev_gspr)
- Changed 'gammaprior' to 'phiprior' and 'gamma' to 'phi' in MSci model
- Parallelized gene tree SPR and gene tree age proposal
- Minor bug when cleandata=1 and locus has no ambiguous characters
- Code for generating full data and random resolution files when using diploid option in simulations
- Random number generator
- Format of diploid sequence labels in simulations code
- Variable names in QuantileChi2() to conform with MSVC compiler
- Assignment of thetas and taus to hybridization nodes in simulations code
- Simulations (MCcoal) code via the --simulate switch
- Added multispecies coalescent introgression (MSci) model
- Fixed minor bug in gene tree spr move
- Numerical boundary problems in reflect
- Usage of exptm1 function in JC69 pmatrix computation code for preventing numerical problems
- Estimation of thetas (method A00) for one species only
- When resuming from a checkpoint, additional future expected checkpoints were no longer created. This is fixed now
- Scaling option in control file that prevents numerical underflow when calculating partial likelihoods
- Fixed qsort callback function in A00 summary to adher to BSD qsort