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