-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlarmap_setup.py
40 lines (34 loc) · 1.52 KB
/
larmap_setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import sys
if __name__ == '__main__':
run_info_file, sample_info_file = sys.argv[1:]
run_info = {}
with open(run_info_file) as in_file:
for line in in_file:
info = line.strip()
if info:
run_key, run_value = info.split('\t')
run_info[run_key] = run_value
with open(sample_info_file) as in_file, open('sbatch_all.sh', 'w') as sbatch_out:
next(in_file)
for line in in_file:
sinfo = line.strip().split('\t')
sample_output_base = '_'.join(sinfo[:-2])
read_one_file, read_two_file = sinfo[-2:]
script_path = sample_output_base + '_larmap.sh'
with open(script_path, 'w') as out_file:
out_file.write('#!/bin/bash\n\n')
out_file.write(f'{run_info["scripts_dir"]}/larmap_run.sh \\\n')
out_file.write(f'-d {run_info["fastq_dir"]} \\\n-1 {read_one_file} -2 {read_two_file} \\\n')
out_file.write(f'-o {run_info["output_dir"]} \\\n')
out_file.write(f'-e {sample_output_base} \\\n')
out_file.write(f'-c {run_info["num_cpus"]} \\\n')
out_file.write(f'-f {run_info["ref_fasta"]} \\\n')
out_file.write(f'-i {run_info["ref_b2index"]} \\\n')
out_file.write(f'-g {run_info["ref_gtf"]} \\\n')
out_file.write(f'-n {run_info["ref_introns"]} \\\n')
out_file.write(f'-5 {run_info["ref_5p_fasta"]} \\\n')
out_file.write(f'-u {run_info["ref_5p_upstream"]} \\\n')
out_file.write(f'-3 {run_info["ref_3p_b2index"]} \\\n')
out_file.write(f'-l {run_info["ref_3p_lengths"]} \\\n')
out_file.write(f'-m {run_info["ref_repeatmasker"]}\n')
sbatch_out.write(f'sbatch {script_path}\n')