annotate mirgene_ultra_v2.py @ 4:88b3ef865431 draft

Uploaded
author glogobyte
date Fri, 16 Oct 2020 18:54:54 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
1 from mirgene_functions import *
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
2 from mirgene_graphs import *
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
3 import itertools
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
4 import time
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
5 import sys
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
6 import os
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
7 import urllib.request
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
8 import gzip
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
9 from multiprocessing import Process, Queue, Lock, Pool, Manager, Value
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
10 import subprocess
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
11 import argparse
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
12 from collections import OrderedDict
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
13 from matplotlib.backends.backend_pdf import PdfPages
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
14 import pandas as pd
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
15 from math import pi
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
16 import numpy as np
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
17 import matplotlib.pyplot as plt
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
18 from matplotlib.ticker import PercentFormatter
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
19 import seaborn as sns
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
20 import scipy.stats as stats
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
21 from plotnine import *
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
22 import math
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
23 import re
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
24 import matplotlib.ticker as mtick
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
25 import copy
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
26
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
27 subprocess.call(['mkdir','-p', 'split1','split2','split3','split4','split11','split12','Counts','Diff/temp_con','Diff/temp_tre','Diff/n_temp_con','Diff/n_temp_tre'])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
28
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
29 parser = argparse.ArgumentParser()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
30 parser.add_argument("-analysis", "--anal", help="choose type of analysis", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
31 parser.add_argument("-con", "--control", help="input fastq file", nargs='+', default=[])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
32 parser.add_argument("-tre", "--treated", help="input fastq file", nargs='+', default=[] )
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
33 parser.add_argument("-tool_dir", "--tool_directory", help="tool directory path", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
34 parser.add_argument("-gen", "--org_name", help="tool directory path", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
35 parser.add_argument("-program", "--pro", help="choose type of analysis", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
36 parser.add_argument("-f", "--flag", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
37 parser.add_argument("-umis", "--umi", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
38 parser.add_argument("-percentage", "--per", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
39 parser.add_argument("-counts", "--count", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
40 parser.add_argument("-name1", "--n1", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
41 parser.add_argument("-name2", "--n2", help="choose the database", action="store")
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
42 args = parser.parse_args()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
43
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
44 #########################################################################3###############################################################################################################################################################################################
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
45
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
46 if __name__ == '__main__':
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
47
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
48 starttime = time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
49
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
50 q1 = Queue()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
51 q2 = Queue()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
52 lock = Lock()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
53 manager = Manager()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
54
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
55 mature_mirnas=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
56 ps_mature=Process(target=download_matures,args=(mature_mirnas,args.org_name))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
57 ps_mature.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
58
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
59 args.control[0]=args.control[0][1:]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
60 args.control[len(args.control)-1][:-1]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
61 control = [(args.control[i:i+2]) for i in range(0, len(args.control), 2)]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
62
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
63 args.treated[0]=args.treated[0][1:]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
64 args.treated[len(args.treated)-1][:-1]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
65 treated = [(args.treated[i:i+2]) for i in range(0, len(args.treated), 2)]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
66
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
67
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
68 ############## Detection of templated isoforms ################
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
69
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
70 radar = manager.list([0,0,0,0])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
71 samples = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
72 data= manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
73 names_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
74 samples_mirna_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
75 deseq=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
76 unmap_seq=manager.Value('i',0)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
77 unmap_counts=manager.Value('i',0)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
78 LH2E_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
79 ini_c_samples = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
80
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
81
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
82 radar1 = manager.list([0,0,0,0])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
83 samples1 = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
84 data1 = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
85 names_tre = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
86 samples_mirna_names1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
87 deseq1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
88 unmap1_seq = manager.Value('i',0)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
89 unmap1_counts = manager.Value('i',0)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
90 LH8E_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
91 ini_t_samples = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
92 ps_mature.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
93
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
94
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
95 mature_mirnas=list(mature_mirnas)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
96
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
97 starttime1 = time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
98 ps_sam = [Process(target=sam,args=(mature_mirnas,path[1][:-1],path[0].split(",")[0],"c",lock,samples,data,names_con,unmap_seq,samples_mirna_names,deseq,LH2E_names,"0",ini_c_samples,unmap_counts)) for path in control]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
99 ps_sam.extend([Process(target=sam,args=(mature_mirnas,path[1][:-1],path[0].split(",")[0],"t",lock,samples1,data1,names_tre,unmap1_seq,samples_mirna_names1,deseq1,LH8E_names,"0",ini_t_samples,unmap1_counts)) for path in treated])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
100
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
101 [p.start() for p in ps_sam]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
102 [p.join() for p in ps_sam]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
103 print('SAM took {} seconds'.format(time.time() - starttime1))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
104
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
105 ps_hist=[Process(target=hist_red,args=(ini_c_samples,'c'))]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
106 ps_hist.extend([Process(target=hist_red,args=(ini_t_samples,'t'))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
107 [x.start() for x in ps_hist]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
108
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
109 starttime200=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
110 sc = list(samples)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
111 st = list(samples1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
112
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
113 names_con=list(names_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
114 names_tre=list(names_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
115 samples_mirna_names=list(samples_mirna_names)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
116 samples_mirna_names.sort()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
117 samples_mirna_names=list(samples_mirna_names for samples_mirna_names,_ in itertools.groupby(samples_mirna_names))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
118
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
119 samples_mirna_names1=list(samples_mirna_names1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
120 samples_mirna_names1.sort()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
121 samples_mirna_names1=list(samples_mirna_names1 for samples_mirna_names1,_ in itertools.groupby(samples_mirna_names1))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
122
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
123 deseq=list(deseq)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
124 deseq1=list(deseq1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
125
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
126 new_names_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
127 new_names_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
128 new_deseq=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
129 new_deseq1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
130 ps_deseq=[Process(target=deseqe2,args=(sampp,samples_mirna_names,lock,new_deseq,names_con[i],new_names_con)) for i,sampp in enumerate(deseq)]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
131 ps_deseq.extend([Process(target=deseqe2,args=(sampp,samples_mirna_names1,lock,new_deseq1,names_tre[i],new_names_tre)) for i,sampp in enumerate(deseq1)])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
132
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
133 [z.start() for z in ps_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
134 [z.join() for z in ps_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
135 new_deseq=list(new_deseq)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
136 new_deseq1=list(new_deseq1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
137
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
138 LH2E=[[x[0],x[2]] for x in new_deseq[0]]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
139 [LH2E[i].append(y[i][1]) for i,_ in enumerate(LH2E) for y in new_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
140
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
141 LH8E=[[x[0],x[2]] for x in new_deseq1[0]]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
142 [LH8E[i].append(y[i][1]) for i,_ in enumerate(LH8E) for y in new_deseq1]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
143
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
144 print('Deseq took {} seconds'.format(time.time() - starttime200))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
145
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
146 merg_nam_LH2E=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
147 merg_nam_LH8E=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
148
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
149 LH2E_copy=copy.deepcopy(list(LH2E))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
150 LH8E_copy=copy.deepcopy(list(LH8E))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
151
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
152 fil_sort_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
153 fil_sort_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
154 raw_sort_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
155 raw_sort_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
156
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
157 ps_main = Process(target=main_temp,args=(list(LH2E), samples_mirna_names, list(LH8E), samples_mirna_names1,1,list(names_con),list(names_tre),fil_sort_tre,fil_sort_con,raw_sort_tre,raw_sort_con,args.per,args.count))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
158 ps_main.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
159
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
160 if args.anal=="2":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
161 all_iso = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
162 ps_non_iso = Process(target=non_template_ref,args=(sc,st,all_iso))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
163 ps_non_iso.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
164
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
165 ps_merge = [Process(target=merging_names,args=(LH2E_copy,merg_nam_LH2E))]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
166 ps_merge.extend([Process(target=merging_names,args=(LH8E_copy,merg_nam_LH8E))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
167 [x.start() for x in ps_merge]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
168 [x.join() for x in ps_merge]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
169
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
170 merg_nam_LH2E=list(merg_nam_LH2E)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
171 merg_nam_LH8E=list(merg_nam_LH8E)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
172
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
173 starttime2 = time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
174 procs = [Process(target=DB_write,args=(x[0],x[1],x[2],x[3],1)) for x in data]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
175 procs.extend([Process(target=DB_write,args=(x[0],x[1],x[2],x[3],1)) for x in data1])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
176 procs.extend([Process(target=make_spider,args=(merg_nam_LH2E,merg_nam_LH8E))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
177 if args.anal == "1":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
178 procs.extend([Process(target=pie_temp,args=(merg_nam_LH2E,unmap_seq.value,unmap_counts.value,merg_nam_LH8E,unmap1_seq.value,unmap1_counts.value))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
179
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
180 [p.start() for p in procs]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
181
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
182 if args.anal=="1":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
183 [x.join() for x in ps_hist]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
184 [p.join() for p in procs]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
185 ps_pdf = Process(target=pdf_before_DE,args=(args.anal))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
186 ps_pdf.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
187
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
188 print('Graphs took {} seconds'.format(time.time() - starttime2))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
189
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
190 ps_main.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
191
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
192 fil_sort_con=list(fil_sort_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
193 fil_sort_tre=list(fil_sort_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
194 if fil_sort_con==[]:
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
195 fil_sort_con=raw_sort_con
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
196 fil_sort_tre=raw_sort_tre
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
197
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
198 raw_sort_con=list(raw_sort_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
199 raw_sort_tre=list(raw_sort_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
200 names_con=list(new_names_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
201 names_tre=list(new_names_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
202
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
203 ps_write = Process(target=write_main,args=(raw_sort_con, raw_sort_tre, fil_sort_con, fil_sort_tre, names_con,names_tre,1,args.per,args.n1,args.n2))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
204 ps_write.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
205
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
206 ps1_matrix = [Process(target=ssamples,args=(names_con,fil_sort_con,"Diff/temp_con/",0))]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
207 ps1_matrix.extend([Process(target=ssamples,args=(names_tre,fil_sort_tre,"Diff/temp_tre/",0))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
208 [p.start() for p in ps1_matrix]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
209
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
210 if args.anal=="1":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
211 ps_pdf.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
212 if args.anal=="2":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
213 [p.join() for p in procs]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
214 [x.join() for x in ps_hist]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
215
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
216 ps_write.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
217 [p.join() for p in ps1_matrix]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
218
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
219 ############################## Detection of Both #######################################
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
220
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
221 starttime10 = time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
222
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
223 if args.anal == "2":
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
224
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
225 n_data= manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
226 n_names_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
227 n_samples_mirna_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
228 n_deseq=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
229 n_LH2E_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
230
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
231 n_data1 = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
232 n_names_tre = manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
233 n_samples_mirna_names1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
234 n_deseq1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
235 n_LH8E_names=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
236
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
237 new_mat_mirnas = list(mature_mirnas)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
238 ps_non_iso.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
239
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
240 all_iso=list(all_iso)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
241 new_mat_mirnas.extend(all_iso)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
242
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
243 starttime11=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
244
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
245 ps_sam = [Process(target=non_sam,args=(new_mat_mirnas,path[1][:-1],path[0].split(",")[0],"c",lock,n_data,n_names_con,n_deseq,n_samples_mirna_names,n_LH2E_names)) for path in control]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
246 ps_sam.extend([Process(target=non_sam,args=(new_mat_mirnas,path[1][:-1],path[0].split(",")[0],"t",lock,n_data1,n_names_tre,n_deseq1,n_samples_mirna_names1,n_LH8E_names)) for path in treated])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
247
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
248 [p.start() for p in ps_sam]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
249 [p.join() for p in ps_sam]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
250
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
251 print('Non-sam took {} seconds'.format(time.time() - starttime11))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
252
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
253 starttime12=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
254
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
255 n_names_con=list(n_names_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
256 n_names_tre=list(n_names_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
257 n_samples_mirna_names=list(n_samples_mirna_names)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
258 n_samples_mirna_names.sort()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
259 n_samples_mirna_names=list(n_samples_mirna_names for n_samples_mirna_names,_ in itertools.groupby(n_samples_mirna_names))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
260
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
261
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
262 n_samples_mirna_names1=list(n_samples_mirna_names1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
263 n_samples_mirna_names1.sort()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
264 n_samples_mirna_names1=list(n_samples_mirna_names1 for n_samples_mirna_names1,_ in itertools.groupby(n_samples_mirna_names1))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
265
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
266 n_deseq=list(n_deseq)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
267 n_deseq1=list(n_deseq1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
268
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
269 new_n_names_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
270 new_n_names_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
271 n_new_deseq=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
272 n_new_deseq1=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
273 ps_deseq=[Process(target=deseqe2,args=(sampp,n_samples_mirna_names,lock,n_new_deseq,n_names_con[i],new_n_names_con)) for i,sampp in enumerate(n_deseq)]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
274 ps_deseq.extend([Process(target=deseqe2,args=(sampp,n_samples_mirna_names1,lock,n_new_deseq1,n_names_tre[i],new_n_names_tre)) for i,sampp in enumerate(n_deseq1)])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
275
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
276 [x.start() for x in ps_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
277 [x.join() for x in ps_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
278 n_new_deseq=list(n_new_deseq)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
279 n_new_deseq1=list(n_new_deseq1)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
280
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
281 n_LH2E=[[x[0],x[2]] for x in n_new_deseq[0]]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
282 [n_LH2E[i].append(y[i][1]) for i,_ in enumerate(n_LH2E) for y in n_new_deseq]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
283
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
284 n_LH8E=[[x[0],x[2]] for x in n_new_deseq1[0]]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
285 [n_LH8E[i].append(y[i][1]) for i,_ in enumerate(n_LH8E) for y in n_new_deseq1]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
286
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
287 print('Non-deseq took {} seconds'.format(time.time() - starttime12))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
288
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
289 merg_nam_n_LH2E=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
290 merg_nam_n_LH8E=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
291
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
292 n_LH2E_copy=copy.deepcopy(list(n_LH2E))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
293 n_LH8E_copy=copy.deepcopy(list(n_LH8E))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
294
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
295 n_fil_sort_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
296 n_fil_sort_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
297 n_raw_sort_con=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
298 n_raw_sort_tre=manager.list()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
299
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
300 ps_main = Process(target=main_temp,args=(list(n_LH2E), n_samples_mirna_names, list(n_LH8E), n_samples_mirna_names1,1,list(n_names_con),list(n_names_tre),n_fil_sort_tre,n_fil_sort_con,n_raw_sort_tre,n_raw_sort_con,args.per,args.count))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
301 ps_main.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
302
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
303 starttime14=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
304 ps_merge = [Process(target=merging_names,args=(n_LH2E_copy,merg_nam_n_LH2E))]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
305 ps_merge.extend([Process(target=merging_names,args=(n_LH8E_copy,merg_nam_n_LH8E))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
306 [p.start() for p in ps_merge]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
307 [p.join() for p in ps_merge]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
308
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
309 merg_nam_n_LH2E=list(merg_nam_n_LH2E)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
310 merg_nam_n_LH8E=list(merg_nam_n_LH8E)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
311
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
312 print('Merging took {} seconds'.format(time.time() - starttime14))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
313
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
314 procs = [Process(target=DB_write,args=(x[0],x[1],x[2],x[3],2)) for x in n_data]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
315 procs.extend([Process(target=DB_write,args=(x[0],x[1],x[2],x[3],2)) for x in n_data1])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
316 procs.extend([Process(target=logo_seq_red,args=(merg_nam_n_LH2E,'c'))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
317 procs.extend([Process(target=logo_seq_red,args=(merg_nam_n_LH8E,'t'))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
318 procs.extend([Process(target=pie_non_temp,args=(merg_nam_LH2E,merg_nam_n_LH2E,merg_nam_LH8E,merg_nam_n_LH8E,unmap_seq.value,unmap1_seq.value,unmap_counts.value,unmap1_counts.value))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
319
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
320
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
321 starttime13=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
322 [p.start() for p in procs]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
323 [p.join() for p in procs]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
324
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
325 print('Graphs took {} seconds'.format(time.time() - starttime13))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
326
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
327 procs1 = Process(target=pdf_before_DE,args=(args.anal))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
328 procs1.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
329 starttime16=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
330 ps_main.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
331 print('Main took {} seconds'.format(time.time() - starttime16))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
332
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
333 starttime15=time.time()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
334 n_fil_sort_con=list(n_fil_sort_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
335 n_fil_sort_tre=list(n_fil_sort_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
336 if n_fil_sort_con==[]:
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
337 n_fil_sort_con=n_raw_sort_con
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
338 n_fil_sort_tre=n_raw_sort_tre
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
339
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
340 n_raw_sort_con=list(n_raw_sort_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
341 n_raw_sort_tre=list(n_raw_sort_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
342 n_names_con=list(new_n_names_con)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
343 n_names_tre=list(new_n_names_tre)
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
344
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
345 ps_write = Process(target=write_main,args=(n_raw_sort_con, n_raw_sort_tre,n_fil_sort_con, n_fil_sort_tre, n_names_con, n_names_tre,2,args.per,args.n1,args.n2))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
346 ps_write.start()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
347
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
348 ps1_matrix = [Process(target=ssamples1,args=(n_names_con,n_fil_sort_con,names_con,fil_sort_con,"Diff/n_temp_con/",0))]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
349 ps1_matrix.extend([Process(target=ssamples1,args=(n_names_tre,n_fil_sort_tre,names_tre,fil_sort_tre,"Diff/n_temp_tre/",0))])
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
350 [p.start() for p in ps1_matrix]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
351
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
352 ps_write.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
353 [p.join() for p in ps1_matrix]
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
354 procs1.join()
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
355 print('Files took {} seconds'.format(time.time() - starttime15))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
356 print('That took {} seconds'.format(time.time() - starttime10))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
357 print('That took {} seconds'.format(time.time() - starttime))
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
358
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
359
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
360
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
361
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
362
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
363
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
364
88b3ef865431 Uploaded
glogobyte
parents:
diff changeset
365