annotate mirbase_ultra_v2.py @ 0:99e8a03f8802 draft

Uploaded
author glogobyte
date Fri, 16 Oct 2020 18:53:05 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1 from mirbase_functions import *
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
2 from mirbase_graphs import *
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
3 import itertools
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
4 import time
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
5 import sys
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
6 import os
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
7 import urllib.request
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
8 import gzip
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
9 from multiprocessing import Process, Queue, Lock, Pool, Manager, Value
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
10 import subprocess
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
11 import argparse
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
12 from collections import OrderedDict
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
13 from matplotlib.backends.backend_pdf import PdfPages
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
14 import pandas as pd
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
15 from math import pi
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
16 import numpy as np
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
17 import matplotlib.pyplot as plt
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
18 from matplotlib.ticker import PercentFormatter
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
19 import seaborn as sns
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
20 import scipy.stats as stats
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
21 from plotnine import *
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
22 import math
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
23 import re
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
24 import matplotlib.ticker as mtick
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
25 import copy
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
26
99e8a03f8802 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'])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
28
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
29 parser = argparse.ArgumentParser()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
30 parser.add_argument("-analysis", "--anal", help="choose type of analysis", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
31 parser.add_argument("-con", "--control", help="input fastq file", nargs='+', default=[])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
32 parser.add_argument("-tre", "--treated", help="input fastq file", nargs='+', default=[] )
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
33 parser.add_argument("-tool_dir", "--tool_directory", help="tool directory path", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
34 parser.add_argument("-gen", "--org_name", help="tool directory path", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
35 parser.add_argument("-program", "--pro", help="choose type of analysis", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
36 parser.add_argument("-f", "--flag", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
37 parser.add_argument("-umis", "--umi", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
38 parser.add_argument("-percentage", "--per", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
39 parser.add_argument("-counts", "--count", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
40 parser.add_argument("-name1", "--n1", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
41 parser.add_argument("-name2", "--n2", help="choose the database", action="store")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
42 args = parser.parse_args()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
43
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
44 #########################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
45
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
46 def collapse_sam(path):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
47
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
48 ini_sam=read(path,0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
49 main_sam = [x.rstrip("\n").split("\t") for x in ini_sam if "@" not in x.split("\t")[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
50 intro_sam = [x.rstrip("\n").split("\t") for x in ini_sam if "@" in x.split("\t")[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
51
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
52 uni_seq = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
53 for x in main_sam:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
54
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
55 if [x[2], x[9]] not in uni_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
56 uni_seq.append([x[2], x[9]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
57
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
58 new_main_sam=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
59 incr_num=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
60 for i in range(len(uni_seq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
61 count=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
62 incr_num+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
63 for y in main_sam:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
64 if uni_seq[i][1]==y[9] and uni_seq[i][0]==y[2]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
65 count+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
66 temp=y
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
67 temp[10]="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
68 temp[0]=str(incr_num)+"-"+str(count)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
69 new_main_sam.append(temp)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
70
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
71 new_sam=intro_sam+new_main_sam
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
72
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
73 return new_sam
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
74
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
75 #################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
76
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
77 def duplicate_chroms_isoforms(List):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
78
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
79 dupes=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
80
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
81 for num in range(len(List)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
82
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
83 if [List[num][9],List[num][0],List[num][2]] not in dupes :
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
84 dupes.append([List[num][9],List[num][0],List[num][2]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
85
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
86 for x in List:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
87 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
88 if x[9]==y[0] and x[0]==y[1] and x[2].split("_")[0]==y[2].split("_")[0] and x[2]!=y[2]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
89 y.append(x[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
90
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
91
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
92 double_List = [x[:] for x in List]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
93
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
94 chr_order=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
95 for x in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
96 temp = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
97 for i in range(2,len(x)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
98 if x[i].split("chr")[1].split("(")[0].isdigit():
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
99 temp.append(int(x[i].split("chr")[1].split("(")[1][0]+x[i].split("chr")[1].split("(")[0]))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
100 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
101 temp.append(x[i].split("chr")[1][0:4])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
102
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
103 for z in temp:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
104 if 'X(-)'==z or 'Y(-)'==z or 'X(+)'==z or 'Y(+)'==z:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
105 temp = [str(j) for j in temp]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
106 temp=list(set(temp))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
107 temp.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
108 chr_order.append(temp)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
109
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
110 final_dupes=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
111 for i in range(len(dupes)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
112 final_dupes.append([dupes[i][0],dupes[i][2].split("_")[0],dupes[i][1]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
113 for x in chr_order[i]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
114 result = re.match("[-+]?\d+$", str(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
115 if len(chr_order[i]) == len(set(chr_order[i])):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
116 if result is not None:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
117
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
118 if int(x)<0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
119 final_dupes[i][1]=final_dupes[i][1]+"_chr"+str(abs(int(x)))+"(-)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
120 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
121 final_dupes[i][1] = final_dupes[i][1] + "_chr" + str(abs(int(x)))+"(+)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
122 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
123 final_dupes[i][1] = final_dupes[i][1] + "_chr" + str(x)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
124 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
125 if result is not None:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
126 if int(x) < 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
127 final_dupes[i][1] = final_dupes[i][1] +dupes[i][2].split("_")[1]+ "_chr" + str(abs(int(x))) + "(-)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
128 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
129 final_dupes[i][1] = final_dupes[i][1] +dupes[i][2].split("_")[1]+ "_chr" + str(abs(int(x))) + "(+)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
130 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
131 final_dupes[i][1] = final_dupes[i][1] +dupes[i][2].split("_")[1]+ "_chr" + str(x)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
132
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
133 final_dupes.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
134 final_dupes=list(final_dupes for final_dupes,_ in itertools.groupby(final_dupes))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
135
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
136 for i in range(len(double_List)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
137 for x in final_dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
138
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
139 if double_List[i][9] == x[0] and double_List[i][0] == x[2] and len(double_List[i][2].split("_")) >3 and double_List[i][2].split("_")[0]==x[1].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
140 gg=str("_"+double_List[i][2].split("_")[-2]+"_"+double_List[i][2].split("_")[-1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
141 double_List[i][2] = x[1]+gg
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
142
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
143 if double_List[i][9]==x[0] and double_List[i][0]== x[2] and len(double_List[i][2].split("_"))==3 and double_List[i][2].split("_")[0]==x[1].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
144 double_List[i][2]=x[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
145 List[i][2] = x[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
146
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
147 List.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
148 new_list=list(List for List,_ in itertools.groupby(List))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
149
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
150 double_List.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
151 new_double_List = list(double_List for double_List, _ in itertools.groupby(double_List))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
152
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
153 return new_list, new_double_List
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
154
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
155
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
156 #############################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
157
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
158 def sam(mature_mirnas,path,name,con,l,samples,data,names,unmap_seq,samples_mirna_names,deseq,LHE_names,umi,ini_sample,unmap_counts):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
159
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
160 # read the sam file
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
161 ini_sam=read(path,0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
162 new_main_sam = [x.rstrip("\n").split("\t") for x in ini_sam if "@" not in x.split("\t")[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
163 unique_seq = [x for x in new_main_sam if x[1] == '0' and len(x[9])>=18 and len(x[9])<=26]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
164
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
165 sorted_uni_arms = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
166
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
167 for i in range(len(mature_mirnas)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
168 tmp_count_reads = 0 # calculate the total number of reads
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
169 tmp_count_seq = 0 # calculate the total number of sequences
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
170 for j in range(len(unique_seq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
171
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
172 if "{" in unique_seq[j][2].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
173 official=unique_seq[j][2].split("_")[0][:-4]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
174 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
175 official=unique_seq[j][2].split("_")[0]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
176
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
177 if mature_mirnas[i].split(" ")[0][1:] == official:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
178
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
179 temp_mature = mature_mirnas[i+1].strip().replace("U", "T")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
180 off_part = longestSubstring(temp_mature, unique_seq[j][9])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
181
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
182 mat_diff = temp_mature.split(off_part)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
183 mat_diff = [len(mat_diff[0]), len(mat_diff[1])]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
184
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
185 unique_diff = unique_seq[j][9].split(off_part)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
186 unique_diff = [len(unique_diff[0]), len(unique_diff[1])]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
187
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
188 # Problem with hsa-miR-8485
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
189 if mat_diff[1]!=0 and unique_diff[1]!=0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
190 unique_seq[j]=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
191 pre_pos = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
192 post_pos = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
193
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
194 elif mat_diff[0]!=0 and unique_diff[0]!=0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
195 unique_seq[j]=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
196 pre_pos = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
197 post_pos = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
198
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
199 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
200 pre_pos = mat_diff[0]-unique_diff[0]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
201 post_pos = unique_diff[1]-mat_diff[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
202 tmp_count_reads = tmp_count_reads + int(unique_seq[j][0].split("-")[1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
203 tmp_count_seq = tmp_count_seq+1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
204
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
205 if pre_pos != 0 or post_pos != 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
206 if pre_pos == 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
207 unique_seq[j][2] = unique_seq[j][2] + "_" +str(pre_pos) + "_" + '{:+d}'.format(post_pos)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
208 elif post_pos == 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
209 unique_seq[j][2] = unique_seq[j][2] + "_" + '{:+d}'.format(pre_pos) + "_" + str(post_pos)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
210 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
211 unique_seq[j][2] = unique_seq[j][2]+"_"+'{:+d}'.format(pre_pos)+"_"+'{:+d}'.format(post_pos)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
212
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
213 for x in range(unique_seq.count(1)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
214 unique_seq.remove(1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
215 if tmp_count_reads != 0 and tmp_count_seq != 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
216 sorted_uni_arms.append([mature_mirnas[i].split(" ")[0][1:], tmp_count_seq, tmp_count_reads])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
217 sorted_uni_arms = sorted(sorted_uni_arms, key=lambda x: x[1], reverse=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
218 dedup_unique_seq,double_fil_uni_seq=duplicate_chroms_isoforms(unique_seq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
219
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
220 for y in sorted_uni_arms:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
221 counts=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
222 seqs=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
223 for x in double_fil_uni_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
224 if y[0]==x[2].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
225 counts+=int(x[0].split("-")[1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
226 seqs+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
227
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
228 y[1]=seqs
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
229 y[2]=counts
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
230
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
231 LHE=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
232 l.acquire()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
233 if con=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
234 LHE.extend(z[2] for z in double_fil_uni_seq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
235 for y in double_fil_uni_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
236 samples_mirna_names.append([y[2],y[9]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
237 deseq.append([[x[2], x[0].split('-')[1], x[9]] for x in double_fil_uni_seq])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
238 LHE_names.extend(LHE)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
239 unmap_seq.value += sum([1 for x in new_main_sam if x[1] == '4'])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
240 unmap_counts.value += sum([int(x[0].split("-")[1]) for x in new_main_sam if x[1] == '4'])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
241 names.append(name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
242 samples.append(dedup_unique_seq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
243 data.append([con,name,double_fil_uni_seq,sorted_uni_arms])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
244 ini_sample.append(new_main_sam)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
245
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
246 if con=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
247 LHE.extend(z[2] for z in double_fil_uni_seq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
248 for y in double_fil_uni_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
249 samples_mirna_names.append([y[2],y[9]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
250 deseq.append([[x[2], x[0].split('-')[1], x[9]] for x in double_fil_uni_seq])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
251 LHE_names.extend(LHE)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
252 unmap_seq.value += sum([1 for x in new_main_sam if x[1] == '4'])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
253 unmap_counts.value += sum([int(x[0].split("-")[1]) for x in new_main_sam if x[1] == '4'])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
254 names.append(name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
255 samples.append(dedup_unique_seq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
256 data.append([con,name,double_fil_uni_seq,sorted_uni_arms])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
257 ini_sample.append(new_main_sam)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
258 l.release()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
259
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
260
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
261 ######################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
262 """
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
263
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
264 Read a sam file from Bowtie and do the followings:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
265
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
266 1) Remove reverse stranded mapped reads
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
267 2) Remove unmapped reads
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
268 3) Remove all sequences with reads less than 11 reads
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
269 4) Sort the arms with the most sequences in decreading rate
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
270 5) Sort the sequences of every arm with the most reads in decreasing rate
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
271 6) Calculate total number of sequences of every arm
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
272 7) Calculate total number of reads of sequences of every arm.
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
273 8) Store all the informations in a txt file
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
274
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
275 """
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
276
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
277 def non_sam(mature_mirnas,path,name,con,l,data,names,n_deseq,n_samples_mirna_names,n_LHE_names):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
278
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
279 ini_sam=read(path,0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
280 new_main_sam = [x.rstrip("\n").split("\t") for x in ini_sam if "@" not in x.split("\t")[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
281 unique_seq=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
282 unique_seq = [x for x in new_main_sam if x[1] == '4' and len(x[9])>=18 and len(x[9])<=26]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
283
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
284 uni_seq=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
285 # Calculate the shifted positions for every isomir and add them to the name of it
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
286 sorted_uni_arms = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
287 for i in range(1,len(mature_mirnas),2):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
288 tmp_count_reads = 0 # calculate the total number of reads
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
289 tmp_count_seq = 0 # calculate the total number of sequences
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
290
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
291 for j in range(len(unique_seq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
292
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
293 temp_mature = mature_mirnas[i].strip().replace("U", "T")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
294
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
295 if temp_mature in unique_seq[j][9]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
296
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
297 off_part = longestSubstring(temp_mature, unique_seq[j][9])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
298
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
299 mat_diff = temp_mature.split(off_part)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
300 mat_diff = [len(mat_diff[0]), len(mat_diff[1])]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
301
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
302 unique_diff = unique_seq[j][9].split(off_part)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
303 if len(unique_diff)<=2:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
304 unique_diff = [len(unique_diff[0]), len(unique_diff[1])]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
305
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
306 pre_pos = mat_diff[0]-unique_diff[0]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
307 post_pos = unique_diff[1]-mat_diff[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
308
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
309 lengthofmir = len(off_part) + post_pos
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
310 if pre_pos == 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
311 tmp_count_reads = tmp_count_reads + int(unique_seq[j][0].split("-")[1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
312 tmp_count_seq = tmp_count_seq + 1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
313
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
314 if pre_pos == 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
315
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
316 t_name=unique_seq[j].copy()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
317 t_name[2]=mature_mirnas[i - 1].split(" ")[0][1:] + "__" + str(pre_pos) + "_" + '{:+d}'.format(post_pos) + "_" + str(unique_seq[j][9][len(off_part):])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
318 uni_seq.append(t_name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
319
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
320
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
321 if tmp_count_reads != 0 and tmp_count_seq != 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
322 sorted_uni_arms.append([mature_mirnas[i-1].split(" ")[0][1:], tmp_count_seq, tmp_count_reads])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
323
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
324
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
325 sorted_uni_arms = sorted(sorted_uni_arms, key=lambda x: x[1], reverse=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
326 unique_seq = list(map(list, OrderedDict.fromkeys(map(tuple,uni_seq))))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
327
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
328 LHE=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
329
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
330 l.acquire()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
331 if con=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
332 LHE.extend(x[2] for x in unique_seq if x[2]!="*")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
333 for x in unique_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
334 if x[2]!="*":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
335 n_samples_mirna_names.append([x[2],x[9]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
336 n_deseq.append([[x[2], x[0].split('-')[1], x[9]] for x in unique_seq if x[2]!="*"])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
337 n_LHE_names.extend(LHE)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
338 names.append(name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
339 data.append([con,name,unique_seq,sorted_uni_arms])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
340
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
341
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
342 if con=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
343 LHE.extend(x[2] for x in unique_seq if x[2]!="*")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
344 for x in unique_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
345 if x[2]!="*":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
346 n_samples_mirna_names.append([x[2],x[9]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
347 n_deseq.append([[x[2], x[0].split('-')[1], x[9]] for x in unique_seq if x[2]!="*"])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
348 n_LHE_names.extend(LHE)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
349 names.append(name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
350 data.append([con,name,unique_seq,sorted_uni_arms])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
351 l.release()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
352
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
353 #####################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
354 def deseq2_temp(samples_mirna_names,deseq,con,l):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
355
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
356 samples_mirna_names.sort(key=lambda x:[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
357 for i in range(len(deseq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
358 for y in samples_mirna_names:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
359 flag = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
360 for x in deseq[i]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
361 if y[0] == x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
362 flag = 1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
363 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
364
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
365 if flag == 0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
366 deseq[i].append([y[0], "0", y[1]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
367
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
368 [deseq[i].sort(key=lambda x: x[0]) for i, _ in enumerate(deseq)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
369 deseq_final = [[x[0],x[2]] for x in deseq[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
370 [deseq_final[z].append(deseq[i][j][1]) for z,_ in enumerate(deseq_final) for i, _ in enumerate(deseq) for j,_ in enumerate(deseq[i]) if deseq_final[z][0] == deseq[i][j][0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
371
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
372 l.acquire()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
373 if con=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
374 q1.put(deseq_final)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
375
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
376 if con=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
377 q2.put(deseq_final)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
378 l.release()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
379
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
380
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
381 ####################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
382
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
383 def main_temp(LH2E, LH2E_names, LH8E, LH8E_names,flag,names_con,names_tre,filter_LH8E,filter_LH2E,raw_LH8E,raw_LH2E):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
384
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
385 LH8E_add_names = [x for x in LH2E_names if x not in LH8E_names]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
386 LH2E_add_names = [x for x in LH8E_names if x not in LH2E_names]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
387
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
388 LH8E_add_names.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
389 LH2E_add_names.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
390 LH8E_add_names = list(LH8E_add_names for LH8E_add_names,_ in itertools.groupby(LH8E_add_names))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
391 LH2E_add_names = list(LH2E_add_names for LH2E_add_names,_ in itertools.groupby(LH2E_add_names))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
392
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
393 LH2E.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
394 LH8E.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
395 LH2E = list(LH2E for LH2E,_ in itertools.groupby(LH2E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
396 LH8E = list(LH8E for LH8E,_ in itertools.groupby(LH8E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
397
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
398 print("LHE_names")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
399 print([len(LH8E_add_names),len(LH2E_add_names)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
400 print([len(LH8E),len(LH2E)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
401
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
402 zeros=["0"]*(len(LH8E[0])-2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
403 [LH8E_add_names[i].extend(zeros) for i,_ in enumerate(LH8E_add_names)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
404 LH8E=LH8E+LH8E_add_names
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
405
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
406 zeros=["0"]*(len(LH2E[0])-2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
407 [LH2E_add_names[i].extend(zeros) for i,_ in enumerate(LH2E_add_names)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
408 LH2E=LH2E+LH2E_add_names
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
409
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
410 dupes=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
411 final_LH2E =[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
412
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
413 for num,_ in enumerate(LH2E):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
414
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
415 if LH2E[num][1] not in final_LH2E and LH2E[num][0] not in final_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
416 final_LH2E.append(LH2E[num][1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
417 final_LH2E.append(LH2E[num][0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
418 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
419 dupes.append(LH2E[num][1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
420
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
421
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
422 dupes=list(set(dupes))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
423
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
424 dupes=[[x] for x in dupes]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
425
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
426 for x in LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
427 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
428 if x[1]==y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
429 fl=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
430 if len(y)==1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
431 y.append(x[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
432 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
433 for i in range(1,len(y)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
434 if y[i].split("_")[0]==x[0].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
435 fl=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
436 if len(x[0])<len(y[i]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
437 del y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
438 y.append(x[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
439 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
440
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
441 if fl==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
442 y.append((x[0]))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
443
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
444 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
445 if len(y)>2:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
446 for i in range(len(y)-1,1,-1):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
447 y[1]=y[1]+"/"+y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
448 del y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
449
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
450 for x in LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
451 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
452 if x[1]==y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
453 x[0]=y[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
454
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
455 for x in LH8E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
456 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
457 if x[1]==y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
458 x[0]=y[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
459
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
460
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
461 LH2E.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
462 LH2E=list(LH2E for LH2E,_ in itertools.groupby(LH2E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
463
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
464 LH8E.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
465 LH8E=list(LH8E for LH8E,_ in itertools.groupby(LH8E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
466
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
467 LH8E_new=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
468 LH2E_new=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
469
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
470 if int(args.per)!=-1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
471 percent=int(args.per)/100
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
472 print(percent)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
473 print(args.count)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
474
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
475 c_col_filter=round(percent*(len(LH2E[1])-2))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
476 t_col_filter=round(percent*(len(LH8E[1])-2))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
477
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
478 for i, _ in enumerate(LH2E):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
479 c_cols=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
480 t_cols=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
481
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
482 c_cols=sum([1 for j in range(len(LH2E[i])-2) if int(LH2E[i][j+2])>=int(args.count)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
483 t_cols=sum([1 for j in range(len(LH8E[i])-2) if int(LH8E[i][j+2])>=int(args.count)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
484
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
485 if c_cols>=c_col_filter or t_cols>=t_col_filter:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
486 LH8E_new.append(LH8E[i])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
487 LH2E_new.append(LH2E[i])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
488
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
489 filter_LH2E.extend(LH2E_new)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
490 filter_LH8E.extend(LH8E_new)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
491 raw_LH2E.extend(LH2E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
492 raw_LH8E.extend(LH8E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
493
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
494 ##################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
495
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
496 def write_main(raw_LH2E, raw_LH8E, fil_LH2E, fil_LH8E, names_con, names_tre, flag):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
497
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
498 if flag == 1 and int(args.per)!=-1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
499 fp = open('Counts/Filtered '+args.n2 +' Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
500 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
501 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
502 for y in names_tre:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
503 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
504
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
505 for x in fil_LH8E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
506 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
507 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
508
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
509 fp = open('Counts/Filtered '+args.n1+' Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
510 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
511 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
512 for y in names_con:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
513 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
514
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
515 for x in fil_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
516 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
517 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
518
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
519
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
520 if flag == 2 and int(args.per)!=-1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
521 fp = open('Counts/Filtered '+args.n2+' Non-Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
522 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
523 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
524 for y in names_tre:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
525 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
526
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
527
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
528 for x in fil_LH8E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
529 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
530 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
531
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
532 fp = open('Counts/Filtered '+args.n1+' Non-Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
533 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
534 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
535 for y in names_con:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
536 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
537
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
538 for x in fil_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
539 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
540 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
541
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
542
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
543 if flag == 1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
544 fp = open('Counts/Raw '+args.n2+' Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
545 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
546 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
547 for y in names_tre:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
548 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
549
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
550 for x in raw_LH8E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
551 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
552 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
553
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
554 fp = open('Counts/Raw '+args.n1+' Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
555 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
556 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
557 for y in names_con:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
558 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
559
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
560 for x in raw_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
561 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
562 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
563
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
564
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
565 if flag == 2:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
566 fp = open('Counts/Raw '+args.n2+' Non-Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
567 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
568 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
569 for y in names_tre:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
570 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
571
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
572
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
573 for x in raw_LH8E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
574 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
575 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
576
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
577 fp = open('Counts/Raw '+args.n1+' Non-Templated Counts', 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
578 fp.write("Name\t")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
579 fp.write("Sequence")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
580 for y in names_con:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
581 fp.write("\t"+y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
582
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
583 for x in raw_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
584 fp.write("\n%s" % "\t".join(x))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
585 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
586
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
587
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
588 #########################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
589
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
590 def ssamples(names,samp,folder,pro):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
591
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
592 for i in range(2,len(samp[0])):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
593
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
594 fp = open(folder+names[i-2]+'.txt','w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
595 fp.write("miRNA id"+"\t"+names[i-2]+"\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
596
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
597 for x in samp:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
598 fp.write("%s" % "\t".join([x[0],x[i]])+"\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
599 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
600
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
601 ##################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
602
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
603 def DB_write(con,name,unique_seq,sorted_uni_arms,f):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
604
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
605 if f==1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
606 # Write a txt file with all the information
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
607 if con=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
608 fp = open('split1/'+name, 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
609
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
610 fp.write("%s\t%-42s\t%s\n\n" % ("Number of Reads","Name of isomir","Sequence"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
611 if con=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
612 fp = open('split2/'+name, 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
613 fp.write("%s\t%-42s\t%s\n\n" % ("Number of Reads","Name of isomir","Sequence"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
614
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
615
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
616 for i in range(len(sorted_uni_arms)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
617 temp = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
618 for j in range(len(unique_seq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
619
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
620 if sorted_uni_arms[i][0] in unique_seq[j][2].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
621
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
622 temp.append(unique_seq[j])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
623
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
624 temp = sorted(temp, key=lambda x: int(x[0].split('-')[1]), reverse=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
625 fp.write("*********************************************************************************************************\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
626 fp.write("%-8s\t%-22s\t%-25s\t%-30s\t%s\n" % ("|",str(sorted_uni_arms[i][0]),"Sequence count = "+str(sorted_uni_arms[i][1]),"Total reads = "+str(sorted_uni_arms[i][2]),"|"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
627 fp.write("*********************************************************************************************************\n\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
628 [fp.write("%-8s\t%-40s\t%s\n" % (x[0].split("-")[1], x[2],x[9])) for x in temp]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
629 fp.write("\n" + "\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
630 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
631
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
632 if f==2:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
633
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
634 if con=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
635 fp = open('split3/'+name, 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
636 fp.write("%s\t%-42s\t%s\n\n" % ("Number of Reads","Name of isomir","Sequence"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
637 if con=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
638 fp = open('split4/'+name, 'w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
639 fp.write("%s\t%-42s\t%s\n\n" % ("Number of Reads","Name of isomir","Sequence"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
640
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
641
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
642 for i in range(len(sorted_uni_arms)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
643 temp = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
644 for j in range(len(unique_seq)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
645 if sorted_uni_arms[i][0]==unique_seq[j][2].split("__")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
646 temp.append(unique_seq[j])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
647 if temp!=[]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
648 temp = sorted(temp, key=lambda x: int(x[0].split('-')[1]), reverse=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
649 fp.write("*********************************************************************************************************\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
650 fp.write("%-8s\t%-22s\t%-25s\t%-30s\t%s\n" % ("|",str(sorted_uni_arms[i][0]),"Sequence count = "+str(sorted_uni_arms[i][1]),"Total reads = "+str(sorted_uni_arms[i][2]),"|"))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
651 fp.write("*********************************************************************************************************\n\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
652 [fp.write("%-8s\t%-40s\t%s\n" % (x[0].split("-")[1], x[2],x[9])) for x in temp]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
653 fp.write("\n" + "\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
654 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
655
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
656
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
657 ##########################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
658
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
659 def new_mat_seq(pre_unique_seq,mat_mirnas,l):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
660
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
661 unique_iso = []
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
662 for x in pre_unique_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
663 if len(x[2].split("_"))==3:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
664 for y in pre_unique_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
665 if x[2] in y[2] and int(x[0].split("-")[1])<int(y[0].split("-")[1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
666 if any(y[2] in lst2 for lst2 in unique_iso)==False:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
667 y[2]=">"+y[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
668 unique_iso.append(y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
669 l.acquire()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
670 for x in unique_iso:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
671 mat_mirnas.append(x[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
672 mat_mirnas.append(x[9])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
673 l.release()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
674
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
675 #########################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
676 def pie_non_temp(merge_LH2E,merge_non_LH2E,merge_LH8E,merge_non_LH8E,c_unmap,t_unmap,c_unmap_counts,t_unmap_counts):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
677
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
678 c_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH2E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
679 t_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH8E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
680 c_non_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_non_LH2E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
681 t_non_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_non_LH8E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
682
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
683 c_templ = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
684 c_tem_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
685 c_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
686 c_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
687 t_templ = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
688 t_tem_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
689 t_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
690 t_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
691
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
692 c_non = len(c_non_samples)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
693 c_non_counts = sum(x[2] for x in c_non_samples)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
694 t_non = len(t_non_samples)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
695 t_non_counts = sum(x[2] for x in t_non_samples)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
696
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
697 c_unmap = c_unmap - c_non
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
698 t_unmap = c_unmap - t_non
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
699
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
700 c_unmap_counts=c_unmap_counts - c_non_counts
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
701 t_unmap_counts=t_unmap_counts - t_non_counts
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
702
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
703
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
704 for x in c_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
705
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
706 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
707 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
708 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
709 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
710 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
711 c_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
712 c_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
713 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
714 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
715 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
716 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
717 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
718 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
719 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
720 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
721 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
722 c_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
723 c_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
724
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
725 for x in t_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
726
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
727 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
728 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
729 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
730 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
731 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
732 t_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
733 t_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
734 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
735 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
736 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
737 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
738 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
739 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
740 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
741 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
742 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
743 t_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
744 t_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
745
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
746 fig = plt.figure(figsize=(7,5))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
747 labels = 'miRNA RefSeq','Template', 'Unmapped','Non-template'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
748 sizes = [c_mat_counts, c_tem_counts, c_unmap_counts,c_non_counts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
749 colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
750 ax1 = plt.subplot2grid((1,2),(0,0))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
751 patches, texts, autotexts=plt.pie(sizes, labels=labels, colors=colors, startangle=140,autopct='%1.1f%%',radius=0.8)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
752 [x.set_fontsize(8) for x in texts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
753 plt.title('Control Group (reads)',fontsize=12)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
754 labels = 'miRNA RefSeq','Template', 'Unmapped','non-template'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
755 sizes = [t_mat_counts, t_tem_counts, t_unmap_counts, t_non_counts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
756 colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
757 ax2 = plt.subplot2grid((1,2),(0,1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
758 patches, texts, autotexts=plt.pie(sizes, labels=labels, colors=colors, startangle=140,autopct='%1.1f%%',radius=0.8)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
759 [x.set_fontsize(8) for x in texts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
760 plt.title('Treated Group (reads)', fontsize=12)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
761 plt.savefig('pie_non.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
762
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
763 ######################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
764
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
765 def merging_names(LH2E_copy,new):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
766
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
767 dupes=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
768 final_LH2E =[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
769
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
770 for num in range(len(LH2E_copy)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
771
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
772 if LH2E_copy[num][1] not in final_LH2E and LH2E_copy[num][0] not in final_LH2E:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
773 final_LH2E.append(LH2E_copy[num][1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
774 final_LH2E.append(LH2E_copy[num][0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
775 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
776 dupes.append(LH2E_copy[num][1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
777
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
778 dupes=list(set(dupes))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
779
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
780 for i in range(len(dupes)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
781 dupes[i]=[dupes[i]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
782
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
783 for x in LH2E_copy:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
784 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
785 if x[1]==y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
786 fl=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
787 if len(y)==1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
788 y.append(x[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
789 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
790 for i in range(1,len(y)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
791 if y[i].split("_")[0]==x[0].split("_")[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
792 fl=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
793 if len(x[0])<len(y[i]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
794 del y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
795 y.append(x[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
796 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
797
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
798 if fl==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
799 y.append((x[0]))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
800
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
801 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
802 if len(y)>2:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
803 for i in range(len(y)-1,1,-1):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
804 y[1]=y[1]+"/"+y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
805 del y[i]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
806
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
807
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
808 for x in LH2E_copy:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
809 for y in dupes:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
810 if x[1]==y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
811 x[0]=y[1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
812
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
813 LH2E_copy.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
814 LH2E_copy=list(LH2E_copy for LH2E_copy,_ in itertools.groupby(LH2E_copy))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
815
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
816 new.extend(LH2E_copy)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
817
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
818
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
819 ######################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
820 def pie_temp(merge_LH2E,c_unmap,c_unmap_counts,merge_LH8E,t_unmap,t_unmap_counts):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
821
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
822 c_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH2E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
823 t_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH8E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
824
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
825 c_templ = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
826 c_tem_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
827 c_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
828 c_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
829 t_templ = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
830 t_tem_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
831 t_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
832 t_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
833
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
834 for x in c_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
835
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
836 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
837 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
838 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
839 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
840 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
841 c_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
842 c_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
843 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
844 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
845 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
846 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
847 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
848 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
849 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
850 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
851 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
852 c_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
853 c_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
854
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
855 for x in t_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
856
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
857 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
858 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
859 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
860 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
861 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
862 t_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
863 t_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
864 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
865 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
866 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
867 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
868 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
869 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
870 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
871 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
872 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
873 t_templ+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
874 t_tem_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
875
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
876
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
877 fig = plt.figure()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
878 labels = 'miRNA RefSeq','Template', 'Unmapped'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
879 sizes = [c_mat_counts, c_tem_counts, c_unmap_counts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
880 colors = ['gold', 'yellowgreen', 'lightskyblue']
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
881 explode = (0.2, 0.05, 0.1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
882 ax1 = plt.subplot2grid((1,2),(0,0))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
883 patches, texts, autotexts=plt.pie(sizes, labels=labels, colors=colors, startangle=140,autopct='%1.1f%%',radius=0.8)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
884 [x.set_fontsize(8) for x in texts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
885 plt.title('Control group (reads)', fontsize=12)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
886 labels = 'miRNA RefSeq','Template', 'Unmapped'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
887 sizes = [t_mat_counts, t_tem_counts, t_unmap_counts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
888 colors = ['gold', 'yellowgreen', 'lightskyblue']
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
889 explode = (0.2, 0.05, 0.1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
890 ax2 = plt.subplot2grid((1,2),(0,1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
891 patches, texts, autotexts=plt.pie(sizes, labels=labels, colors=colors, startangle=140,autopct='%1.1f%%',radius=0.8)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
892 [x.set_fontsize(8) for x in texts]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
893 plt.title('Treated group (reads)',fontsize = 12)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
894 plt.savefig('pie_tem.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
895
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
896 ###################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
897
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
898 def make_spider(merge_LH2E,merge_LH8E):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
899
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
900 c_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH2E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
901 t_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH8E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
902
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
903 c_5 = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
904 c_5_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
905 c_3 = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
906 c_3_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
907 c_both =0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
908 c_both_counts=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
909 c_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
910 c_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
911 c_exception=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
912 c_exception_counts=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
913
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
914
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
915 t_5 = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
916 t_5_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
917 t_3 = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
918 t_3_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
919 t_both = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
920 t_both_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
921 t_mature = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
922 t_mat_counts = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
923 t_exception = 0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
924 t_exception_counts=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
925
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
926 for x in c_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
927
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
928 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
929 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
930 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
931 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
932 elif 0 == int(x[0].split("_")[-1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
933 c_5+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
934 c_5_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
935 elif 0 == int(x[0].split("_")[-2]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
936 c_3+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
937 c_3_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
938 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
939 c_both+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
940 c_both_counts+=x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
941
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
942 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
943 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
944 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
945 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
946 c_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
947 c_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
948 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
949 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
950 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
951 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
952 c_exception+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
953 c_exception_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
954
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
955
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
956 for x in t_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
957
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
958 if "/" not in x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
959 if "chr" in x[0].split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
960 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
961 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
962 elif 0 == int(x[0].split("_")[-1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
963 t_5+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
964 t_5_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
965 elif 0 == int(x[0].split("_")[-2]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
966 t_3+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
967 t_3_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
968 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
969 t_both+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
970 t_both_counts+=x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
971
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
972 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
973 f=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
974 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
975 if "chr" in y.split("_")[-1]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
976 t_mature+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
977 t_mat_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
978 f=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
979 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
980 if f==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
981 for y in x[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
982 t_exception+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
983 t_exception_counts += x[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
984
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
985
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
986 c_all = c_5+c_3+c_both+c_mature+c_exception
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
987 c_all_counts = c_5_counts + c_3_counts + c_both_counts + c_mat_counts + c_exception_counts
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
988
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
989 t_all = t_5+t_3+t_both+t_mature + t_exception
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
990 t_all_counts = t_5_counts + t_3_counts + t_both_counts + t_mat_counts + t_exception_counts
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
991
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
992 c_5 = round(c_5/c_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
993 c_3 = round(c_3/c_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
994 c_both = round(c_both/c_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
995 c_mature = round(c_mature/c_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
996 c_exception = round(c_exception/c_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
997
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
998 c_5_counts = round(c_5_counts/c_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
999 c_3_counts = round(c_3_counts/c_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1000 c_both_counts = round(c_both_counts/c_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1001 c_mat_counts = round(c_mat_counts/c_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1002 c_exception_counts = round(c_exception_counts/c_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1003
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1004 t_5 = round(t_5/t_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1005 t_3 = round(t_3/t_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1006 t_both = round(t_both/t_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1007 t_mature = round(t_mature/t_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1008 t_exception = round(t_exception/t_all*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1009
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1010 t_5_counts = round(t_5_counts/t_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1011 t_3_counts = round(t_3_counts/t_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1012 t_both_counts = round(t_both_counts/t_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1013 t_mat_counts = round(t_mat_counts/t_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1014 t_exception_counts = round(t_exception_counts/t_all_counts*100,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1015
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1016 radar_max = max(c_5, c_3, c_both,c_mature,c_exception,t_5,t_3,t_both,t_mature,t_exception)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1017 radar_max_counts = max(c_5_counts,c_3_counts,c_both_counts,c_mat_counts,c_exception_counts,t_5_counts,t_3_counts,t_both_counts,t_mat_counts,t_exception_counts)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1018
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1019 df=pd.DataFrame({
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1020 'group':['Controls','Treated'],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1021 """5' and 3' isomiRs""":[c_both,t_both],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1022 """3' isomiRs""":[c_3,t_3],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1023 'miRNA RefSeq':[c_mature,t_mature],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1024 """5' isomiRs""":[c_5,t_5],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1025 'Others*':[c_exception,t_exception]})
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1026
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1027 df1=pd.DataFrame({
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1028 'group':['Controls','Treated'],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1029 """5' and 3' isomiRs""":[c_both_counts,t_both_counts],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1030 """3' isomiRs""":[c_3_counts,t_3_counts],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1031 'miRNA RefSeq':[c_mat_counts,t_mat_counts],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1032 """5' isomiRs""":[c_5_counts,t_5_counts],
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1033 'Others*':[c_exception_counts,t_exception_counts]})
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1034
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1035 spider_last(df,radar_max,1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1036 spider_last(df1,radar_max_counts,2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1037
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1038
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1039 def spider_last(df,radar_max,flag):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1040 # ------- PART 1: Create background
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1041 fig = plt.figure()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1042 # number of variable
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1043 categories=list(df)[1:]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1044 N = len(categories)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1045
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1046 # What will be the angle of each axis in the plot? (we divide the plot / number of variable)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1047 angles = [n / float(N) * 2 * pi for n in range(N)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1048 angles += angles[:1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1049
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1050 # Initialise the spider plot
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1051 ax = plt.subplot(111, polar=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1052
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1053 # If you want the first axis to be on top:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1054 ax.set_theta_offset(pi/2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1055 ax.set_theta_direction(-1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1056
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1057 # Draw one axe per variable + add labels labels yet
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1058 plt.xticks(angles[:-1], categories, fontsize=11)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1059
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1060 # Draw ylabels
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1061 radar_max=round(radar_max+radar_max*0.1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1062 mul=len(str(radar_max))-1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1063 maxi=int(math.ceil(radar_max / pow(10,mul))) * pow(10,mul)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1064 sep = round(maxi/4)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1065 plt.yticks([sep, 2*sep, 3*sep, 4*sep, 5*sep], [str(sep)+'%', str(2*sep)+'%', str(3*sep)+'%', str(4*sep)+'%', str(5*sep)+'%'], color="grey", size=10)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1066 plt.ylim(0, maxi)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1067
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1068 # ------- PART 2: Add plots
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1069
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1070 # Plot each individual = each line of the data
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1071 # I don't do a loop, because plotting more than 3 groups makes the chart unreadable
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1072
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1073 # Ind1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1074 values=df.loc[0].drop('group').values.flatten().tolist()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1075 values += values[:1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1076 ax.plot(angles, values,'-o', linewidth=1, linestyle='solid', label="Controls")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1077 ax.fill(angles, values, 'b', alpha=0.1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1078
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1079 # Ind2
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1080 values=df.loc[1].drop('group').values.flatten().tolist()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1081 values += values[:1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1082 ax.plot(angles, values, '-o' ,linewidth=1, linestyle='solid', label="Treated")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1083 ax.fill(angles, values, 'r', alpha=0.1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1084
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1085 # Add legend
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1086 if flag==1:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1087 plt.legend(loc='upper right', bbox_to_anchor=(0.0, 0.1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1088 plt.savefig('spider_non_red.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1089 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1090 plt.legend(loc='upper right', bbox_to_anchor=(0.0, 0.1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1091 plt.savefig('spider_red.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1092
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1093
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1094 #############################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1095 def hist_red(samples,flag):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1096 lengths=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1097 cat=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1098 total_reads=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1099 seq=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1100
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1101 if flag == "c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1102 title = "Length Distribution of Control group (Redudant reads)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1103 if flag == "t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1104 title = "Length Distribution of Treated group (Redudant reads)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1105
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1106 for i in samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1107 for x in i:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1108 lengths.append(len(x[9]))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1109 if x[1]=="0":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1110 seq.append([x[9],x[0].split("-")[1],"Mapped"])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1111 cat.append("Mapped")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1112 if x[1] == "4":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1113 seq.append([x[9],x[0].split("-")[1],"Unmapped"])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1114 cat.append("Unmapped")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1115
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1116 uni_len=list(set(lengths))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1117 uni_len=[x for x in uni_len if x<=35]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1118 low=min(lengths)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1119 up=max(lengths)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1120 seq.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1121 uni_seq=list(seq for seq,_ in itertools.groupby(seq))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1122 dim=up-low
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1123
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1124 if dim>20:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1125 s=5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1126 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1127 s=8
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1128
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1129 total_reads+=sum([int(x[1]) for x in uni_seq])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1130
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1131 map_reads=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1132 unmap_reads=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1133 length=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1134 for y in uni_len:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1135 map_temp=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1136 unmap_temp=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1137 for x in uni_seq:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1138 if len(x[0])==y and x[2]=="Mapped":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1139 map_temp+=int(x[1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1140 if len(x[0])==y and x[2]=="Unmapped":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1141 unmap_temp+=int(x[1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1142 if y<=35:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1143 length.append(y)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1144 map_reads.append(round(map_temp/total_reads*100,2))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1145 unmap_reads.append(round(unmap_temp/total_reads*100,2))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1146
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1147 ylim=max([sum(x) for x in zip(unmap_reads, map_reads)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1148 ylim=ylim+ylim*20/100
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1149 fig, ax = plt.subplots()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1150 width=0.8
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1151 ax.bar(length, unmap_reads, width, label='Unmapped')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1152 h=ax.bar(length, map_reads, width, bottom=unmap_reads, label='Mapped')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1153 plt.xticks(np.arange(length[0], length[-1]+1, 1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1154 plt.xlabel('Length (nt)',fontsize=14)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1155 plt.ylabel('Percentage',fontsize=14)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1156 plt.title(title,fontsize=14)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1157 ax.legend()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1158 plt.ylim([0, ylim])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1159 ax.grid(axis='y',linewidth=0.2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1160
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1161 if flag=='c':
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1162 plt.savefig('c_hist_red.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1163
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1164 if flag=='t':
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1165 plt.savefig('t_hist_red.png',dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1166
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1167 #################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1168
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1169
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1170 def logo_seq_red(merge, flag):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1171
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1172 if flag=="c":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1173 titlos="Control group (Redundant)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1174 file_logo="c_logo.png"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1175 file_bar="c_bar.png"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1176 if flag=="t":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1177 titlos="Treated group (Redundant)"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1178 file_logo="t_logo.png"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1179 file_bar="t_bar.png"
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1180
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1181 c_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1182
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1183 A=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1184 C=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1185 G=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1186 T=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1187 total_reads=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1188
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1189 for y in c_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1190 if "/" in y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1191 length=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1192 for x in y[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1193 length.append([len(x.split("_")[-1]),x.split("_")[-1],y[2]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1194
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1195 best=min(length)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1196 total_reads+=best[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1197 for i in range(5):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1198 if i<len(best[1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1199 if best[1][i] == "A":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1200 A[i]+=best[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1201 elif best[1][i] == "C":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1202 C[i]+=best[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1203 elif best[1][i] == "G":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1204 G[i]+=best[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1205 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1206 T[i]+=best[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1207 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1208 total_reads+=y[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1209 for i in range(5):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1210 if i<len(y[0].split("_")[-1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1211 if y[0].split("_")[-1][i] == "A":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1212 A[i]+=(y[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1213 elif y[0].split("_")[-1][i] == "C":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1214 C[i]+=(y[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1215 elif y[0].split("_")[-1][i] == "G":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1216 G[i]+=(y[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1217 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1218 T[i]+=y[2]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1219
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1220 A[:] = [round(x*100,1) / total_reads for x in A]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1221 C[:] = [round(x*100,1) / total_reads for x in C]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1222 G[:] = [round(x*100,1) / total_reads for x in G]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1223 T[:] = [round(x*100,1) / total_reads for x in T]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1224
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1225
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1226
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1227 data = {'A':A,'C':C,'G':G,'T':T}
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1228 df = pd.DataFrame(data, index=[1,2,3,4,5])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1229 h=df.plot.bar(color=tuple(["g", "b","gold","r"]) )
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1230 h.grid(axis='y',linewidth=0.2)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1231 plt.xticks(rotation=0, ha="right")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1232 plt.ylabel("Counts (%)",fontsize=18)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1233 plt.xlabel("Positions (nt)",fontsize=18)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1234 plt.title(titlos,fontsize=20)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1235 plt.tight_layout()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1236 plt.savefig(file_bar, dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1237
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1238 import logomaker as lm
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1239 crp_logo = lm.Logo(df, font_name = 'DejaVu Sans')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1240 crp_logo.style_spines(visible=False)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1241 crp_logo.style_spines(spines=['left', 'bottom'], visible=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1242 crp_logo.style_xticks(rotation=0, fmt='%d', anchor=0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1243
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1244 # style using Axes methods
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1245 crp_logo.ax.set_title(titlos,fontsize=18)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1246 crp_logo.ax.set_ylabel("Counts (%)", fontsize=16,labelpad=5)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1247 crp_logo.ax.set_xlabel("Positions (nt)",fontsize=16, labelpad=5)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1248 crp_logo.ax.xaxis.set_ticks_position('none')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1249 crp_logo.ax.xaxis.set_tick_params(pad=-1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1250 figure = plt.gcf()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1251 figure.set_size_inches(6, 4)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1252 crp_logo.fig.savefig(file_logo,dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1253
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1254 ##########################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1255
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1256
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1257
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1258 def logo_seq_non_red(merge_LH2E):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1259
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1260 c_samples=[[x[0],x[1],sum(int(i) for i in x[2:])] for x in merge_LH2E]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1261
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1262 A=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1263 C=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1264 G=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1265 T=[0]*5
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1266
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1267 for y in c_samples:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1268 if "/" in y[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1269 length=[]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1270 for x in y[0].split("/"):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1271 length.append([len(x.split("_")[-1]),x.split("_")[-1],y[2]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1272
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1273 best=min(length)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1274 for i in range(5):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1275 if i<len(best[1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1276 if best[1][i] == "A":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1277 A[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1278 elif best[1][i] == "C":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1279 C[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1280 elif best[1][i] == "G":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1281 G[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1282 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1283 T[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1284 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1285 for i in range(5):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1286 if i<len(y[0].split("_")[-1]):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1287 if y[0].split("_")[-1][i] == "A":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1288 A[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1289 elif y[0].split("_")[-1][i] == "C":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1290 C[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1291 elif y[0].split("_")[-1][i] == "G":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1292 G[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1293 else:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1294 T[i]+=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1295
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1296 data = {'A':A,'C':C,'G':G,'T':T}
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1297 df = pd.DataFrame(data, index=[1,2,3,4,5])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1298 h=df.plot.bar(title="Non-templated nucleotides after templated sequence",color=tuple(["g", "b","gold","r"]))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1299 h.set_xlabel("Positions (nt)")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1300 h.set_ylabel("Unique sequences")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1301 plt.xticks(rotation=0, ha="right")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1302 plt.tight_layout()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1303 plt.savefig("bar2.png", dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1304
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1305
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1306 import logomaker as lm
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1307 crp_logo = lm.Logo(df, font_name = 'DejaVu Sans')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1308
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1309 # style using Logo methods
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1310 crp_logo.style_spines(visible=False)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1311 crp_logo.style_spines(spines=['left', 'bottom'], visible=True)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1312 crp_logo.style_xticks(rotation=0, fmt='%d', anchor=0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1313
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1314 # style using Axes methods
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1315 crp_logo.ax.set_ylabel("Unique sequences", labelpad=5)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1316 crp_logo.ax.set_xlabel("Positions (nt)", labelpad=5)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1317 crp_logo.ax.xaxis.set_ticks_position('none')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1318 crp_logo.ax.xaxis.set_tick_params(pad=-1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1319 crp_logo.ax.set_title("Non-redundant")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1320 figure = plt.gcf()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1321 crp_logo.fig.savefig('logo2.png', dpi=300)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1322
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1323
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1324 ###################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1325
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1326 def ssamples1(tem_names,tem_samp,non_names,non_samp,folder,pro):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1327
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1328 for i in range(2,len(tem_samp[0])):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1329
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1330 fp = open(folder+tem_names[i-2]+'.txt','w')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1331 fp.write("miRNA id"+"\t"+tem_names[i-2]+"\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1332
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1333 for x in tem_samp:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1334 fp.write("%s" % "\t".join([x[0],x[i]])+"\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1335
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1336 for j in range(len(non_names)):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1337 if non_names[j]==tem_names[i-2]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1338 for x in non_samp:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1339 fp.write("%s" % "\t".join([x[0],x[j+2]])+"\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1340 fp.close()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1341
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1342 ###################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1343
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1344 def download_matures(matures,org_name):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1345
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1346 #url = 'ftp://mirbase.org/pub/mirbase/21/mature.fa.gz'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1347 url = 'ftp://mirbase.org/pub/mirbase/CURRENT/mature.fa.gz'
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1348 data = urllib.request.urlopen(url).read()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1349 file_mirna = gzip.decompress(data).decode('utf-8')
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1350 file_mirna = file_mirna.split("\n")
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1351
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1352 for i in range(0,len(file_mirna)-1,2):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1353
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1354 if org_name in file_mirna[i]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1355 matures.append(file_mirna[i])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1356 matures.append(file_mirna[i+1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1357
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1358 ###################################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1359 def non_template_ref(sc,st,all_isoforms):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1360
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1361 pre_uni_seq_con = list(sc)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1362 pre_uni_seq_tre = list(st)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1363
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1364 for x in pre_uni_seq_con:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1365 for y in x:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1366 if ">"+y[2] not in all_isoforms and ")_" in y[2] :
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1367 all_isoforms.append(">"+y[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1368 all_isoforms.append(y[9])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1369
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1370
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1371 for x in pre_uni_seq_tre:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1372 for y in x:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1373 if ">"+y[2] not in all_isoforms and ")_" in y[2]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1374 all_isoforms.append(">"+y[2])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1375 all_isoforms.append(y[9])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1376
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1377 ################################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1378
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1379 def deseqe2(sample,mir_names,l,new_d,sample_name,sample_order):
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1380
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1381 for y in mir_names:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1382 flag=0
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1383 for x in sample:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1384 if y[0]==x[0]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1385 flag=1
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1386 break
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1387 if flag==0:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1388 sample.append([y[0],"0",y[1]])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1389
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1390 sample.sort(key=lambda x: x[0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1391 sample=list(sample for sample,_ in itertools.groupby(sample))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1392
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1393 l.acquire()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1394 new_d.append(sample)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1395 sample_order.append(sample_name)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1396 l.release()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1397
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1398 ###############################################################################################################################################################################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1399
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1400 if __name__ == '__main__':
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1401
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1402 starttime = time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1403
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1404 q1 = Queue()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1405 q2 = Queue()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1406 lock = Lock()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1407 manager = Manager()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1408
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1409 mature_mirnas=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1410 ps_mature=Process(target=download_matures,args=(mature_mirnas,args.org_name))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1411 ps_mature.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1412
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1413 args.control[0]=args.control[0][1:]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1414 args.control[len(args.control)-1][:-1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1415 control = [(args.control[i:i+2]) for i in range(0, len(args.control), 2)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1416
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1417 args.treated[0]=args.treated[0][1:]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1418 args.treated[len(args.treated)-1][:-1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1419 treated = [(args.treated[i:i+2]) for i in range(0, len(args.treated), 2)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1420
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1421
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1422 ############## Detection of templated isoforms ################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1423
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1424 radar = manager.list([0,0,0,0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1425 samples = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1426 data= manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1427 names_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1428 samples_mirna_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1429 deseq=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1430 unmap_seq=manager.Value('i',0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1431 unmap_counts=manager.Value('i',0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1432 LH2E_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1433 ini_c_samples = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1434
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1435
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1436 radar1 = manager.list([0,0,0,0])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1437 samples1 = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1438 data1 = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1439 names_tre = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1440 samples_mirna_names1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1441 deseq1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1442 unmap1_seq = manager.Value('i',0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1443 unmap1_counts = manager.Value('i',0)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1444 LH8E_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1445 ini_t_samples = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1446 ps_mature.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1447
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1448
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1449 mature_mirnas=list(mature_mirnas)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1450
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1451
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1452 starttime1 = time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1453 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]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1454 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])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1455
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1456 [p.start() for p in ps_sam]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1457 [p.join() for p in ps_sam]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1458 print('SAM took {} seconds'.format(time.time() - starttime1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1459
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1460 ps_hist=[Process(target=hist_red,args=(ini_c_samples,'c'))]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1461 ps_hist.extend([Process(target=hist_red,args=(ini_t_samples,'t'))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1462 [x.start() for x in ps_hist]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1463
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1464 starttime200=time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1465
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1466 sc = list(samples)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1467 st = list(samples1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1468
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1469 names_con=list(names_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1470 names_tre=list(names_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1471 samples_mirna_names=list(samples_mirna_names)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1472 samples_mirna_names.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1473 samples_mirna_names=list(samples_mirna_names for samples_mirna_names,_ in itertools.groupby(samples_mirna_names))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1474
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1475 samples_mirna_names1=list(samples_mirna_names1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1476 samples_mirna_names1.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1477 samples_mirna_names1=list(samples_mirna_names1 for samples_mirna_names1,_ in itertools.groupby(samples_mirna_names1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1478
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1479 deseq=list(deseq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1480 deseq1=list(deseq1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1481
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1482 new_names_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1483 new_names_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1484 new_deseq=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1485 new_deseq1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1486 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)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1487 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)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1488
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1489 [z.start() for z in ps_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1490 [z.join() for z in ps_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1491 new_deseq=list(new_deseq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1492 new_deseq1=list(new_deseq1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1493
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1494 LH2E=[[x[0],x[2]] for x in new_deseq[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1495 [LH2E[i].append(y[i][1]) for i,_ in enumerate(LH2E) for y in new_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1496
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1497 LH8E=[[x[0],x[2]] for x in new_deseq1[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1498 [LH8E[i].append(y[i][1]) for i,_ in enumerate(LH8E) for y in new_deseq1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1499
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1500 print('Deseq took {} seconds'.format(time.time() - starttime200))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1501
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1502 merg_nam_LH2E=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1503 merg_nam_LH8E=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1504
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1505 LH2E_copy=copy.deepcopy(list(LH2E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1506 LH8E_copy=copy.deepcopy(list(LH8E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1507
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1508 fil_sort_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1509 fil_sort_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1510 raw_sort_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1511 raw_sort_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1512
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1513 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))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1514 ps_main.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1515
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1516 if args.anal=="2":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1517 all_iso = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1518 ps_non_iso = Process(target=non_template_ref,args=(sc,st,all_iso))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1519 ps_non_iso.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1520
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1521 ps_merge = [Process(target=merging_names,args=(LH2E_copy,merg_nam_LH2E))]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1522 ps_merge.extend([Process(target=merging_names,args=(LH8E_copy,merg_nam_LH8E))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1523 [x.start() for x in ps_merge]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1524 [x.join() for x in ps_merge]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1525
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1526 merg_nam_LH2E=list(merg_nam_LH2E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1527 merg_nam_LH8E=list(merg_nam_LH8E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1528
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1529 starttime2 = time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1530 procs = [Process(target=DB_write,args=(x[0],x[1],x[2],x[3],1)) for x in data]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1531 procs.extend([Process(target=DB_write,args=(x[0],x[1],x[2],x[3],1)) for x in data1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1532 procs.extend([Process(target=make_spider,args=(merg_nam_LH2E,merg_nam_LH8E))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1533 if args.anal == "1":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1534 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))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1535
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1536 [p.start() for p in procs]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1537
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1538
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1539 if args.anal=="1":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1540 [x.join() for x in ps_hist]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1541 [p.join() for p in procs]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1542 ps_pdf = Process(target=pdf_before_DE,args=(args.anal))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1543 ps_pdf.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1544
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1545 print('Graphs took {} seconds'.format(time.time() - starttime2))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1546
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1547 ps_main.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1548
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1549 fil_sort_con=list(fil_sort_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1550 fil_sort_tre=list(fil_sort_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1551 if fil_sort_con==[]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1552 fil_sort_con=raw_sort_con
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1553 fil_sort_tre=raw_sort_tre
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1554
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1555 raw_sort_con=list(raw_sort_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1556 raw_sort_tre=list(raw_sort_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1557 names_con=list(new_names_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1558 names_tre=list(new_names_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1559
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1560 ps_write = Process(target=write_main,args=(raw_sort_con, raw_sort_tre, fil_sort_con, fil_sort_tre, names_con,names_tre,1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1561 ps_write.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1562
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1563 ps1_matrix = [Process(target=ssamples,args=(names_con,fil_sort_con,"Diff/temp_con/",0))]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1564 ps1_matrix.extend([Process(target=ssamples,args=(names_tre,fil_sort_tre,"Diff/temp_tre/",0))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1565 [p.start() for p in ps1_matrix]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1566
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1567 if args.anal=="1":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1568 ps_pdf.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1569 if args.anal=="2":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1570 [p.join() for p in procs]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1571 [x.join() for x in ps_hist]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1572
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1573 ps_write.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1574 [p.join() for p in ps1_matrix]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1575
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1576
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1577 ############################## Detection of Both #######################################
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1578
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1579 starttime10 = time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1580
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1581 if args.anal == "2":
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1582
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1583 n_data= manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1584 n_names_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1585 n_samples_mirna_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1586 n_deseq=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1587 n_LH2E_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1588
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1589 n_data1 = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1590 n_names_tre = manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1591 n_samples_mirna_names1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1592 n_deseq1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1593 n_LH8E_names=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1594
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1595
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1596 new_mat_mirnas = list(mature_mirnas)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1597 ps_non_iso.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1598
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1599 all_iso=list(all_iso)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1600 new_mat_mirnas.extend(all_iso)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1601
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1602 starttime11=time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1603
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1604 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]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1605 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])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1606
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1607 [p.start() for p in ps_sam]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1608 [p.join() for p in ps_sam]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1609
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1610 print('Non-sam took {} seconds'.format(time.time() - starttime11))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1611
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1612 starttime12=time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1613
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1614 n_names_con=list(n_names_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1615 n_names_tre=list(n_names_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1616 n_samples_mirna_names=list(n_samples_mirna_names)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1617 n_samples_mirna_names.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1618 n_samples_mirna_names=list(n_samples_mirna_names for n_samples_mirna_names,_ in itertools.groupby(n_samples_mirna_names))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1619
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1620 n_samples_mirna_names1=list(n_samples_mirna_names1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1621 n_samples_mirna_names1.sort()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1622 n_samples_mirna_names1=list(n_samples_mirna_names1 for n_samples_mirna_names1,_ in itertools.groupby(n_samples_mirna_names1))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1623
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1624 n_deseq=list(n_deseq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1625 n_deseq1=list(n_deseq1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1626
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1627 new_n_names_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1628 new_n_names_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1629 n_new_deseq=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1630 n_new_deseq1=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1631 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)]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1632 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)])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1633
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1634 [x.start() for x in ps_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1635 [x.join() for x in ps_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1636 n_new_deseq=list(n_new_deseq)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1637 n_new_deseq1=list(n_new_deseq1)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1638
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1639 print([len(n_new_deseq[0]),len(n_new_deseq[1])])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1640 print([len(n_new_deseq1[0]),len(n_new_deseq1[1])])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1641
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1642 n_LH2E=[[x[0],x[2]] for x in n_new_deseq[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1643 [n_LH2E[i].append(y[i][1]) for i,_ in enumerate(n_LH2E) for y in n_new_deseq]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1644
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1645 n_LH8E=[[x[0],x[2]] for x in n_new_deseq1[0]]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1646 [n_LH8E[i].append(y[i][1]) for i,_ in enumerate(n_LH8E) for y in n_new_deseq1]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1647
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1648 print('Non-deseq took {} seconds'.format(time.time() - starttime12))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1649
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1650 merg_nam_n_LH2E=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1651 merg_nam_n_LH8E=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1652
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1653 n_LH2E_copy=copy.deepcopy(list(n_LH2E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1654 n_LH8E_copy=copy.deepcopy(list(n_LH8E))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1655
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1656 n_sort_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1657 n_sort_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1658
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1659 n_fil_sort_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1660 n_fil_sort_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1661 n_raw_sort_con=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1662 n_raw_sort_tre=manager.list()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1663
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1664 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))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1665 ps_main.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1666
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1667 ps_merge = [Process(target=merging_names,args=(n_LH2E_copy,merg_nam_n_LH2E))]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1668 ps_merge.extend([Process(target=merging_names,args=(n_LH8E_copy,merg_nam_n_LH8E))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1669 [p.start() for p in ps_merge]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1670 [p.join() for p in ps_merge]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1671
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1672 merg_nam_n_LH2E=list(merg_nam_n_LH2E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1673 merg_nam_n_LH8E=list(merg_nam_n_LH8E)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1674
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1675 procs = [Process(target=DB_write,args=(x[0],x[1],x[2],x[3],2)) for x in n_data]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1676 procs.extend([Process(target=DB_write,args=(x[0],x[1],x[2],x[3],2)) for x in n_data1])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1677 procs.extend([Process(target=logo_seq_red,args=(merg_nam_n_LH2E,'c'))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1678 procs.extend([Process(target=logo_seq_red,args=(merg_nam_n_LH8E,'t'))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1679 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))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1680
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1681 starttime13=time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1682 [p.start() for p in procs]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1683 [p.join() for p in procs]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1684
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1685 print('Graphs took {} seconds'.format(time.time() - starttime13))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1686
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1687 procs1 = Process(target=pdf_before_DE,args=(args.anal))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1688 procs1.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1689
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1690 starttime14=time.time()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1691 ps_main.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1692
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1693 n_fil_sort_con=list(n_fil_sort_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1694 n_fil_sort_tre=list(n_fil_sort_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1695 if n_fil_sort_con==[]:
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1696 n_fil_sort_con=n_raw_sort_con
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1697 n_fil_sort_tre=n_raw_sort_tre
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1698
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1699 n_raw_sort_con=list(n_raw_sort_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1700 n_raw_sort_tre=list(n_raw_sort_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1701 n_names_con=list(new_n_names_con)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1702 n_names_tre=list(new_n_names_tre)
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1703
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1704 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))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1705 ps_write.start()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1706
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1707 ps1_matrix = [Process(target=ssamples1,args=(n_names_con,n_fil_sort_con,names_con,fil_sort_con,"Diff/n_temp_con/",0))]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1708 ps1_matrix.extend([Process(target=ssamples1,args=(n_names_tre,n_fil_sort_tre,names_tre,fil_sort_tre,"Diff/n_temp_tre/",0))])
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1709 [p.start() for p in ps1_matrix]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1710
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1711 ps_write.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1712 [p.join() for p in ps1_matrix]
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1713 procs1.join()
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1714 print('That took {} seconds'.format(time.time() - starttime10))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1715 print('That took {} seconds'.format(time.time() - starttime))
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1716
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1717
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1718
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1719
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1720
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1721
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1722
99e8a03f8802 Uploaded
glogobyte
parents:
diff changeset
1723