annotate run_seqsero_batch_galaxy_09-15-17.py @ 2:381e1e7109fc draft default tip

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