I am using godon to find genes under positive selection with the branch-site test. However, after running for a little while I get the error "panic: division of zero by zero or infinity by infinity".

Below is the full output with the error report. I can supply the phylogenetic tree and fasta file I am using if that would be helpful. Thank you.

iter=33 lnL=-73104.072
iter=66 lnL=-72956.855
iter=99 lnL=-72912.956
iter=131 lnL=-72902.900
iter=162 lnL=-72900.147
iter=194 lnL=-72898.562
iter=226 lnL=-72897.970
iter=258 lnL=-72897.651
iter=289 lnL=-72897.435
iter=321 lnL=-72897.284
iter=353 lnL=-72897.199
iter=385 lnL=-72897.153
iter=416 lnL=-72897.108
iter=448 lnL=-72897.076
iter=17 lnL=-72890.551
panic: division of zero by zero or infinity by infinity goroutine 1 [running]: math/big.(*Float).Quo(0xc4273a8f40, 0xc4273a8f68, 0xc4273a8f18, 0xc42e88c118) /usr/local/go/src/math/big/float.go:1639 +0x15c bitbucket.org/Davydov/godon/cmodel.(*BranchSite).BEBPosterior(0xc422164120, 0xc4259bb900, 0x91, 0x91) /go/src/bitbucket.org/Davydov/godon/cmodel/bs.go:416 +0x6e9 bitbucket.org/Davydov/godon/cmodel.(*BranchSite).Final(0xc422164120, 0x101) /go/src/bitbucket.org/Davydov/godon/cmodel/bs.go:455 +0x112 main.computeFinal(0x1f263a0, 0xc422164120, 0xc4201522a0, 0x101, 0x6a80, 0x0) /go/src/bitbucket.org/Davydov/godon/godon/optimize.go:150 +0x93 main.performSingleTest(0xc420162320, 0xc428266000, 0x9399, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/bitbucket.org/Davydov/godon/godon/hyptest.go:335 +0x1b52 main.hypTest(0x1ee03a7, 0x1ee03a7, 0x4, 0xc4201aa501, 0x1, 0x1) /go/src/bitbucket.org/Davydov/godon/godon/hyptest.go:88 +0x71a main.main() /go/src/bitbucket.org/Davydov/godon/godon/godon.go:316 +0xefa

  • $\begingroup$ Hi, sorry about delay. Apparently I didn't subscribe properly to the tag. Anyhow this looks like a bug to me, would be great if you could open an issue on bitbucket and attach an example file together with options you used to run software. bitbucket.org/Davydov/godon/issues $\endgroup$ Feb 2, 2021 at 12:56

1 Answer 1


Ah wait you mentioned a branch sites test, right that makes sense. You've got two or more identical sequences in the analysis. Ensure there are no identical sequences in your alignments and ... PRESTO! It will work :-)

Below are my original thoughts before I re-read your question. I've kept the notes because it helps explain the theory a bit. There is no need to supply the tree, it should be resolved.

The tree likelihood looks to be decreasing nicely, so it can see both the tree and the codons in the alignment.

At a guess the error relates to two or more indentical nucleotide sequences in your alignment. Thus zero non-synonymous sites (amino acid change) and zero synonymous (silent) sites. This error would only occur if you were calculating selection for each 'node' in the tree (internal branch). Alternatively, possibly if the number of synonymous sites was zero, regardless of the non-synonymous mutations this error could appear, but this doesn't seem to fit the error output.

I don't know "Godon", but recommend PAML for this analysis. Admittedly it is complicated to deploy, but it is a very robust algorithm and hugely respected.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.