diff --git a/cosigt_smk/workflow/rules/pggb.smk b/cosigt_smk/workflow/rules/pggb.smk index 5dcbba0..f038bbe 100644 --- a/cosigt_smk/workflow/rules/pggb.smk +++ b/cosigt_smk/workflow/rules/pggb.smk @@ -3,7 +3,8 @@ rule pggb: pggb ''' input: - rules.pgrtk_get_seq.output, + fasta=rules.pgrtk_get_seq.output, + index=rules.faidx.output output: 'results/pggb/{region}.og' threads: @@ -18,7 +19,7 @@ rule pggb: shell: ''' pggb \ - -i {input} \ + -i {input.fasta} \ -o {params.prefix} \ -p 90 \ -s 5k \ diff --git a/cosigt_smk/workflow/rules/pgrtk.smk b/cosigt_smk/workflow/rules/pgrtk.smk index d9f6fcf..a79123a 100644 --- a/cosigt_smk/workflow/rules/pgrtk.smk +++ b/cosigt_smk/workflow/rules/pgrtk.smk @@ -1,16 +1,39 @@ rule pgrtk_get_seq: + ''' + run pgrtk api + ''' input: agc=config['agc'], region=lambda wildcards: glob('resources/regions/{region}.bed'.format(region=wildcards.region)) output: 'results/pgrtk/{region}.fa' threads: - 1 + config['pgrtk']['threads'] container: 'docker://davidebolo1993/graph_genotyper:latest' params: padding=config['pgrtk']['padding'] + resources: + mem_mb=config['pgrtk']['mem_mb'], + time=config['pgrtk']['time'] shell: ''' python workflow/scripts/pypgrtk.py {input.agc} {input.region} {params.padding} {output} + ''' + +rule faidx: + ''' + samtools faidx + ''' + input: + rules.pgrtk_get_seq.output + output: + 'results/pgrtk/{region}.fa.fai' + threads: + 1 + container: + 'docker://davidebolo1993/graph_genotyper:latest' + shell: + ''' + samtools faidx {input} ''' \ No newline at end of file diff --git a/cosigt_smk/workflow/scripts/organize.py b/cosigt_smk/workflow/scripts/organize.py index afa1290..5f817b5 100644 --- a/cosigt_smk/workflow/scripts/organize.py +++ b/cosigt_smk/workflow/scripts/organize.py @@ -88,6 +88,7 @@ def default_parameters(args): #pgrtk d['pgrtk']=dict() d['pgrtk']['padding'] = args.pgrtk_padding + d['pgrtk']['threads'] = args.pgrtk_threads d['pgrtk']['mem_mb'] = args.pgrtk_memory d['pgrtk']['time'] = double_quote(args.pgrtk_time) @@ -134,12 +135,13 @@ def main(): #pgrtk metrics.add_argument('--pgrtk_padding', help='padding (#bps) - pgrtk commands [100000]',type=int, default=100000) + metrics.add_argument('--pgrtk_threads', help='threads - pgrtk commands [10]',type=int, default=10) metrics.add_argument('--pgrtk_time', help='max time (hh:mm:ss) - pgrtk commands ["00:05:00"]',type=str, default='00:05:00') metrics.add_argument('--pgrtk_memory', help='max memory (mb) - samtools (view/sort) commands [30000]',type=int, default=30000) #pggb metrics.add_argument('--pggb_threads', help='threads - pggb command [32]',type=int, default=32) - metrics.add_argument('--pggb_time', help='max time (hh:mm:ss) - odgi (build) commands ["00:15:00"]',type=str, default='00:15:00') + metrics.add_argument('--pggb_time', help='max time (hh:mm:ss) - odgi (build) commands ["00:25:00"]',type=str, default='00:25:00') metrics.add_argument('--pggb_memory', help='max memory (mb) - odgi (build) commands [5000]',type=int, default=5000) args = parser.parse_args()