comparison bismark_wrapper.py @ 17:aa9bf0f29a9f draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/bismark commit d85012b50faac3234496bb51e2a29c2d8c113bde"
author bgruening
date Wed, 28 Aug 2019 07:08:45 -0400
parents a4504327c890
children bb74e17e47d7
comparison
equal deleted inserted replaced
16:a4504327c890 17:aa9bf0f29a9f
67 67
68 parser.add_argument('--fastq', action='store_true', help='Query filetype is in FASTQ format') 68 parser.add_argument('--fastq', action='store_true', help='Query filetype is in FASTQ format')
69 parser.add_argument('--fasta', action='store_true', help='Query filetype is in FASTA format') 69 parser.add_argument('--fasta', action='store_true', help='Query filetype is in FASTA format')
70 parser.add_argument('--phred64-quals', dest='phred64', action="store_true") 70 parser.add_argument('--phred64-quals', dest='phred64', action="store_true")
71 parser.add_argument('--non-directional', dest='non_directional', action="store_true") 71 parser.add_argument('--non-directional', dest='non_directional', action="store_true")
72 parser.add_argument('--pbat', dest='pbat', action="store_true")
72 73
73 parser.add_argument('--skip-reads', dest='skip_reads', type=int) 74 parser.add_argument('--skip-reads', dest='skip_reads', type=int)
74 parser.add_argument('--score-min', dest='score_min', type=str) 75 parser.add_argument('--score-min', dest='score_min', type=str)
75 parser.add_argument('--qupto', type=int) 76 parser.add_argument('--qupto', type=int)
76 77
151 index_dir = os.path.dirname(args.index_path) 152 index_dir = os.path.dirname(args.index_path)
152 153
153 # Build bismark command 154 # Build bismark command
154 tmp_bismark_dir = tempfile.mkdtemp() 155 tmp_bismark_dir = tempfile.mkdtemp()
155 output_dir = os.path.join(tmp_bismark_dir, 'results') 156 output_dir = os.path.join(tmp_bismark_dir, 'results')
156 cmd = ['bismark', '--bam', '--gzip', '--temp_dir', tmp_bismark_dir, '-o', output_dir, '--quiet'] 157 cmd = ['bismark', '--bam', '--temp_dir', tmp_bismark_dir, '-o', output_dir, '--quiet']
158 if not args.pbat:
159 cmd.append('--gzip')
157 160
158 if args.fasta: 161 if args.fasta:
159 # the query input files (specified as mate1,mate2 or singles) are FastA 162 # the query input files (specified as mate1,mate2 or singles) are FastA
160 cmd.append('--fasta') 163 cmd.append('--fasta')
161 elif args.fastq: 164 elif args.fastq:
185 cmd.extend(['--upto', 'args.qupto']) 188 cmd.extend(['--upto', 'args.qupto'])
186 if args.phred64: 189 if args.phred64:
187 cmd.append('--phred64-quals') 190 cmd.append('--phred64-quals')
188 if args.non_directional: 191 if args.non_directional:
189 cmd.append('--non-directional') 192 cmd.append('--non-directional')
193 if args.pbat:
194 cmd.append('--pbat')
190 if args.suppress_header: 195 if args.suppress_header:
191 cmd.append('--sam-no-hd') 196 cmd.append('--sam-no-hd')
192 if args.output_unmapped_reads or (args.output_unmapped_reads_l and args.output_unmapped_reads_r): 197 if args.output_unmapped_reads or (args.output_unmapped_reads_l and args.output_unmapped_reads_r):
193 cmd.append('--un') 198 cmd.append('--un')
194 if args.output_suppressed_reads or (args.output_suppressed_reads_l and args.output_suppressed_reads_r): 199 if args.output_suppressed_reads or (args.output_suppressed_reads_l and args.output_suppressed_reads_r):
221 for line in fileinput.input(glob(os.path.join(output_dir, '*report.txt'))): 226 for line in fileinput.input(glob(os.path.join(output_dir, '*report.txt'))):
222 output_report_file.write(line) 227 output_report_file.write(line)
223 output_report_file.close() 228 output_report_file.close()
224 229
225 if args.output_suppressed_reads: 230 if args.output_suppressed_reads:
226 if glob(os.path.join(output_dir, '*ambiguous_reads.txt')): 231 if glob(os.path.join(output_dir, '*ambiguous_reads.*')):
227 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads.txt'))[0], args.output_suppressed_reads) 232 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads.*'))[0], args.output_suppressed_reads)
228 if args.output_suppressed_reads_l: 233 if args.output_suppressed_reads_l:
229 if glob(os.path.join(output_dir, '*ambiguous_reads_1.txt')): 234 if glob(os.path.join(output_dir, '*ambiguous_reads_1.*')):
230 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads_1.txt'))[0], args.output_suppressed_reads_l) 235 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads_1.*'))[0], args.output_suppressed_reads_l)
231 if args.output_suppressed_reads_r: 236 if args.output_suppressed_reads_r:
232 if glob(os.path.join(output_dir, '*ambiguous_reads_2.txt')): 237 if glob(os.path.join(output_dir, '*ambiguous_reads_2.*')):
233 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads_2.txt'))[0], args.output_suppressed_reads_r) 238 shutil.move(glob(os.path.join(output_dir, '*ambiguous_reads_2.*'))[0], args.output_suppressed_reads_r)
234 239
235 if args.output_unmapped_reads: 240 if args.output_unmapped_reads:
236 if glob(os.path.join(output_dir, '*unmapped_reads.txt')): 241 if glob(os.path.join(output_dir, '*unmapped_reads.*')):
237 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads.txt'))[0], args.output_unmapped_reads) 242 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads.*'))[0], args.output_unmapped_reads)
238 if args.output_unmapped_reads_l: 243 if args.output_unmapped_reads_l:
239 if glob(os.path.join(output_dir, '*unmapped_reads_1.txt')): 244 if glob(os.path.join(output_dir, '*unmapped_reads_1.*')):
240 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads_1.txt'))[0], args.output_unmapped_reads_l) 245 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads_1.*'))[0], args.output_unmapped_reads_l)
241 if args.output_unmapped_reads_r: 246 if args.output_unmapped_reads_r:
242 if glob(os.path.join(output_dir, '*unmapped_reads_2.txt')): 247 if glob(os.path.join(output_dir, '*unmapped_reads_2.*')):
243 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads_2.txt'))[0], args.output_unmapped_reads_r) 248 shutil.move(glob(os.path.join(output_dir, '*unmapped_reads_2.*'))[0], args.output_unmapped_reads_r)
244 249
245 try: 250 try:
246 # merge all bam files 251 # merge all bam files
247 tmp_res = tempfile.NamedTemporaryFile(dir=output_dir).name 252 tmp_res = tempfile.NamedTemporaryFile(dir=output_dir).name
248 253