# Test workflow with custom resource types
# Tests: custom resources beyond mem_mb and threads

SAMPLES = ["A", "B", "C"]

rule all:
    input: expand("output/{sample}.done", sample=SAMPLES)

rule gpu_job:
    """Job with custom GPU resource."""
    output: "output/{sample}.gpu.txt"
    resources:
        gpu=1,
        mem_mb=500
    shell: "echo 'GPU job for {wildcards.sample}' > {output}"

rule disk_intensive_job:
    """Job with disk IO resource."""
    input: "output/{sample}.gpu.txt"
    output: "output/{sample}.done"
    resources:
        disk_mb=1000,
        io_weight=2
    threads: 2
    shell: "cat {input} > {output} && echo 'disk intensive' >> {output}"
