annotate run_seqsero.py @ 16:ed79f56d2184 draft default tip

planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
author charles_s_test
date Thu, 30 Nov 2017 16:58:25 -0500
parents 53efef402c51
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
1 #!/usr/bin/python
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
2
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
3 import os, re, sys, time, datetime
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
4 import subprocess
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
5 from subprocess import Popen, PIPE
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
6
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
7
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
8 # Declare Variables
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
9 # paths to files and scripts
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
10
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
11 fileDir = os.path.dirname(os.path.realpath('__file__'))
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
12 print(fileDir)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
13
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
14 fq_list1 = []
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
15 Tool_directory = sys.argv[2]
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
16 database = Tool_directory + '/universe.sqlite'
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
17 seqsero = Tool_directory + 'SeqSero.py'
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
18 test_out = open(Tool_directory + "/test.txt", 'w')
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
19 out_path = Tool_directory + '/files/000'
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
20 test_out2 = open(Tool_directory + "/test2.txt", 'w')
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
21
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
22 path2sample = Tool_directory + 'fastq_tmp'
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
23
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
24
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
25 #test_out2.write(" Test test test");
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
26
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
27 test_out.write("monkey ");
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
28 #test_out.write("");
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
29 test_out.write("\t".join(sys.argv)+'\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
30
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
31
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
32
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
33
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
34 print(Tool_directory + ' path printed ')
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
35
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
36 test_out.write(str(len(sys.argv))+"\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
37 if len(sys.argv) >= 2:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
38 test_out.write("\t".join(sys.argv)+'\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
39 fq_list1 = sys.argv[1]
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
40
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
41 test_out.write(str(len(sys.argv))+"\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
42
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
43 fastq_files = re.split(",", fq_list1)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
44
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
45 def print_time():
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
46 test_out.write(time.asctime( time.localtime(time.time())))
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
47
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
48 tmp_path = "fastq_tmp"
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
49 if not os.path.exists(tmp_path):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
50 os.system('mkdir '+tmp_path)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
51
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
52 test_out.write(str(len(fastq_files))+"\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
53
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
54 def list_runs(fastq_files):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
55 '''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
56 Creates dict with runs as keys and list with filenames as values.
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
57 '''
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
58 # print("monkey")
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
59 run2fastqs = {}
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
60 for file in fastq_files:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
61 run = ''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
62 try:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
63 fastq = open(file, 'r')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
64 i = 0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
65 for line in fastq:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
66 line = line.rstrip("\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
67 if i == 0:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
68 run = re.split("\s", line)[0]
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
69 run = re.sub('@', '', run)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
70 run = re.sub("\.1", '', run)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
71 else:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
72 break
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
73 i += 1
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
74 file1 = re.split('/', file)[-1]
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
75 file2 = re.sub('.dat$', '_'+run+'.fastq', file1)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
76 new_path_file = tmp_path+'/'+file2
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
77 # print run, new_path_file
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
78 if file2 not in os.listdir(tmp_path):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
79 os.system('cp '+file+' '+new_path_file)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
80 if run in run2fastqs.keys():
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
81 if file not in run2fastqs[run]:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
82 run2fastqs[run].append(new_path_file)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
83 else:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
84 run2fastqs[run] = [new_path_file]
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
85 except IOError:
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
86 print("Data not found. It is possible for a deleted file to still be listed "\
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
87 "in a Galaxy library. Please confirm that the data still exists on this "\
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
88 "server. You may need to upload it again.")
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
89 return run2fastqs
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
90
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
91 def run_seqsero(run2fastqs):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
92 '''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
93 Takes files from run2fastqs and runs SeqSero.
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
94 '''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
95 outputs = []
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
96 for run in run2fastqs:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
97 seqsero_cmd = []
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
98 if len(run2fastqs[run]) == 2:
10
53efef402c51 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 9
diff changeset
99 seqsero_cmd = ['python2.7', seqsero, '-m', '2', '-i', run2fastqs[run][0], run2fastqs[run][1]]
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
100 elif len(run2fastqs[run]) == 1:
10
53efef402c51 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 9
diff changeset
101 seqsero_cmd = ['python2,7', seqsero, '-m', '1', '-i', run2fastqs[run][0]]
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
102 p = Popen(seqsero_cmd, stdout=PIPE)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
103 output = p.communicate()
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
104 outputs.append(output)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
105 return outputs
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
106
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
107 def get_serotypes(outputs):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
108 '''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
109 '''
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
110 fastq2comment = {}
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
111 fastq2serotype = {}
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
112
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
113 for sample in outputs:
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
114 fastqs = ''
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
115 lines_used = []
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
116 for line in sample: # line is actually the entire seqsero output.
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
117 line = str(line)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
118 linel = re.split("\n", line)
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
119 # print(linel)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
120 #lines_used = []
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
121 for element in linel: # element is a line of seqsero output.
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
122 element = element.rstrip("\n")
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
123 test_out.write(element+"\n")
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
124 elementl = re.split("\t", element)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
125 if elementl[0] == 'Input files:':
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
126 fastqs = elementl[1]
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
127 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
128 if elementl[1] not in fastq2serotype.keys():
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
129 fastq2serotype[fastqs] = ['']*5
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
130 fastq2comment[fastqs] = []
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
131 elif elementl[0] == 'O antigen prediction:':
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
132 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
133 fastq2serotype[fastqs][0] = elementl[1] # add predicted profile
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
134 elif elementl[0] == 'H1 antigen prediction(fliC):':
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
135 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
136 fastq2serotype[fastqs][1] = elementl[1] # add predicted profile
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
137 elif elementl[0] == 'H2 antigen prediction(fljB):':
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
138 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
139 fastq2serotype[fastqs][2] = elementl[1] # add predicted profile
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
140 elif elementl[0] == 'Predicted antigenic profile:':
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
141 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
142 fastq2serotype[fastqs][3] = elementl[1] # add predicted profile
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
143 elif elementl[0] == 'Predicted serotype(s):':
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
144 lines_used.append(element)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
145 fastq2serotype[fastqs][4] = elementl[1] # add predicted serotype
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
146 if element not in lines_used and re.search("\w", fastqs) and len(element) > 7:
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
147 fastq2comment[fastqs].append(element)
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
148 #print("\n"
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
149 return fastq2serotype, fastq2comment
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
150
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
151 def print_html(fastq2serotype, fastq2comment):
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
152 '''
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
153 Takes dict and prints to html file.
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
154 '''
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
155 tab_out = open('Seqsero_result.txt', 'w');
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
156 html_out = open('Seqsero_result.html', 'w')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
157 html_out.write('<!DOCTYPE html>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
158 html_out.write('<html>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
159 html_out.write('<head>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
160 html_out.write('<title>SeqSero Results</title>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
161 html_out.write('</head>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
162 html_out.write('<body>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
163 html_out.write('<body style="font-family:Helvetica;">\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
164 html_out.write('<p style="font-size:10px">\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
165 html_out.write('<table border=1>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
166 header = 'Input Files\tO antigen prediction\tH1 antigen prediction(fliC)\tH2 antigen prediction(fljB)\tPredicted antigenic profile\tPredicted serotype(s)'
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
167 header = re.sub(' ', '_', header)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
168 header_l = ['Input Files', 'O antigen prediction', 'H1 antigen prediction(fliC)', 'H2 antigen prediction(fljB)', 'Predicted antigenic profile', 'Predicted serotype(s)']
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
169 html_out.write('<tr>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
170 for element in header_l:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
171 html_out.write('<td>'+element+'</td>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
172 html_out.write('</tr>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
173 tab_out.write(header+"\n")
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
174 print("\n\n", header)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
175 for fastq in fastq2serotype:
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
176 # print(fastq, fastq2serotype[fastq])
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
177 line_to_print = fastq+'\t'+"\t".join(fastq2serotype[fastq])
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
178 tab_out.write(line_to_print+"\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
179 html_out.write('<tr>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
180 html_out.write('<td>'+fastq+'</td>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
181 for antigen in fastq2serotype[fastq]:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
182 html_out.write('<td>'+antigen+'</td>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
183 html_out.write('</tr>\n')
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
184 print(line_to_print)
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
185 html_out.write('</table>\n')
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
186 print("\n")
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
187 for fastq in fastq2comment:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
188 tab_out.write("\n"+fastq+"\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
189 html_out.write('<tr>\n')
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
190 html_out.write('<p>\n')
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
191 html_out.write('<td>'+fastq+"<br></td>\n")
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
192 for line in fastq2comment[fastq]:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
193 #if len(line) > 7:
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
194 html_out.write('<td>'+line+'</td>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
195 tab_out.write(line+"\n")
9
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
196 print(line)
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
197 print("\n")
acc5cd06a36a planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 7
diff changeset
198 html_out.write('</p>\n')
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
199 html_out.write('</tr>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
200 html_out.write('</body>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
201 html_out.write('</html>\n')
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
202 html_out.close()
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
203
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
204
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
205 def readFile(filename):
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
206 filehandle = open(filename)
7
3d6680af0bec planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 3
diff changeset
207 print(filehandle.read())
3
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
208 filehandle.close()
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
209
38ad1130d077 planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
charles_s_test
parents: 0
diff changeset
210
0
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
211 run2fastqs = list_runs(fastq_files)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
212 outputs = run_seqsero(run2fastqs)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
213 fastq2serotype, fastq2comment = get_serotypes(outputs)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
214 print_html(fastq2serotype, fastq2comment)
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
215
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
216 print_time()
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
217
6895de35a263 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
218