Git Product home page Git Product logo

biox-workflow's Introduction

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

biox-workflow's People

Contributors

jerowe avatar jillrowe avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.