diff --git a/process_data.py b/process_data.py deleted file mode 100644 index a9dd9b0..0000000 --- a/process_data.py +++ /dev/null @@ -1,83 +0,0 @@ -import pandas -import gc -import numpy as np - -def get_nearest_neighbors(g,gs,n,a,d,ld,ldg): - ne=[] - nr=[] - gi=d[gs.capitalize()] - sldf=a[gi] - sld=ld[gi] - sldg=ldg[gi] - if g not in sldg: - return ne - i=sldg[g] - #get the -n neighbors - start=int(sldf.iloc[i,[3]]) - for j in range(n): - #select the column - itemp=0 - end=sldf.iloc[:,4] - end=np.array(end) - assert(len(end)==len(sld)) - end=end-start - end_s=np.argsort(end) - for k in end_s: - if end[k]<0 and end[k+1]>=0: - itemp=k - break - ne.append(sld[itemp]) - start=int(sldf.iloc[itemp,[3]]) - #print(start) - #get the +n neighbors - end=int(sldf.iloc[i,[4]]) - for j in range(n): - itemp=0 - start=sldf.iloc[:,3] - start=np.array(start) - start=start-end - start_s=np.argsort(start) - for k in start_s: - if start[k]>0: - itemp=k - break - nr.append(sld[itemp]) - end=int(sldf.iloc[itemp,[4]]) - - return ne,nr - -ls=[] -ld=[] -def list_dict_genomes(a,n): - for x in a: - ldg={} - uc=list(x["gene_id"]) - for i in range(len(uc)): - ldg[uc[i]]=i - ls.append(uc) - ld.append(ldg) - return ls,ld - -def create_data_homology_ls(a_h,d_h,n,a,d,ld,ldg): - lsy={} #dictionary which stores +/- n genes of the given gene by id. Each key is a gene id which corresponds to the one in center. - lcmap={} #dictionary which stores the gene pairs already considered - t=0 - for df in a_h: - for index,row in df.iterrows(): - x=row["gene_stable_id"] - y=row["homology_gene_stable_id"] - xs=row["species"] - ys=row["homology_species"] - if x+y in lcmap or y+x in lcmap: - continue - if x not in lsy: - xl,xr=get_nearest_neighbors(x,xs,n,a,d,ld,ldg) - lsy[x]=dict(b=xl,f=xr) - if y not in lsy: - yarr=[] - yl,yr=get_nearest_neighbors(y,ys,n,a,d,ld,ldg) - lsy[y]=dict(b=yl,f=yr) - lcmap[x+y]=1 - - - return lsy,lcmap