Skip to content

Releases: sjspielman/pyvolve

Pyvolve v1.1.0

06 Dec 15:01
Compare
Choose a tag to compare
  • Bug fixed related to random seed specification to Evolver(), including updating rng engine with numpy Generator method. (Issue #22)
  • Added new feature to allow PAML amino-acid models to be directly provided as a model without needing to make a custom model (Issue #23)

Pyvolve v1.0.3

28 Dec 14:55
Compare
Choose a tag to compare

A few small bug fixes:

Pyvolve v1.0.2

06 Oct 13:39
Compare
Choose a tag to compare

Patch update to address a numerical tolerance bug in the ECMunrest model stationary frequencies.

Pyvolve v1.0.1

29 Jan 15:06
d435ef9
Compare
Choose a tag to compare

Patch to fix a bug that caused pyvolve to crash when counting substitutions over branch lengths that are <=1e-8

Pyvolve v1.0.0

27 Oct 18:51
Compare
Choose a tag to compare

A new major release of pyvolve! Key new features include..

  1. When calling an Evolver instance, you can specify the algorithm of simulation to be the Gillespie ("jump chain") algorithm. Rather than exponentiating the matrix to simulate substitutions, this algorithm simulates waiting times for individual changes. Activate with the argument algorithm=1. The default (exponentiation) is algorithm=0.

  2. Pyvolve will now track the number of substitutions which occur along each branch. These values are guaranteed to be accurate when setting algorithm=1, but will almost certainly be underestimates when algorithm=0. When algorithm=1, individual substitutions are directly recorded, but with algorithm=0 the calculations are simply P-distance calculations, which might be correct at very small branch lengths but don't trust it. There are two ways to access this information:

    • call up the Evolver attribute, e.g. for a variable called my_evolver, as my_evolver.branch_substitution_counts. This will give a dictionary of counts for each relevant class of substitutions (nucleotide, amino acid, synonymous changes, or custom if you are using a custom code) for each branch. If internal nodes are not labeled, pyvolve will do it for you; examine this by printing the processed tree with print_tree().
    • specify a countfile when calling your Evolver instance, e.g. countfile = "my_countfile.csv". This will write a CSV to that file containing all the information in the dictionary.

Happy pyvolving!

Pyvolve v0.9.2

11 Oct 16:11
Compare
Choose a tag to compare

Identical to 0.9.1 but named to match PyPI.

Pyvolve v0.9.1

11 Oct 15:55
Compare
Choose a tag to compare

Fixed incorrect implementation of AB protein model and added several more protein models, totaling:
ab
blosum62
cprev
dayhoff
dayhoffdcmut
flu
hivb
hivw
jtt
jttdcmut
lg
mtart
mtinv
mtmam
mtmet
mtrev24
mtver
mtzoa
pmb
rtrev
vt
wag
jc69 (aka poisson)
gcprev

Pyvolve v0.9.0

23 Oct 13:28
Compare
Choose a tag to compare

Addressed a bug in the LG matrix

Pyvolve v0.8.9

22 Aug 13:35
Compare
Choose a tag to compare

Addresses a bug in the specification of +G+I models.

Pyvolve v0.8.8

12 Apr 14:31
Compare
Choose a tag to compare

Inclusion of six additional protein models: HIVW, HIVB, mtMet, mtInv, mtVer, gcpREV.