Hi,
"for descendant in node_7.traverse():" It does return the corresponding subtree. But when I further want to process it "for get_my_evol_events" to mark for duplication, I get error with node must have more than 1 child. I am still unable to detect deep paralog.
For more clarity, please find attached an image, where I was able to obtain the circled subtree as an "S" type through "get_my_evol_events". However, it has a deep paralog. I intend to leave out one of them and pick the node with more species (leave out 850, retain 557, 7147) which is more of a python problem.
for ev in events:
if ev.etype == "S":
print 'ORTHOLOGY RELATIONSHIP:', ','.join(ev.out_seqs)
for descendant in ev.node.traverse():
print "descendant is:", descendant
subevent = descendant.get_my_evol_events()
for subev in subevent:
if subev.etype =="D":
print "Deep Paralog event:", ','.join(subev.in_seqs), "<==>", ','.join(subev.out_seqs)
What is the reason for error? Please give your suggestions.
Thanks,
Arun