annotate multigps_wrapper.py @ 4:32cff4d1d0ff draft

Uploaded
author greg
date Wed, 23 Dec 2015 10:34:14 -0500
parents 269f8d00045c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
269f8d00045c Uploaded
greg
parents:
diff changeset
1 import optparse
269f8d00045c Uploaded
greg
parents:
diff changeset
2 import os
269f8d00045c Uploaded
greg
parents:
diff changeset
3 import sys
269f8d00045c Uploaded
greg
parents:
diff changeset
4
269f8d00045c Uploaded
greg
parents:
diff changeset
5 parser = optparse.OptionParser()
269f8d00045c Uploaded
greg
parents:
diff changeset
6 parser.add_option('--threads', dest='threads', type="string", help='The number of threads to run')
269f8d00045c Uploaded
greg
parents:
diff changeset
7 parser.add_option('--input_files', dest='input_file', action='append', nargs='1', type="string", help='Input datasets')
269f8d00045c Uploaded
greg
parents:
diff changeset
8
269f8d00045c Uploaded
greg
parents:
diff changeset
9 parser.add_option('--genome_info_file', dest='genome_info_file', type="string", help='Genome information file')
269f8d00045c Uploaded
greg
parents:
diff changeset
10 parser.add_option('--replicate_available', dest='replicate_available', type="string", help='Are the selected inputs biological replicates')
269f8d00045c Uploaded
greg
parents:
diff changeset
11 parser.add_option('--smoothing_factor', dest='smoothing_factor', type="int", help='Gaussian smoothing standard deviation')
269f8d00045c Uploaded
greg
parents:
diff changeset
12 parser.add_option('--output_report', dest='output_report', type="string", help='MultiGPS output report')
269f8d00045c Uploaded
greg
parents:
diff changeset
13 parser.add_option('--gff', dest='gff', type="string", help='...')
269f8d00045c Uploaded
greg
parents:
diff changeset
14 parser.add_option('--gz', dest='gz', type="string", help='...')
269f8d00045c Uploaded
greg
parents:
diff changeset
15 parser.add_option('--design_file', dest='design_file', type="string", help='...')
269f8d00045c Uploaded
greg
parents:
diff changeset
16
269f8d00045c Uploaded
greg
parents:
diff changeset
17 options, args = parser.parse_args()
269f8d00045c Uploaded
greg
parents:
diff changeset
18
269f8d00045c Uploaded
greg
parents:
diff changeset
19 dh = open('/tmp/out.log', 'wb')
269f8d00045c Uploaded
greg
parents:
diff changeset
20 dh.write( '\n options: \n%s\n' % str( options))
269f8d00045c Uploaded
greg
parents:
diff changeset
21 dh.write( '\n args: \n%s\n' % str( args))
269f8d00045c Uploaded
greg
parents:
diff changeset
22 dh.close()
269f8d00045c Uploaded
greg
parents:
diff changeset
23 sys,stderr.write('Finished...')
269f8d00045c Uploaded
greg
parents:
diff changeset
24 sys.exit(1)
269f8d00045c Uploaded
greg
parents:
diff changeset
25
269f8d00045c Uploaded
greg
parents:
diff changeset
26
269f8d00045c Uploaded
greg
parents:
diff changeset
27 genome = options.genome
269f8d00045c Uploaded
greg
parents:
diff changeset
28 input_format = options.input_format
269f8d00045c Uploaded
greg
parents:
diff changeset
29 replicate = options.replicate
269f8d00045c Uploaded
greg
parents:
diff changeset
30 smooth = options.smooth
269f8d00045c Uploaded
greg
parents:
diff changeset
31 output_file = options.report
269f8d00045c Uploaded
greg
parents:
diff changeset
32 output_file2 = options.gff
269f8d00045c Uploaded
greg
parents:
diff changeset
33 output_file3 = options.gz
269f8d00045c Uploaded
greg
parents:
diff changeset
34 # input_file = sys.argv[8]
269f8d00045c Uploaded
greg
parents:
diff changeset
35 design_file = options.design_file
269f8d00045c Uploaded
greg
parents:
diff changeset
36 input_file = options.input_files[0]
269f8d00045c Uploaded
greg
parents:
diff changeset
37 if len(options.input_files) > 1:
269f8d00045c Uploaded
greg
parents:
diff changeset
38 design_arg = '--design %s' % design_file
269f8d00045c Uploaded
greg
parents:
diff changeset
39 else:
269f8d00045c Uploaded
greg
parents:
diff changeset
40 design_arg = ''
269f8d00045c Uploaded
greg
parents:
diff changeset
41 print file(design_file, 'r').read()
269f8d00045c Uploaded
greg
parents:
diff changeset
42
269f8d00045c Uploaded
greg
parents:
diff changeset
43 tmp_name = output_file.split("/")
269f8d00045c Uploaded
greg
parents:
diff changeset
44 tmp_name = tmp_name[len(tmp_name)-1]
269f8d00045c Uploaded
greg
parents:
diff changeset
45
269f8d00045c Uploaded
greg
parents:
diff changeset
46 input_tmp_name = input_file.split("/")
269f8d00045c Uploaded
greg
parents:
diff changeset
47 input_tmp_name = input_tmp_name[len(input_tmp_name)-1]
269f8d00045c Uploaded
greg
parents:
diff changeset
48 tmp_name2 = input_tmp_name.split(".")
269f8d00045c Uploaded
greg
parents:
diff changeset
49
269f8d00045c Uploaded
greg
parents:
diff changeset
50 f = open("/home/galaxy/galaxy-dist/tools/pughlab/command_tmp/"+tmp_name+".pbs","w")
269f8d00045c Uploaded
greg
parents:
diff changeset
51 f.write("cd /home/galaxy/galaxy-dist/tools/pughlab/command_tmp/\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
52 f.write("mkdir "+tmp_name+"_analysis_result\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
53 f.write("cd "+tmp_name+"_analysis_result\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
54 f.write("ln -s "+input_file+" .\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
55
269f8d00045c Uploaded
greg
parents:
diff changeset
56 # cnt = 1
269f8d00045c Uploaded
greg
parents:
diff changeset
57 # for ele in filenames:
269f8d00045c Uploaded
greg
parents:
diff changeset
58 # if replicate == "Yes":
269f8d00045c Uploaded
greg
parents:
diff changeset
59 # f.write("echo '"+ele+"\tSignal\t"+input_format+"\tDemoExp\t"+str(cnt)+"' >> target.design\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
60 # else:
269f8d00045c Uploaded
greg
parents:
diff changeset
61 # f.write("echo '"+ele+"\tSignal\t"+input_format+"\tDemoExp"+str(cnt)+"\t"+str(cnt)+"' >> target.design\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
62 # cnt = cnt + 1
269f8d00045c Uploaded
greg
parents:
diff changeset
63 f.write("java -Xmx6G -jar /home/galaxy/software/multigps/multigps_v0.5.jar --geninfo /home/galaxy/software/multigps/"+genome+".info --threads 4 "+design_arg+" --verbose --gaussmodelsmoothing --gausssmoothparam "+smooth+" --out multigps_out --memepath ~/bin --mememinw 6 --mememaxw 16 --seq /home/galaxy/software/multigps/refs/"+genome+" >multiGPS.out 2>&1\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
64 f.write("rm -rf "+output_file+"\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
65 f.write("mv multigps_out/multigps_out.all.events.table "+output_file+"\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
66 f.write("tar cvzf multigps_out.tar.gz multigps_out\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
67 f.write("mv multigps_out.tar.gz "+output_file3+"\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
68
269f8d00045c Uploaded
greg
parents:
diff changeset
69 f.close()
269f8d00045c Uploaded
greg
parents:
diff changeset
70
269f8d00045c Uploaded
greg
parents:
diff changeset
71 os.system("sh /home/galaxy/galaxy-dist/tools/pughlab/command_tmp/"+tmp_name+".pbs 2>&1")
269f8d00045c Uploaded
greg
parents:
diff changeset
72
269f8d00045c Uploaded
greg
parents:
diff changeset
73 f2 = open(output_file, "r")
269f8d00045c Uploaded
greg
parents:
diff changeset
74 f3 = open(output_file2, "w")
269f8d00045c Uploaded
greg
parents:
diff changeset
75 for line in f2:
269f8d00045c Uploaded
greg
parents:
diff changeset
76 line = line.strip()
269f8d00045c Uploaded
greg
parents:
diff changeset
77 data = line.split("\t")
269f8d00045c Uploaded
greg
parents:
diff changeset
78 if line[:1] != "#":
269f8d00045c Uploaded
greg
parents:
diff changeset
79 chrom = data[0].split(":")
269f8d00045c Uploaded
greg
parents:
diff changeset
80 f3.write(chrom[0]+"\tmultigps\t.\t"+chrom[1]+"\t"+chrom[1]+"\t"+data[1]+"\t.\t.\t.\n")
269f8d00045c Uploaded
greg
parents:
diff changeset
81 f3.close()
269f8d00045c Uploaded
greg
parents:
diff changeset
82 f2.close()
269f8d00045c Uploaded
greg
parents:
diff changeset
83 exit(0)