compara-deep-learning/open_synteny_matrices.py

76 lines
2 KiB
Python
Raw Normal View History

2019-06-10 09:37:49 -07:00
import numpy as np
import os
import json
from read_data import read_data_homology
import matplotlib.pyplot as plt
import seaborn as sns
a_h,_=read_data_homology("data_homology")
ndir="processed/synteny_matrices/"
nf1="synteny_matrices_global_"
nf2="synteny_matrices_local_"
nf3="indexes_"
lsy={}
with open("processed/neighbor_genes.json","r") as file:
lsy=dict(json.load(file))
synteny_matrices_global=np.load(ndir+nf1+"11"+".npy")
synteny_matrices_local=np.load(ndir+nf2+"11"+".npy")
indexes=np.load(ndir+nf3+"11"+".npy")
df=a_h[0].loc[indexes]
inddict={}
for i in range(len(indexes)):
inddict[indexes[i]]=i
while(1):
i=int(input("Enter the index"))
if i in inddict:
print("Species",df.loc[i].species)
print("Homology Species",df.loc[i].homology_species)
print("Gene Stable Id:",df.loc[i].gene_stable_id)
print("Homology Gene Stable Id:",df.loc[i].homology_gene_stable_id)
print("Global aligned matrix:")
g1=df.loc[i].gene_stable_id
g2=df.loc[i].homology_gene_stable_id
x=[]
y=[]
for n in range(len(lsy[g1]['b'])-1,-1,-1):
x.append(lsy[g1]['b'][n])
x.append(g1)
for k in lsy[g1]['f']:
x.append(k)
for n in range(len(lsy[g2]['b'])-1,-1,-1):
y.append(lsy[g2]['b'][n])
y.append(g2)
for k in lsy[g2]['f']:
y.append(k)
loc=inddict[i]
sg=synteny_matrices_global[loc]
sl=synteny_matrices_local[loc]
for m in range(sg.shape[-1]):
matrix=sg[:,:,m]
print(matrix)
hmap=sns.heatmap(matrix,xticklabels=y, yticklabels=x,annot=True)
plt.show()
print("Local Alignment Matrix")
for m in range(sg.shape[-1]):
matrix=sl[:,:,m]
print(matrix)
hmap=sns.heatmap(matrix,xticklabels=y, yticklabels=x,annot=True)
plt.show()
else:
print("Index not found")