annotate viz_ultra.py @ 22:a25640ae36df draft

Deleted selected files
author glogobyte
date Wed, 28 Oct 2020 08:49:14 +0000
parents 6db3bd727fde
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
1 import argparse
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
2 from viz_graphs import *
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
3 import sys
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
4 import pandas as pd
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
5 import matplotlib.pyplot as plt
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
6 import matplotlib.patches as mpatches
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
7 import matplotlib.font_manager as font_manager
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
8 import time
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
9 from multiprocessing import Process, Queue, Lock, Pool, Manager, Value
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
10
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
11
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
12 ##################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
13
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
14 def top_diff(miRNA_info, number,flag,l):
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
15
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
16 Kind=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
17
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
18 miRNA_info.sort(key = lambda x: abs(x[1]),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
19 miRNA_info = miRNA_info[:number]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
20 miRNA_info.sort(key = lambda x: x[0])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
21
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
22 for x in miRNA_info:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
23 if x[1] > 0:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
24 Kind.append(True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
25 elif x[1] < 0:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
26 Kind.append(False)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
27 else:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
28 Kind.append("Zero")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
29
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
30 top_miRNA = {"Names": [x[0] for x in miRNA_info],
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
31 "Log2FC": [x[1] for x in miRNA_info],
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
32 "Kind": Kind};
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
33
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
34 df_miRNA = pd.DataFrame(data=top_miRNA)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
35 df_miRNA = df_miRNA.sort_values(by=['Names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
36 if df_miRNA.empty==False:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
37 h1=df_miRNA.plot.barh(x= 'Names',y='Log2FC',color=df_miRNA.Kind.map({True: 'g', False: 'r', 'Zero':'k'}))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
38 figure = plt.gcf() # get current figure
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
39 figure.set_size_inches(5, 12) # set figure's size manually to your full screen (32x18)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
40 up_reg = mpatches.Patch(color='green', label='Upregulated')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
41 down_reg = mpatches.Patch(color='red', label='Downregulated')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
42 font = font_manager.FontProperties(weight='bold', style='normal')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
43 l3 = plt.legend(handles=[up_reg,down_reg],bbox_to_anchor=(1.04,0.5), loc="center left", borderaxespad=0)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
44 h1.set_ylabel(" ", fontsize=3, fontweight='bold')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
45 h1.set_xlabel("Log2FC", fontsize=12, fontweight='bold')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
46 plt.axvline(x=0, color="k")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
47
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
48 plt.grid(axis='y', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
49 plt.grid(axis='x', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
50 if flag=='t':
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
51 plt.savefig('tem.png', bbox_inches='tight', dpi=300)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
52 if flag=='nt':
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
53 plt.savefig('non.png', bbox_inches='tight', dpi=300)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
54
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
55 ####################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
56
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
57 def unique(sequence):
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
58 seen = set()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
59 return [x for x in sequence if not (x in seen or seen.add(x))]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
60
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
61 ###########################################################################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
62
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
63 def top_scatter_non(matures,isoforms,non_temp,uni_names,number):
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
64
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
65 mat_names=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
66 mat_log2fc=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
67
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
68 iso_names=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
69 iso_log2fc=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
70
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
71 non_temp_names=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
72 non_temp_log2fc=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
73
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
74 count=0
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
75 for x in uni_names:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
76 flag = False
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
77 if count<number:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
78 for y in matures:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
79 if x in y[0]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
80 mat_log2fc.append(y[1])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
81 mat_names.append(x)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
82 flag=True
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
83 for y in isoforms:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
84 if x in y[0]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
85 iso_log2fc.append(y[1])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
86 iso_names.append(x)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
87 flag=True
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
88 for y in non_temp:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
89 if x in y[0]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
90 non_temp_log2fc.append(y[1])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
91 non_temp_names.append(x)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
92 flag=True
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
93 if flag==True:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
94 count+=1
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
95
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
96 mat_df = pd.DataFrame(dict(names=mat_names, log2fc=mat_log2fc))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
97 iso_df = pd.DataFrame(dict(names=iso_names, log2fc=iso_log2fc))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
98 non_df = pd.DataFrame(dict(names=non_temp_names, log2fc= non_temp_log2fc))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
99
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
100 iso_df.sort_values(by=['names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
101 mat_df.sort_values(by=['names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
102 non_df.sort_values(by=['names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
103
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
104 fig, ax = plt.subplots()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
105
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
106 h3=ax.scatter(iso_df['log2fc'],iso_df['names'],edgecolors='k',linewidth=1, marker='o', c='red')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
107 h1=ax.scatter(mat_df['log2fc'],mat_df['names'],edgecolors='k',linewidth=1, marker='o', c='green')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
108 h2=ax.scatter(non_df['log2fc'],non_df['names'],edgecolors='k',linewidth=1, marker='o', c='blue')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
109
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
110 l3 = plt.legend([h1,h2,h3],["Reference miRNA","Non-template","Template isomiRs"],bbox_to_anchor=(1.04,0.5), loc="center left", borderaxespad=0)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
111 plt.axvline(x=0, color="k")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
112 plt.grid(axis='y', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
113 plt.grid(axis='x', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
114 plt.xlabel("Log2FC", fontsize=12, fontweight='bold')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
115 plt.yticks(rotation=0,ha="right", fontsize=10)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
116 plt.xticks(rotation=0,ha="right", fontsize=10)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
117 plt.tight_layout()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
118 figure = plt.gcf() # get current figure
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
119 figure.set_size_inches(16, 12) # set figure's size manually to your full screen (32x18)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
120 plt.savefig('a2.png', bbox_inches='tight', dpi=300)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
121
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
122 #########################################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
123 def top_scatter_tem(matures,isoforms,uni_names,number):
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
124
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
125 mat_names=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
126 mat_log2fc=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
127
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
128 iso_names=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
129 iso_log2fc=[]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
130
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
131 count=0
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
132 for x in uni_names:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
133 flag = False
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
134 if count<number:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
135 for y in matures:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
136 if x in y[0]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
137 mat_log2fc.append(y[1])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
138 mat_names.append(x)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
139 flag=True
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
140 for y in isoforms:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
141 if x in y[0]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
142 iso_log2fc.append(y[1])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
143 iso_names.append(x)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
144 flag=True
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
145 if flag==True:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
146 count+=1
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
147
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
148 mat_df = pd.DataFrame(dict(names=mat_names, log2fc=mat_log2fc))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
149 iso_df = pd.DataFrame(dict(names=iso_names, log2fc=iso_log2fc))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
150
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
151 iso_df.sort_values(by=['names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
152 mat_df.sort_values(by=['names'])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
153
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
154 fig, ax = plt.subplots()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
155
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
156 h3=ax.scatter(iso_df['log2fc'],iso_df['names'],edgecolors='k',linewidth=1, marker='o', c='red')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
157 h1=ax.scatter(mat_df['log2fc'],mat_df['names'],edgecolors='k',linewidth=1, marker='o', c='green')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
158
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
159 l3 = plt.legend([h1,h3],["Reference miRNA","Template isomiRs"],bbox_to_anchor=(1.04,0.5), loc="center left", borderaxespad=0)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
160 plt.axvline(x=0, color="k")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
161 plt.grid(axis='y', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
162 plt.grid(axis='x', linewidth=0.2)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
163 plt.xlabel("Log2FC", fontsize=12, fontweight='bold')
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
164 plt.yticks(rotation=0,ha="right", fontsize=10)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
165 plt.xticks(rotation=0,ha="right", fontsize=10)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
166 plt.tight_layout()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
167 figure = plt.gcf() # get current figure
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
168 figure.set_size_inches(16, 12) # set figure's size manually to your full screen (32x18)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
169 plt.savefig('a2.png', bbox_inches='tight', dpi=300)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
170
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
171
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
172 ##############################################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
173 def preproccess(non_templated,matures,isoforms,log2fc,pval):
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
174
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
175 non_temp = [[x[0],float(x[1]),float(x[2])] for x in non_templated if abs(float(x[1]))>log2fc and float(x[2])<pval]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
176 mat = [[x[0],float(x[1]),float(x[2])] for x in matures if abs(float(x[1]))>log2fc and float(x[2])<pval]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
177 iso = [[x[0],float(x[1]),float(x[2])] for x in isoforms if abs(float(x[1]))>log2fc and float(x[2])<pval]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
178 mat_iso = mat+iso
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
179
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
180 if not non_temp and not mat and not iso:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
181 sys.exit("There aren't entries which meet these criteria")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
182
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
183 mat.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
184 iso.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
185 non_temp.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
186
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
187 all=mat+iso+non_temp
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
188 all.sort(key = lambda x: abs(float(x[1])), reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
189 names=[x[0].split("_")[0] for x in all]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
190 uni_names=unique(names)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
191
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
192 diff_non_templated = [[x[0],float(x[1]),float(x[2])] for x in non_templated if abs(float(x[1]))>1 and float(x[2])<pval and x[0].split("_")[0] in uni_names]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
193 diff_matures = [[x[0],float(x[1]),float(x[2])] for x in matures if abs(float(x[1]))>1 and float(x[2])<pval and x[0].split("_")[0] in uni_names]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
194 diff_isoforms = [[x[0],float(x[1]),float(x[2])] for x in isoforms if abs(float(x[1]))>1 and float(x[2])<pval and x[0].split("_")[0] in uni_names]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
195
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
196 diff_matures.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
197 diff_isoforms.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
198 diff_non_templated.sort(key = lambda x: abs(float(x[1])),reverse=True)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
199
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
200 return diff_matures,diff_isoforms,diff_non_templated,uni_names,non_temp,mat_iso
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
201
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
202 ##################################################################################################################################################################################################################################################################
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
203 starttime = time.time()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
204
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
205 parser = argparse.ArgumentParser()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
206 parser.add_argument("-in", "--input", help="choose type of analysis", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
207 parser.add_argument("-p_value", "--pval", help="choose type of analysis", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
208 parser.add_argument("-fc", "--log2fc", help="choose type of analysis", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
209 parser.add_argument("-top", "--top_mirnas", help="choose type of analysis", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
210 parser.add_argument("-tool_dir", "--tool_directory", help="tool directory path", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
211 parser.add_argument("-statistic", "--stat", help="tool directory path", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
212 parser.add_argument("-diff_tool", "--tool", help="tool directory path", action="store")
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
213
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
214 args = parser.parse_args()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
215
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
216 l=Lock()
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
217 number = int(args.top_mirnas)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
218 log2fc = float(args.log2fc)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
219 pval = float(args.pval)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
220
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
221 if args.tool=="2":
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
222
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
223 raw_EdgeR = read(args.input,0)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
224 EdgeR = [x.rstrip("\n").split("\t") for x in raw_EdgeR]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
225 del EdgeR[0]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
226
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
227 if args.stat=="1":
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
228 non_templated = [[x[0],x[1],x[4]] for x in EdgeR if "__" in x[0] and x[1]!="NA" and x[4]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
229 matures = [[x[0],x[1],x[4]] for x in EdgeR if 'chr' in x[0].split("_")[-1] and "__" not in x[0] and x[1]!="NA" and x[4]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
230 isoforms = [[x[0],x[1],x[4]] for x in EdgeR if 'chr' not in x[0].split("_")[-1] and "__" not in x[0] and x[1]!="NA" and x[4]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
231 else:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
232 non_templated = [[x[0],x[1],x[5]] for x in EdgeR if "__" in x[0] and x[1]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
233 matures = [[x[0],x[1],x[5]] for x in EdgeR if 'chr' in x[0].split("_")[-1] and "__" not in x[0] and x[1]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
234 isoforms = [[x[0],x[1],x[5]] for x in EdgeR if 'chr' not in x[0].split("_")[-1] and "__" not in x[0] and x[1]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
235
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
236 if args.tool=="1":
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
237
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
238 raw_Deseq = read(args.input,0)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
239 Deseq = [x.rstrip("\n").split("\t") for x in raw_Deseq]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
240
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
241 if args.stat=="1":
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
242 non_templated = [[x[0],x[2],x[5]] for x in Deseq if "__" in x[0] and x[2]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
243 matures = [[x[0],x[2],x[5]] for x in Deseq if 'chr' in x[0].split("_")[-1] and "__" not in x[0] and x[2]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
244 isoforms = [[x[0],x[2],x[5]] for x in Deseq if 'chr' not in x[0].split("_")[-1] and "__" not in x[0] and x[2]!="NA" and x[5]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
245 else:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
246 non_templated = [[x[0],x[2],x[6]] for x in Deseq if "__" in x[0] and x[2]!="NA" and x[6]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
247 matures = [[x[0],x[2],x[6]] for x in Deseq if 'chr' in x[0].split("_")[-1] and "__" not in x[0] and x[2]!="NA" and x[6]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
248 isoforms = [[x[0],x[2],x[6]] for x in Deseq if 'chr' not in x[0].split("_")[-1] and "__" not in x[0] and x[2]!="NA" and x[6]!="NA"]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
249
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
250
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
251 diff_matures,diff_isoforms,diff_non_templated,names,non_temp,mat_iso = preproccess(non_templated,matures,isoforms,log2fc,pval)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
252
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
253 if non_templated!=[]:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
254 analysis="2"
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
255 p=[Process(target=top_diff,args=(non_temp,number,"nt",l))]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
256 p.extend([Process(target=top_diff,args=(mat_iso,number,"t",l))])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
257 p.extend([Process(target=top_scatter_non,args=(diff_matures,diff_isoforms,diff_non_templated,names,number))])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
258
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
259 else:
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
260 analysis="1"
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
261 p=[Process(target=top_diff,args=(mat_iso,number,"t"))]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
262 p.extend([Process(target=top_scatter_tem,args=(diff_matures,diff_isoforms,names,number))])
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
263
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
264 [x.start() for x in p]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
265 [x.join() for x in p]
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
266
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
267 pdf_after_DE(analysis,args.top_mirnas)
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
268
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
269 print('That took {} seconds'.format(time.time() - starttime))
6db3bd727fde Uploaded
glogobyte
parents:
diff changeset
270