Releases: jjmccollum/teiphy
Fixed ancestral sequence logging in BEAST XML output
Starting from this release, teiphy now correctly uses AncestralSequenceLogger elements (from the BEAST_CLASSIC package) instead of AncestralStateLogger elements (from the BEASTLabs package) in BEAST XML outputs.
Support for works with known origin dates
Previously, works with known dates of origin (specified as a date
element with a when
attribute) generated BEAST XML outputs with unnecessary prior distributions on the origin of the birth-death-skyline model. This release fixes the handling of such cases.
New options and better support for tabular outputs
In this release, teiphy's options for tabular outputs (in CSV, TSV, and Excel format) have been expanded and better organized. The type of tabular output desired can now be specified on the command line with the --table
flag. Valid options are matrix
(the default option, with rows for variant readings, columns for witnesses, and frequency values in cells), distance
(a pairwise distance/dissimilarity matrix with rows and columns for witnesses and counts or proportions of disagreements at extant variation units in cells), nexus
(with rows for witnesses, columns for variation units, and reading IDs in cells), and long
(a series of rows with witness, variation unit ID, reading index, and reading text entries). Notably, --table long
replaces the old --long-table
command-line flag. A fix has been added to ensure that Unicode CSV and TSV files are loaded correctly in Excel. Finally, teiphy will now create directories in the output filepath if they do not already exist.
Minor improvements to BEAST and STEMMA outputs
In this release, STEMMA outputs generated by teiphy are written with the corresponding chron file specified with a relative rather than absolute path for better portability, and BEAST 2.7 XML outputs now initialize transcriptional rate parameters with bounds between 0.0 and Infinity and gamma distribution priors. Rates that are not fixed in the TEI XML file will be assigned random values (according to a gamma distribution) in the BEAST 2.7 XML output to avoid singular matrix errors in BEAST's initial computation of site/variation unit likelihoods. A --seed command-line parameter has been added to teiphy to make these assignments replicable.
BEAST 2.7 XML Output and Support for Bayesian Models
With this release, teiphy
can now convert TEI XML collation files to BEAST 2.7 XML input files directly. The conversion process for this format can accommodate judgments of intrinsic probabilities (odds ratios describing how much more likely one variant reading is than another to be authorial, which correspond to root frequencies in BEAST) and transcriptional change classes (describing one or more potential causes for specific transitions between readings, which correspond to rate parameters that can be fixed or estimated in substitution models).
In addition, teiphy
now includes tree priors and clock models (with multiple options for clock models on the command-line interface) in BEAST 2.7 XML and MrBayes NEXUS outputs. For BEAST, a birth-death skyline prior is used, which can incorporate a date range for the start of the manuscript tradition if one is specified, and strict, uncorrelated relaxed, and local relaxed clock models are supported.
Options for Constant Sites
With this release, teiphy
now includes constant sites (i.e., variation units with only one substantive reading, after readings of trivial types have been merged with their parent readings) by default for all output formats (except STEMMA), and constant sites can be excluded from these outputs with the --drop-constant
option. (But note that if you are using the output with likelihood-based phylogenetic software, you will probably want to use an ascertainment bias correction setting!)
Witness List Parsing
Added code to check for a listWit
element containing an explicit list of witnesses (and throw an exception if none is found), as well as code to print out warnings for all base sigla that occur in the collation, but not in the listWit
.
Publication release
This release incorporates the changes recommended in the JOSS reviewers' generous feedback. These changes include the following features:
- support for date calibration blocks based on witness date ranges
- support for PHYLIP and FASTA outputs (for software such as RAxML)
StatesFormat=StatesPresent
is now the default setting for NEXUS output; ifStatesFormat=Frequency
is desired, the--frequency
command-line option can be used to specify this.- support for "long table" formatting for tabular output (NumPy, Pandas DataFrame, CSV, TSV, Excel)
This release is also the first release to be tracked by Zenodo.
JOSS paper submission release
The version of teiphy
as submitted to the Journal of Open Source Software. Changes since the initial release include support for origDate
elements containing chronological data under witness
elements (current only used for conversion to STEMMA format); the addition of a to_distance_matrix
method that returns a NumPy matrix of distances between witnesses; system tests to ensure that outputs for IQTREE, MrBayes, and STEMMA are validated by their respective programs; and further revisions to the paper and documentation.