NAME

   BioX::Workflow - A very opinionated template based workflow writer.

SYNOPSIS

   Most of the functionality can be accessed through the biox-workflow.pl
   script.

       biox-workflow.pl --workflow /path/to/workflow.yml

   This module was written with Bioinformatics workflows in mind, but
   should be extensible to any sort of workflow or pipeline.

Usage

   Please check out the full Usage Docs at BioX::Workflow::Usage

   Alternately, check out the github pages at
   http://jerowe.github.io/BioX-Workflow-Docs/showcase.html. This format
   may be easier to read.

In Code Documenation

   You shouldn't really need to look here unless you have some reason to
   do some serious hacking.

Attributes

   Moose attributes. Technically any of these can be changed, but may
   break everything.

 comment_char

   This should really be in BioX::Wrapper

 workflow

   Path to workflow workflow. This must be a YAML file.

 rule_based

   This is the default. The outer loop are the rules, not the samples

 sample_based

   Default Value. The outer loop is samples, not rules. Must be set in
   your global values or on the command line --sample_based 1

   If you ever have resample: 1 in your config you should NOT set this
   value to true!

stash

   This isn't ever used in the code. Its just there incase you want to
   persist objects across rules

   It uses Moose::Meta::Attribute::Native::Trait::Hash and supports all
   the methods.

           set_stash     => 'set',
           get_stash     => 'get',
           has_no_stash => 'is_empty',
           num_stashs    => 'count',
           delete_stash  => 'delete',
           stash_pairs   => 'kv',

plugins

   Load plugins as an opt

 No GetOpt Here

 attr

   attributes read in from runtime

 global_attr

   Attributes defined in the global section of the yaml file

 local_attr

   Attributes defined in the rules->rulename->local section of the yaml
   file

 local_rule

 process

   Our bash string

       bowtie2 -p 12 -I {$sample}.fastq -O {$sample}.bam

 key

   Name of the rule

 pkey

   Name of the previous rule

Subroutines

   Subroutines can also be overriden and/or extended in the usual Moose
   fashion.

 run

   Starting point.

 init_things

   Load the workflow, additional classes, and plugins

   Initialize the global_attr, make the global outdir, and find samples

workflow_load

   use Config::Any to load configuration files - yaml, json, etc

 plugin_load

   Load plugins defined in yaml or on command line with --plugins with
   MooseX::Object::Pluggable

 class_load

   Load classes defined in yaml with Class::Load

 make_template

   Make the template for interpolating strings

init_global_attr

   Add our global key from config file to the global_attr, and then to
   attr

   Deprecated: set_global_yaml

 create_attr

   Add attributes to $self-> namespace

 eval_attr

   Evaluate the keys for variables using Text::Template {$sample} ->
   SampleA {$self->indir} -> data/raw (or the indir of the rule)

   If variables are themselves hashes/array refs, leave them alone

clear_attr

   After each rule is processe clear the $self->attr

check_keys

   There should be one key and one key only!

clear_process_attr

   Clear the process attr

   Deprecated: clear_process_vars

init_process_vars

   Initialize the process vars

add_attr

   Add the local attr onto the global attr

DESCRIPTION

   BioX::Workflow - A very opinionated template based workflow writer.

AUTHOR

   Jillian Rowe <[email protected]>

Acknowledgements

   Before version 0.03

   This module was originally developed at and for Weill Cornell Medical
   College in Qatar within ITS Advanced Computing Team. With approval from
   WCMC-Q, this information was generalized and put on github, for which
   the authors would like to express their gratitude.

   As of version 0.03:

   This modules continuing development is supported by NYU Abu Dhabi in
   the Center for Genomics and Systems Biology. With approval from NYUAD,
   this information was generalized and put on bitbucket, for which the
   authors would like to express their gratitude.

COPYRIGHT

   Copyright 2015- Weill Cornell Medical College in Qatar

LICENSE

   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

SEE ALSO