mirror of
https://github.com/Priyatham-sai-chand/compara-deep-learning.git
synced 2026-10-05 08:11:34 -07:00
37 lines
952 B
Python
37 lines
952 B
Python
from ete3 import Tree
|
|
import numpy as np
|
|
|
|
def create_tree_data(treename,df):
|
|
t=Tree(treename)
|
|
branch_lengths_s=[]
|
|
branch_lengths_hs=[]
|
|
dist=[]
|
|
ns=[]
|
|
nhs=[]
|
|
for index,row in df.iterrows():
|
|
d=0
|
|
x=row["species"]
|
|
y=row["homology_species"]
|
|
bl=[]
|
|
c=0
|
|
mca=t.get_common_ancestor(x,y)
|
|
node=t&x
|
|
while node.up!=mca:
|
|
d+=node.dist
|
|
bl.append(node.dist)
|
|
node=node.up
|
|
c+=1
|
|
ns.append(c)
|
|
c=0
|
|
branch_lengths_s.append(bl)
|
|
bl=[]
|
|
node=t&y
|
|
while node.up!=mca:
|
|
d+=node.dist
|
|
bl.append(node.dist)
|
|
node=node.up
|
|
c+=1
|
|
nhs.append(c)
|
|
branch_lengths_hs.append(bl)
|
|
dist.append(d)
|
|
return np.array(branch_lengths_s),np.array(branch_lengths_hs),np.array(dist),np.array(ns),np.array(nhs)
|