Warning: "the network obtained by putting the new hybrid in node -9 is not good, inCycle,gammaz,containRoot: Bool[true, true, false], we will skip it"

65 views
Skip to first unread message

郭岑

unread,
Jul 29, 2019, 10:56:12 AM7/29/19
to PhyloNetworks users
Hey everyone,

I got a warning when I run net2 using runs=10, which is "the network obtained by putting the new hybrid in node -9 is not good, inCycle,gammaz,containRoot: Bool[true, true, false], we will skip it", and when I plot net2 using Rplot, there is a hybrid event in node -9 instead of skipping it. And then I tried to rerun using runs=20 but got the same result:

julia> using PhyloNetworks

julia> raxmlCF = readTrees2CF("/Users/Cenmo/Desktop/phylonetworks/spp14_trees.tre", writeTab=false, writeSummary=false)
will use all quartets on 15 taxa
calculating obsCF from 195 gene trees and for 1365 quartets
Reading in quartets...
0+--------------------------------------------------+100%  
  ****************************************  
Object DataCF
number of quartets: 1365
number of trees: 195

julia> astral = readTopology("/Users/Cenmo/Desktop/phylonetworks/spp14_trees-BS10_astral.tre")

julia> net0 = snaq!(astral,raxmlCF, hmax=0, filename="net0", seed=1234)

julia> net1 = snaq!(net0, raxmlCF, hmax=1, filename="net1", seed=2345)

julia> net2 = snaq!(net1,raxmlCF, hmax=2, filename="net2", seed=3456)
optimization of topology, BL and inheritance probabilities using:
 hmax = 2,
 tolerance parameters: ftolRel=1.0e-6, ftolAbs=1.0e-6,
                       xtolAbs=0.001, xtolRel=0.01.
 max number of failed proposals = 75, liktolAbs = 1.0e-6.
rootname for files: net2
BEGIN: 10 runs on starting tree XXX;
2019-07-14 15:52:33.556
seed: 3456 for run 1, 
seed: 40599 for run 2, 
seed: 57695 for run 3, 
seed: 10390 for run 4, 
seed: 18310 for run 5, 
seed: 56862 for run 6, 
seed: 37911 for run 7, 
seed: 96883 for run 8, 
seed: 83494 for run 9, 
seed: 68985 for run 10, 
best network and networks with different hybrid/gene flow directions printed to .networks file
the network obtained by putting the new hybrid in node -9 is not good, inCycle,gammaz,containRoot: Bool[true, true, false], we will skip it

MaxNet is XXX; 
with -loglik 2287.7337787332767
HybridNetwork, Un-rooted Network
33 edges
32 nodes: 15 tips, 2 hybrid nodes, 15 internal tree nodes.
tip labels: XXX ...
XXX;

Could anyone tell what's wrong with my analysis? Thank you so much!

Guo Cen

Claudia R. Solís-Lemus

unread,
Jul 30, 2019, 7:19:12 PM7/30/19
to PhyloNetworks users
Hello Guo Cen,

I would need to see your network to know which one is node -9, but this warning is mostly for internal purposes. After snaq estimation, we have a network with 2 hybridizations in your case. Each hybridization induces a cycle. One of the nodes in the cycle corresponds to the hybrid node (with two parent edges). All the other nodes in the cycle are tree nodes (with one parent edge). After snaq, we create new networks by changing the hybrid node inside each cycle and we list all these networks in the .networks file.
We do this because sometimes there is signal to detect the presence of the cycle, but not enough signal to distinguish which of the nodes in the cycle is the hybrid node. So, we want to list all possible networks with the same cycles in case one of them has a similar pseudolikelihood score to the best network returned by snaq (net2 in your case).
The warning simply means that we tried to put the hybrid in one node in the cycle, but could not because of the restrictions with the root placement.

I would not worry about this.
If you can share your network (you can email it to me, my email is on my website), I can make sure that there is no bug. But I suspect that the problem is that the warning message is poorly written by me.
So, you can safely ignore it for now.
Claudia

AT

unread,
Dec 12, 2022, 1:28:42 PM12/12/22
to PhyloNetworks users
Hi Claudia and Cèline,

I was trying to used SNaQ, but for hmax = 4 and 5, I get -loglik 0.0. (I checked the out files, and I haven't gotten any errors). However,  I get
the network obtained by putting the new hybrid in node 7 is not good, inCycle,gammaz,containRoot: Bool[1, 1, 0], we will skip it

the network obtained by putting the new hybrid in node -6 is not good, inCycle,gammaz,containRoot: Bool[1, 1, 0], we will skip it

Cèline recommends checking how the concordance factors match between the data and what is expected from your estimated network but I didn't see anything strange.

Could you please give me any advice?.

Thank you

 Best wishes

Alicia
Reply all
Reply to author
Forward
0 new messages