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

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 <jillian.e.rowe@gmail.com>

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

