annotate GO_enrichment/GO_enrichment.py @ 1:ec4d749f467b draft

Deleted selected files
author nanettec
date Wed, 16 Mar 2016 10:16:23 -0400
parents bde64415f03b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
1 """
bde64415f03b Uploaded
nanettec
parents:
diff changeset
2 @summary: GO enrichment analysis (hotspots)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
3 @author: nanette.coetzer@gmail.com
bde64415f03b Uploaded
nanettec
parents:
diff changeset
4 @version 5
bde64415f03b Uploaded
nanettec
parents:
diff changeset
5
bde64415f03b Uploaded
nanettec
parents:
diff changeset
6 """
bde64415f03b Uploaded
nanettec
parents:
diff changeset
7
bde64415f03b Uploaded
nanettec
parents:
diff changeset
8 import optparse, sys
bde64415f03b Uploaded
nanettec
parents:
diff changeset
9 import subprocess
bde64415f03b Uploaded
nanettec
parents:
diff changeset
10 import tempfile
bde64415f03b Uploaded
nanettec
parents:
diff changeset
11 import os, re
bde64415f03b Uploaded
nanettec
parents:
diff changeset
12
bde64415f03b Uploaded
nanettec
parents:
diff changeset
13 def stop_err( msg ):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
14 sys.stderr.write( "%s\n" % msg )
bde64415f03b Uploaded
nanettec
parents:
diff changeset
15 sys.exit()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
16
bde64415f03b Uploaded
nanettec
parents:
diff changeset
17 def __main__():
bde64415f03b Uploaded
nanettec
parents:
diff changeset
18 #Parse Command Line
bde64415f03b Uploaded
nanettec
parents:
diff changeset
19 parser = optparse.OptionParser()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
20 parser.add_option("-n", "--rscript", default=None, dest="rscript",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
21 help="R script")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
22 parser.add_option("-i", "--input1", default=None, dest="input1",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
23 help="Gene universe (Gene positions file)")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
24 parser.add_option("-j", "--input2", default=None, dest="input2",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
25 help="Hotspots genelists all eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
26 parser.add_option("-k", "--input3", default=None, dest="input3",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
27 help="Hotspots genelists cis-eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
28 parser.add_option("-l", "--input4", default=None, dest="input4",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
29 help="Hotspots genelists trans-eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
30 parser.add_option("-m", "--input5", default=None, dest="input5",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
31 help="Gene2GO mapping")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
32 parser.add_option("-o", "--output1", default=None, dest="output1",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
33 help="GO enrichment output; all eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
34 parser.add_option("-p", "--output2", default=None, dest="output2",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
35 help="GO enrichment output; cis eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
36 parser.add_option("-q", "--output3", default=None, dest="output3",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
37 help="GO enrichment output; trans eQTLs")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
38 parser.add_option("-r", "--output4", default=None, dest="output4",
bde64415f03b Uploaded
nanettec
parents:
diff changeset
39 help="Hotspot summary file")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
40
bde64415f03b Uploaded
nanettec
parents:
diff changeset
41 (options, args) = parser.parse_args()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
42
bde64415f03b Uploaded
nanettec
parents:
diff changeset
43 try:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
44 open(options.input1, "r").close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
45 except TypeError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
46 stop_err("You need to supply the Gene Universe file:\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
47 except IOError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
48 stop_err("Can not open the Gene Universe file:\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
49
bde64415f03b Uploaded
nanettec
parents:
diff changeset
50 try:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
51 open(options.input2, "r").close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
52 except TypeError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
53 stop_err("You need to supply the Genes of Interest file (all eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
54 except IOError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
55 stop_err("Can not open the Hotspots genelists file (all eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
56
bde64415f03b Uploaded
nanettec
parents:
diff changeset
57 try:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
58 open(options.input3, "r").close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
59 except TypeError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
60 stop_err("You need to supply the Genes of Interest file (cis-eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
61 except IOError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
62 stop_err("Can not open the Hotspots genelists file (cis-eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
63
bde64415f03b Uploaded
nanettec
parents:
diff changeset
64 try:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
65 open(options.input4, "r").close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
66 except TypeError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
67 stop_err("You need to supply the Genes of Interest file (trnas-eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
68 except IOError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
69 stop_err("Can not open the Hotspots genelists file (trans-eQTLs):\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
70
bde64415f03b Uploaded
nanettec
parents:
diff changeset
71 try:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
72 open(options.input5, "r").close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
73 except TypeError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
74 stop_err("You need to supply the Gene2GO mapping file:\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
75 except IOError, e:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
76 stop_err("Can not open the Gene2GO mapping file:\n" + str(e))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
77
bde64415f03b Uploaded
nanettec
parents:
diff changeset
78 ##########################################################
bde64415f03b Uploaded
nanettec
parents:
diff changeset
79
bde64415f03b Uploaded
nanettec
parents:
diff changeset
80 def uniq(input):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
81 output = []
bde64415f03b Uploaded
nanettec
parents:
diff changeset
82 for x in input:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
83 if x not in output:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
84 output.append(x)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
85 return output
bde64415f03b Uploaded
nanettec
parents:
diff changeset
86
bde64415f03b Uploaded
nanettec
parents:
diff changeset
87 def manage_output(hotspot_nr, tempdir, type):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
88 sign_list = []; p_BP = 0; adjp_BP = 0; p_MF = 0; adjp_MF = 0; p_CC = 0; adjp_CC = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
89
bde64415f03b Uploaded
nanettec
parents:
diff changeset
90 bpfile = open(tempdir+"/GO_table_BP.txt","r")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
91 new_file = open(tempdir+"/hotspot"+str(hotspot_nr)+"_"+str(type)+"_GO_table.txt","w")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
92 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
93 stars = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
94 for line in bpfile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
95 i += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
96 if i > 1:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
97 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
98 new_file.write("\t".join(l[1:])+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
99 if l[9] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
100 p_BP += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
101 if l[10] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
102 adjp_BP += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
103 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
104 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
105 l[0] = "BP_GO.ID"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
106 newl = "\t".join(l)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
107 new_file.write(newl+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
108 bpfile.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
109 stars = 5
bde64415f03b Uploaded
nanettec
parents:
diff changeset
110 name = "tGO_BP_classic_"+str(stars)+"_all.pdf"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
111 full_name = tempdir+"/"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
112 new_name = tempdir+"/hotspot"+str(hotspot_nr)+"_"+str(type)+"_"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
113 s = "mv %s %s" %(full_name, new_name)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
114 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
115 sign_list.append(p_BP)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
116 sign_list.append(adjp_BP)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
117
bde64415f03b Uploaded
nanettec
parents:
diff changeset
118 mffile = open(tempdir+"/GO_table_MF.txt","r")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
119 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
120 stars = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
121 for line in mffile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
122 i += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
123 if i > 1:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
124 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
125 new_file.write("\t".join(l[1:])+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
126 if l[9] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
127 p_MF += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
128 if l[10] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
129 adjp_MF += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
130 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
131 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
132 l[0] = "MF_GO.ID"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
133 newl = "\t".join(l)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
134 new_file.write("\n"+newl+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
135 mffile.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
136 stars = 5
bde64415f03b Uploaded
nanettec
parents:
diff changeset
137 name = "tGO_MF_classic_"+str(stars)+"_all.pdf"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
138 full_name = tempdir+"/"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
139 new_name = tempdir+"/hotspot"+str(hotspot_nr)+"_"+str(type)+"_"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
140 s = "mv %s %s" %(full_name, new_name)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
141 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
142 sign_list.append(p_MF)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
143 sign_list.append(adjp_MF)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
144
bde64415f03b Uploaded
nanettec
parents:
diff changeset
145 ccfile = open(tempdir+"/GO_table_CC.txt","r")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
146 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
147 stars = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
148 for line in ccfile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
149 i += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
150 if i > 1:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
151 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
152 new_file.write("\t".join(l[1:])+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
153 if l[9] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
154 p_CC += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
155 if l[10] == "\"*\"":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
156 adjp_CC += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
157 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
158 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
159 l[0] = "CC_GO.ID"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
160 newl = "\t".join(l)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
161 new_file.write("\n"+newl+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
162 ccfile.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
163 stars = 5
bde64415f03b Uploaded
nanettec
parents:
diff changeset
164 name = "tGO_CC_classic_"+str(stars)+"_all.pdf"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
165 full_name = tempdir+"/"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
166 new_name = tempdir+"/hotspot"+str(hotspot_nr)+"_"+str(type)+"_"+name
bde64415f03b Uploaded
nanettec
parents:
diff changeset
167 s = "mv %s %s" %(full_name, new_name)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
168 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
169 new_file.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
170 sign_list.append(p_CC)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
171 sign_list.append(adjp_CC)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
172 return sign_list
bde64415f03b Uploaded
nanettec
parents:
diff changeset
173
bde64415f03b Uploaded
nanettec
parents:
diff changeset
174 # Create temp direcotry
bde64415f03b Uploaded
nanettec
parents:
diff changeset
175 tempdir = tempfile.mkdtemp()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
176 #print tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
177 #fixdir = "/lustre/galchew/MeQTL/eQTL_pipeline"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
178 #fixdir = "/Users/nanettecoetzer/Documents/Bioinformatics/MAIZE_project/Hotspots_eQTLs/enrichment_analysis/TopGO/add_to_hotspots_pipeline"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
179
bde64415f03b Uploaded
nanettec
parents:
diff changeset
180 # copy INPUT file to the temp directory
bde64415f03b Uploaded
nanettec
parents:
diff changeset
181 s = "cp %s %s/gene_universe.txt" %(options.input1, tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
182 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
183 s = "cp %s %s/gene2GO_mapping.map" %(options.input5, tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
184 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
185
bde64415f03b Uploaded
nanettec
parents:
diff changeset
186 # create R script => save in temp directory
bde64415f03b Uploaded
nanettec
parents:
diff changeset
187 # generate new header
bde64415f03b Uploaded
nanettec
parents:
diff changeset
188 new_script = open(tempdir+"/new_script.r","w")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
189 header = "setwd(\"%s\")" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
190 new_script.write(header+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
191 # add script body
bde64415f03b Uploaded
nanettec
parents:
diff changeset
192 script = open(options.rscript,"r")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
193 #script = open(fixdir+"/TopGO_pipeline_new.txt","r")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
194 for line in script:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
195 new_script.write(line.strip()+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
196 new_script.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
197
bde64415f03b Uploaded
nanettec
parents:
diff changeset
198 # get 2 parents
bde64415f03b Uploaded
nanettec
parents:
diff changeset
199 #infile = open(options.input2,'r')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
200 #parents = []
bde64415f03b Uploaded
nanettec
parents:
diff changeset
201 #for line in infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
202 # l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
203 # if not line.startswith("=") and len(l) > 4:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
204 # parents.append(l[12])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
205 #parent_list = uniq(parents)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
206 #infile.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
207
bde64415f03b Uploaded
nanettec
parents:
diff changeset
208 summary_file = open(options.output4,'w')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
209 summary_file.write("Type\tNumber\tChr\tSliding_IDs\tInterval_IDs\tNum_eQTLs\tParent_neg_additive\tParent_pos_additive\tBP_pVal<0.01\tBP_adj_pVal<0.05\tMF_pVal<0.01\tMF_adj_pVal<0.05\tCC_pVal<0.01\tCC_adj_pVal<0.05\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
210
bde64415f03b Uploaded
nanettec
parents:
diff changeset
211 ############################## all eQTLs ##############################
bde64415f03b Uploaded
nanettec
parents:
diff changeset
212 hotspot_nr = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
213 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
214 parent1 = 0 # Parent_neg_additive
bde64415f03b Uploaded
nanettec
parents:
diff changeset
215 parent2 = 0 # Parent_pos_additive
bde64415f03b Uploaded
nanettec
parents:
diff changeset
216 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
217 infile2 = open(options.input2,'r')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
218 for line in infile2:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
219 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
220 if line.startswith("="):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
221 hotspot = l[0].split("Hotspot")[1].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
222 chr = l[0].split("Hotspot")[1].split(" ")[4]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
223 sliding_IDs = l[1].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
224 int_IDs = l[2].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
225 nr_eqtl = l[3].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
226 if hotspot_nr == 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
227 summary_file.write("All\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
228 #print "All\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
229 if hotspot_nr != 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
230 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
231 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
232 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
233 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
234 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
235 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
236 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
237 sign_GO = manage_output(hotspot_nr, tempdir, "all")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
238 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
239 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
240 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
241 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
242 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
243 summary_file.write("All\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
244 #print "All\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
245 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
246 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
247 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
248 # write a new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
249 hotspot_nr += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
250 interesting_genes = open(tempdir+"/interesting_genes.txt",'w')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
251 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
252 if len(l) > 4:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
253 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
254 gene_id = l[0]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
255 parent = l[12]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
256 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
257 if gene_id != "":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
258 interesting_genes.write(gene_id+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
259 count_eqtl += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
260 #if parent == parent_list[0]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
261 # parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
262 #if parent == parent_list[1]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
263 # parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
264 if float(parent) < 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
265 parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
266 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
267 parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
268 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
269 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
270 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
271 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
272 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
273 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
274 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
275 sign_GO = manage_output(hotspot_nr, tempdir, "all")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
276 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
277 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
278 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
279 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
280 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
281 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
282 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
283 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
284 infile2.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
285
bde64415f03b Uploaded
nanettec
parents:
diff changeset
286 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
287 filenames = []
bde64415f03b Uploaded
nanettec
parents:
diff changeset
288 os.chdir(tempdir+"/")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
289 for files in os.listdir("."):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
290 if (files.endswith(".txt") and files.startswith("hotspot")):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
291 filenames.append(files)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
292 filenames = sorted(filenames)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
293
bde64415f03b Uploaded
nanettec
parents:
diff changeset
294 with open(tempdir+"/"+"hotspots_all_GO_tables.txt","w") as outfile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
295 for fname in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
296 outfile.write("\n"+fname+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
297 with open(tempdir+"/"+fname) as infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
298 for line in infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
299 outfile.write(line)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
300
bde64415f03b Uploaded
nanettec
parents:
diff changeset
301 #for f in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
302 # os.remove(f)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
303
bde64415f03b Uploaded
nanettec
parents:
diff changeset
304 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
305
bde64415f03b Uploaded
nanettec
parents:
diff changeset
306 tempdir2 = tempfile.mkdtemp()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
307 s = "zip -j %s/output.zip %s/hotspot*" %(tempdir2,tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
308 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
309 s = "rm %s/hotspot*" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
310 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
311
bde64415f03b Uploaded
nanettec
parents:
diff changeset
312 # move the zipped temp directory to options.output
bde64415f03b Uploaded
nanettec
parents:
diff changeset
313 os.system("mv %s/output.zip %s" %(tempdir2,options.output1))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
314
bde64415f03b Uploaded
nanettec
parents:
diff changeset
315
bde64415f03b Uploaded
nanettec
parents:
diff changeset
316 ############################## cis eQTLs ##############################
bde64415f03b Uploaded
nanettec
parents:
diff changeset
317 hotspot_nr = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
318 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
319 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
320 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
321 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
322 infile3 = open(options.input3,'r')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
323 for line in infile3:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
324 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
325 if line.startswith("="):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
326 hotspot = l[0].split("Hotspot")[1].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
327 chr = l[0].split("Hotspot")[1].split(" ")[4]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
328 sliding_IDs = l[1].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
329 int_IDs = l[2].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
330 nr_eqtl = l[3].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
331 if hotspot_nr == 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
332 summary_file.write("Cis\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
333 #print "Cis\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
334 if hotspot_nr != 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
335 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
336 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
337 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
338 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
339 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
340 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
341 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
342 sign_GO = manage_output(hotspot_nr, tempdir, "cis")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
343 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
344 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
345 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
346 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
347 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
348 summary_file.write("Cis\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
349 #print "Cis\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
350 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
351 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
352 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
353 # write a new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
354 hotspot_nr += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
355 interesting_genes = open(tempdir+"/interesting_genes.txt",'w')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
356 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
357 if len(l) > 4:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
358 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
359 gene_id = l[0]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
360 parent = l[12]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
361 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
362 if gene_id != "":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
363 interesting_genes.write(gene_id+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
364 count_eqtl += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
365 #if parent == parent_list[0]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
366 # parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
367 #if parent == parent_list[1]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
368 # parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
369 if float(parent) < 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
370 parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
371 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
372 parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
373 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
374 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
375 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
376 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
377 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
378 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
379 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
380 sign_GO = manage_output(hotspot_nr, tempdir, "cis")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
381 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
382 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
383 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
384 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
385 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
386 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
387 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
388 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
389 infile3.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
390
bde64415f03b Uploaded
nanettec
parents:
diff changeset
391 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
392 filenames = []
bde64415f03b Uploaded
nanettec
parents:
diff changeset
393 os.chdir(tempdir+"/")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
394 for files in os.listdir("."):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
395 if (files.endswith(".txt") and files.startswith("hotspot")):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
396 filenames.append(files)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
397 filenames = sorted(filenames)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
398
bde64415f03b Uploaded
nanettec
parents:
diff changeset
399 with open(tempdir+"/"+"hotspots_cis_GO_tables.txt","w") as outfile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
400 for fname in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
401 outfile.write("\n"+fname+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
402 with open(tempdir+"/"+fname) as infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
403 for line in infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
404 outfile.write(line)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
405
bde64415f03b Uploaded
nanettec
parents:
diff changeset
406 #for f in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
407 # os.remove(f)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
408
bde64415f03b Uploaded
nanettec
parents:
diff changeset
409 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
410
bde64415f03b Uploaded
nanettec
parents:
diff changeset
411 tempdir2 = tempfile.mkdtemp()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
412 s = "zip -j %s/output.zip %s/hotspot*" %(tempdir2,tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
413 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
414 s = "rm %s/hotspot*" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
415 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
416
bde64415f03b Uploaded
nanettec
parents:
diff changeset
417 # move the zipped temp directory to options.output
bde64415f03b Uploaded
nanettec
parents:
diff changeset
418 os.system("mv %s/output.zip %s" %(tempdir2,options.output2))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
419
bde64415f03b Uploaded
nanettec
parents:
diff changeset
420
bde64415f03b Uploaded
nanettec
parents:
diff changeset
421 ############################## trans eQTLs ##############################
bde64415f03b Uploaded
nanettec
parents:
diff changeset
422 hotspot_nr = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
423 i = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
424 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
425 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
426 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
427 infile4 = open(options.input4,'r')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
428 for line in infile4:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
429 l = line.strip().split("\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
430 if line.startswith("="):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
431 hotspot = l[0].split("Hotspot")[1].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
432 chr = l[0].split("Hotspot")[1].split(" ")[4]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
433 sliding_IDs = l[1].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
434 int_IDs = l[2].split(": ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
435 nr_eqtl = l[3].split(" ")[1]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
436 if hotspot_nr == 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
437 summary_file.write("Trans\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
438 #print "Trans\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
439 if hotspot_nr != 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
440 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
441 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
442 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
443 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
444 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
445 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
446 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
447 sign_GO = manage_output(hotspot_nr, tempdir, "trans")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
448 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
449 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
450 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
451 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
452 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
453 summary_file.write("Trans\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
454 #print "Trans\t"+hotspot+"\t"+chr+"\t"+sliding_IDs+"\t"+int_IDs+"\t"+nr_eqtl+"\t"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
455 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
456 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
457 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
458 # write a new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
459 hotspot_nr += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
460 interesting_genes = open(tempdir+"/interesting_genes.txt",'w')
bde64415f03b Uploaded
nanettec
parents:
diff changeset
461 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
462 if len(l) > 4:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
463 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
464 gene_id = l[0]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
465 parent = l[12]
bde64415f03b Uploaded
nanettec
parents:
diff changeset
466 # populate the new interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
467 if gene_id != "":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
468 interesting_genes.write(gene_id+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
469 count_eqtl += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
470 #if parent == parent_list[0]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
471 # parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
472 #if parent == parent_list[1]:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
473 # parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
474 if float(parent) < 0:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
475 parent1 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
476 else:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
477 parent2 += 1
bde64415f03b Uploaded
nanettec
parents:
diff changeset
478 interesting_genes.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
479 # run R script from temp directory --> for the previous hotspot
bde64415f03b Uploaded
nanettec
parents:
diff changeset
480 s = "R CMD BATCH %s/new_script.r out.txt" %tempdir
bde64415f03b Uploaded
nanettec
parents:
diff changeset
481 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
482 # remove old interesting genes file
bde64415f03b Uploaded
nanettec
parents:
diff changeset
483 #s = "rm %s/interesting_genes.txt" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
484 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
485 sign_GO = manage_output(hotspot_nr, tempdir, "trans")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
486 percentage_1 = round(int(parent1)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
487 percentage_2 = round(int(parent2)/float(count_eqtl)*100,1)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
488 sGO = str(sign_GO[0])+"\t"+str(sign_GO[1])+"\t"+str(sign_GO[2])+"\t"+str(sign_GO[3])+"\t"+str(sign_GO[4])+"\t"+str(sign_GO[5])
bde64415f03b Uploaded
nanettec
parents:
diff changeset
489 summary_file.write(str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
490 #print str(percentage_1)+"\t"+str(percentage_2)+"\t"+str(sGO)+"\n"
bde64415f03b Uploaded
nanettec
parents:
diff changeset
491 parent1 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
492 parent2 = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
493 count_eqtl = 0
bde64415f03b Uploaded
nanettec
parents:
diff changeset
494 infile4.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
495
bde64415f03b Uploaded
nanettec
parents:
diff changeset
496 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
497 filenames = []
bde64415f03b Uploaded
nanettec
parents:
diff changeset
498 os.chdir(tempdir+"/")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
499 for files in os.listdir("."):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
500 if (files.endswith(".txt") and files.startswith("hotspot")):
bde64415f03b Uploaded
nanettec
parents:
diff changeset
501 filenames.append(files)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
502 filenames = sorted(filenames)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
503
bde64415f03b Uploaded
nanettec
parents:
diff changeset
504 with open(tempdir+"/"+"hotspots_trans_GO_tables.txt","w") as outfile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
505 for fname in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
506 outfile.write("\n"+fname+"\n")
bde64415f03b Uploaded
nanettec
parents:
diff changeset
507 with open(tempdir+"/"+fname) as infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
508 for line in infile:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
509 outfile.write(line)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
510
bde64415f03b Uploaded
nanettec
parents:
diff changeset
511 #for f in filenames:
bde64415f03b Uploaded
nanettec
parents:
diff changeset
512 # os.remove(f)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
513
bde64415f03b Uploaded
nanettec
parents:
diff changeset
514 ############
bde64415f03b Uploaded
nanettec
parents:
diff changeset
515
bde64415f03b Uploaded
nanettec
parents:
diff changeset
516 tempdir2 = tempfile.mkdtemp()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
517 s = "zip -j %s/output.zip %s/hotspot*" %(tempdir2,tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
518 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
519 s = "rm %s/hotspot*" %(tempdir)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
520 subprocess.call(s, shell=True)
bde64415f03b Uploaded
nanettec
parents:
diff changeset
521
bde64415f03b Uploaded
nanettec
parents:
diff changeset
522 # move the zipped temp directory to options.output
bde64415f03b Uploaded
nanettec
parents:
diff changeset
523 os.system("mv %s/output.zip %s" %(tempdir2,options.output3))
bde64415f03b Uploaded
nanettec
parents:
diff changeset
524 summary_file.close()
bde64415f03b Uploaded
nanettec
parents:
diff changeset
525
bde64415f03b Uploaded
nanettec
parents:
diff changeset
526 ##############################################
bde64415f03b Uploaded
nanettec
parents:
diff changeset
527
bde64415f03b Uploaded
nanettec
parents:
diff changeset
528 if __name__=="__main__":
bde64415f03b Uploaded
nanettec
parents:
diff changeset
529 __main__()