Skip to content

Commit eea8787

Browse files
committed
Fixed update_het_probs.py
1 parent c378d13 commit eea8787

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

update_het_probs.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,37 @@
1-
import genome.db
1+
import genome.db, gzip, argparse, math
22

33
def main():
44
error=0.01
55
args=parse_options()
6-
infile=open(args.infile,,"r")
7-
outfile=open(args.outfile,,"w")
6+
if args.infile[-3:]==".gz":
7+
infile=gzip.open(args.infile,"r")
8+
else:
9+
infile=open(args.infile,"r")
10+
if args.outfile[-3:]==".gz":
11+
outfile=gzip.open(args.outfile,"w")
12+
else:
13+
outfile=open(args.outfile,"w")
814

915
gdb = genome.db.GenomeDB()
10-
ref_track=gdb.open_track("10_IND/all_counts/ref_counts_%s" % ind)
11-
alt_track=gdb.open_track("10_IND/all_counts/alt_counts_%s" % ind)
16+
ref_track=gdb.open_track(args.ref_track)
17+
alt_track=gdb.open_track(args.alt_track)
1218

13-
snp_line=infile.read_line()
19+
snp_line=infile.readline()
1420
if snp_line:
1521
outfile.write(snp_line)
1622
else:
1723
sys.stderr.write("The input file was empty.\n")
1824
exit()
1925

20-
snp_line=infile.read_line()
26+
snp_line=infile.readline()
2127
while snp_line:
22-
snpinfo=snpline.strip().split()
23-
new_hetps=process_one_snp(snpinfo, ref_track, alt_track,error)
24-
outfile.write("\t".join(snpinfo[:10]+";".join(new_hetps)+snpinfo[11:])+"\n")
25-
snp_line=infile.read_line()
28+
snpinfo=snp_line.strip().split()
29+
if snpinfo[9]=="NA":
30+
outfile.write(snp_line)
31+
else:
32+
new_hetps=process_one_snp(snpinfo, ref_track, alt_track,error)
33+
outfile.write("\t".join(snpinfo[:10]+[";".join(new_hetps)]+snpinfo[11:])+"\n")
34+
snp_line=infile.readline()
2635

2736

2837
def process_one_snp(snpinfo, ref_track, alt_track,error):
@@ -36,7 +45,7 @@ def process_one_snp(snpinfo, ref_track, alt_track,error):
3645
pos=snplocs[i]
3746
adr=ref_track.get_nparray(chrm, pos, pos)[0]
3847
ada=alt_track.get_nparray(chrm, pos, pos)[0]
39-
update_hetps.append(get_posterior_hetp(hetps[i],adr,ada,error))
48+
update_hetps.append(str(get_posterior_hetp(hetps[i],adr,ada,error)))
4049
return update_hetps
4150

4251

@@ -56,7 +65,9 @@ def parse_options():
5665
parser=argparse.ArgumentParser()
5766
parser.add_argument("infile", action='store', default=None)
5867
parser.add_argument("outfile", action='store', default=None)
59-
parser.add_argument("reffile", action='store', default=None)
60-
parser.add_argument("altfile", action='store', default=None)
68+
parser.add_argument("ref_track", action='store', default=None)
69+
parser.add_argument("alt_track", action='store', default=None)
6170

6271
return parser.parse_args()
72+
73+
main()

0 commit comments

Comments
 (0)