GotCloud: Creating a New Pipeline
From Genome Analysis Wiki
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Creating a New BAM Processing Pipeline
GotCloud allows you to configure new basic BAM processing pipelines via configuration.
To define new processing pipelines, you will use Configuration sections to define both the pipeline and each of the steps. So first you need to understand how configuration sections work.
GotCloud Configuration Sections
GotCloud configuration files can be broken into sections:
- Section names are specified between square brakets (
[]
)[sectionName]
- Any configuration settings specified after the section header belong to that section
- A section can be specified multiple times in the file and the configuration settings are accumulated
- To access a value for a key defined in another section, use
$(otherSectionName/keyName)
- If a section is not specified, the configuration settings belong to the
global
section- The
global
section does not need to be specified at the beginning of the file (it is the default section). - Additional
global
settings can be set later in the file after other settings, by defining the explicitly section:[global]
- The
- Sections can be derived from another section
- All sections automatically derive from
[global]
- A derived section inherits all the configuration settings from its parent sections
- Parent settings are overridden by redefining the configuration key/value pair
- A parent section is specified following a semicolon
:
on the section definition line:[childSectionName] : parentSectionName
- All sections automatically derive from
- Section specific configuration settings are specified on the lines following the section definition:
[section1] KEY1 = VAL1 KEY2 = VAL2 [section2] KEY1 = VAL1_2 KEY3 = VAL3
Defining a New Pipeline
- Define a new configuration section for your pipeline
- Example:
[pipelineName]
- Define the steps in this pipeline using the key
STEPS
under that section- Example:
[pipelineName] STEPS = stepName1 stepName2 stepName3
- Note: each step must have its own configuration section
- Create a section for each step
- Example:
[stepName1]
- Set required keys for each step:
DEPEND
- dependencies for this step- Valid Values (separate multiple dependencies with a space):
BAM
- Name of step that must complete prior to this step
- Valid Values (separate multiple dependencies with a space):
OUTPUT
- name of output fileCMD
- command for running the step
- Example: