2019-07-24 04:54:02 -07:00
|
|
|
import pandas as pd
|
|
|
|
|
import numpy as np
|
2019-07-24 03:27:54 -07:00
|
|
|
import sys
|
|
|
|
|
from neighbor_genes import read_genome_maps
|
|
|
|
|
from process_data import create_data_homology_ls
|
|
|
|
|
from threads import Procerssrunner
|
|
|
|
|
from read_get_gene_seq import read_gene_sequences
|
|
|
|
|
from access_data_rest import update_rest
|
|
|
|
|
from prepare_synteny_matrix import read_data_synteny
|
|
|
|
|
from save_data import write_dict_json
|
|
|
|
|
|
2019-07-24 04:54:02 -07:00
|
|
|
|
2019-07-24 03:27:54 -07:00
|
|
|
def read_database_txt(filename):
|
2019-07-24 04:54:02 -07:00
|
|
|
df = pd.read_csv(filename, sep="\t", header=None)
|
|
|
|
|
df = df.drop(0, axis=1)
|
|
|
|
|
df.columns = [
|
|
|
|
|
"gene_stable_id",
|
|
|
|
|
"species",
|
|
|
|
|
"homology_gene_stable_id",
|
|
|
|
|
"homology_species",
|
|
|
|
|
"wga",
|
|
|
|
|
"goc",
|
|
|
|
|
"homology_type"]
|
2019-07-24 03:27:54 -07:00
|
|
|
return df
|
|
|
|
|
|
2019-07-24 04:54:02 -07:00
|
|
|
|
2019-07-24 03:27:54 -07:00
|
|
|
def main():
|
2019-07-24 04:54:02 -07:00
|
|
|
arg = sys.argv
|
|
|
|
|
a, d, ld, ldg, cmap, cimap = read_genome_maps()
|
2019-07-24 03:27:54 -07:00
|
|
|
print("Genome Maps Loaded.")
|
2019-07-24 04:54:02 -07:00
|
|
|
df = read_database_txt(arg[-2])
|
|
|
|
|
nop = int(arg[-1])
|
2019-07-24 03:27:54 -07:00
|
|
|
print("Data Read.")
|
2019-07-24 04:54:02 -07:00
|
|
|
a_h = []
|
|
|
|
|
d_h = []
|
2019-07-24 03:27:54 -07:00
|
|
|
a_h.append(df)
|
|
|
|
|
d_h.append(arg[-2].split(".")[0])
|
2019-07-24 04:54:02 -07:00
|
|
|
n = 3
|
|
|
|
|
lsy = create_data_homology_ls(a_h, d_h, n, a, d, ld, ldg, cmap, cimap, 0)
|
|
|
|
|
write_dict_json("neighbor_genes_negative", "processed", lsy)
|
2019-07-24 03:27:54 -07:00
|
|
|
print("Neighbor Genes Found and Saved Successfully:)")
|
2019-07-24 04:54:02 -07:00
|
|
|
gene_sequences = read_gene_sequences(
|
|
|
|
|
a_h, lsy, "geneseq", "gene_seq_negative")
|
|
|
|
|
gene_sequences = update_rest(gene_sequences, "gene_seq_negative")
|
|
|
|
|
ndir = "processed/synteny_matrices/"
|
|
|
|
|
nf1 = "synteny_matrices_global"
|
|
|
|
|
nf2 = "synteny_matrices_local"
|
|
|
|
|
nf3 = "indexes"
|
2019-07-24 03:27:54 -07:00
|
|
|
for i in range(len(a_h)):
|
2019-07-24 04:54:02 -07:00
|
|
|
df = a_h[i]
|
|
|
|
|
part = len(df) // nop
|
|
|
|
|
pr = Procerssrunner()
|
|
|
|
|
pr.start_processes(nop, df, gene_sequences, lsy, part, n, d_h[i])
|
|
|
|
|
smg, sml, indexes = read_data_synteny(nop, d_h[i])
|
2019-07-24 03:27:54 -07:00
|
|
|
print(len(indexes))
|
2019-07-24 04:54:02 -07:00
|
|
|
np.save(ndir + str(d_h[i]) + "_" + nf1, smg)
|
|
|
|
|
np.save(ndir + str(d_h[i]) + "_" + nf2, sml)
|
|
|
|
|
np.save(ndir + str(d_h[i]) + "_" + nf3, indexes)
|
2019-07-24 03:27:54 -07:00
|
|
|
print("Synteny Matrices Created Successfully :)")
|
|
|
|
|
|
|
|
|
|
|
2019-07-24 04:54:02 -07:00
|
|
|
if __name__ == "__main__":
|
|
|
|
|
main()
|