-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshared_sp.final.py
More file actions
90 lines (66 loc) · 2.89 KB
/
Copy pathshared_sp.final.py
File metadata and controls
90 lines (66 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import sys
def main():
C01_ann_snp_file = sys.argv[1]
E01_ann_snp_file = sys
C01_ann_snp_file = "/rd/caiya/fly/snp_sjy/C01.filter.norm.merfin.filter.afdp.ann.vcf.snp.out"
E01_ann_snp_file = "/rd/caiya/fly/snp_sjy/E01.filter.norm.merfin.filter.afdp.ann.vcf.snp.out"
C01_sp_snp_file = "/rd/caiya/fly/snp_sjy/minimap2/csp_strict1.csv.repeat.out"
E01_sp_snp_file = "/rd/caiya/fly/snp_sjy/minimap2/esp_strict1.csv.repeat.out"
out_file = path + "C01_E01.filter.norm.merfin.filter.afdp.ann.vcf.shared_sp.snp.out"
final = open(out_file, "w")
C01_sp_list = {}
with open(C01_sp_snp_file, "r") as Csp:
for line in Csp:
line = line.rstrip("\n")
ll = line.split("\t")
csp_chr = ll[0]
csp_pos = int(ll[1])
C01_sp_list.setdefault(csp_chr, {})[csp_pos] = 1
E01_sp_list = {}
with open(E01_sp_snp_file, "r") as Esp:
for line in Esp:
line = line.rstrip("\n")
ll = line.split("\t")
esp_chr = ll[0]
esp_pos = int(ll[1])
E01_sp_list.setdefault(esp_chr, {})[esp_pos] = 1
E01_total_list = {}
with open(E01_ann_snp_file, "r") as Eannnsp:
for line in Eannnsp:
if not line.startswith("#"):
line = line.rstrip("\n")
ll = line.split("\t")
Eannsnp_chr = ll[0]
Eannnsp_pos = int(ll[1])
shared_sp_tag = "shared"
if Eannsnp_chr in E01_sp_list:
for esp_pos in E01_sp_list[Eannsnp_chr]:
if esp_pos == Eannnsp_pos:
shared_sp_tag = "E01_sp"
break
E01_total_list.setdefault(Eannsnp_chr, {})[Eannnsp_pos] = line + "\t" + shared_sp_tag
C01_total_list = {}
with open(C01_ann_snp_file, "r") as Cannnsp:
for line in Cannnsp:
if not line.startswith("#"):
line = line.rstrip("\n")
ll = line.split("\t")
Cannsnp_chr = ll[0]
Cannnsp_pos = int(ll[1])
shared_sp_tag = "shared"
if Cannsnp_chr in C01_sp_list:
for csp_pos in C01_sp_list[Cannsnp_chr]:
if csp_pos == Cannnsp_pos:
shared_sp_tag = "C01_sp"
break
if shared_sp_tag != "C01_sp":
if Cannsnp_chr in E01_total_list:
for Eannnsp_pos in E01_total_list[Cannsnp_chr]:
if Eannnsp_pos == Cannnsp_pos:
E01_total_list[Cannsnp_chr][Eannnsp_pos] = 0
final.write(line + "\t" + shared_sp_tag + "\n")
for Eannsnp_chr in E01_total_list:
for Eannnsp_pos in E01_total_list[Eannsnp_chr]:
if E01_total_list[Eannsnp_chr][Eannnsp_pos] != 0:
final.write(E01_total_list[Eannsnp_chr][Eannnsp_pos] + "\n")
final.close()