The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

BioX::Workflow::SpecialVars

Variables that BioX::Workflow treats as special.

Directories - indir, outdir are looped. The indir of one rule is the outdir of the previous rule

Files - INPUT, OUTPUT are also looped. The INPUT of one rule is the OUTPUT of the previous.

INPUT and OUTPUT are used by the BioX::Workflow::Plugin::Drake and BioX::Workflow::Plugin::FileEixsts plugins.

Variables

auto_name

Auto_name - Create outdirectory based on rulename

global: - outdir: /home/user/workflow/processed rule: normalize: process: dostuff {$self->indir}/{$sample}.in >> {$self->outdir}/$sample.out analyse: process: dostuff {$self->indir}/{$sample}.in >> {$self->outdir}/$sample.out

Would create your directory structure /home/user/workflow/processed/normalize (if it doesn't exist)

In addition each indir is the outdir of the previous rule

The indir of analyse (though not specified) is normalize.

auto_input

This is similar to the auto_name function in the BioX::Workflow. Instead this says each INPUT should be the previous OUTPUT.

create_outdir

indir outdir

The initial indir is where samples are found

All output is written relative to the outdir

INPUT OUTPUT

Special variables that can have input/output

These variables are also used in BioX::Workflow::Plugin::Drake

Subroutines

OUTPUT_to_INPUT

If we are using auto_input chain INPUT/OUTPUT

make_outdir

Set initial indir and outdir

reset_special_vars

For each sample the process is interpolated

    {$sample}.csv -> Sample_A.csv

We need to set it back to the original for the following rule