You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
there might be a problem with the way the species overlap threshold is implemented.
With default parameters, sos_thr = 0, ete3 reports speciation events in my tree. However, when increasing this threshold, even marginally (e.g. sos_thr = 0.0000001), no speciation event is reported while we would expect to have more (or at least the same number).
# If species overlap: duplication
if score > sos_thr:# and d > 0.0: Removed branch control.
event.node = current.up
event.etype = "D"
event.outparalogs = set([n.name for n in sister_leaves if n.species == ref_spcs])
event.orthologs = set([])
current.up.add_feature("evoltype","D")
all_events.append(event)
# If NO species overlap: speciation
**elif score == sos_thr:**
event.node = current.up
event.etype = "S"
event.orthologs = set([n.name for n in sister_leaves if n.species != ref_spcs])
event.outparalogs = set([])
current.up.add_feature("evoltype","S")
all_events.append(event)
else:
pass # do not add event if distances == 0
I do not quite understand the 'elif score == sos_thr:' ... there should be cases where score < sos_thr (e.g. cases where speciation events appear because the score is below the threshold).
best,
Romain
The text was updated successfully, but these errors were encountered:
I haven't used the 'get_descendant_evol_events' function.
At the end, I wrote my own function that is slightly different from the 'get_my_evol_events'. But I wanted to point the issue in case other peoples were interested in using 'get_my_evol_events'.
there might be a problem with the way the species overlap threshold is implemented.
With default parameters, sos_thr = 0, ete3 reports speciation events in my tree. However, when increasing this threshold, even marginally (e.g. sos_thr = 0.0000001), no speciation event is reported while we would expect to have more (or at least the same number).
If correct, I think the problem comes from here:
https://github.com/etetoolkit/ete/blob/master/ete3/phylo/spoverlap.py
I do not quite understand the 'elif score == sos_thr:' ... there should be cases where score < sos_thr (e.g. cases where speciation events appear because the score is below the threshold).
best,
Romain
The text was updated successfully, but these errors were encountered: