-
Notifications
You must be signed in to change notification settings - Fork 0
Specifying SMRT Pipe parameters
The --params
option is the most important SMRT Pipe option, and is required for any sophisticated use. The option specifies an XML file that controls:
- The analysis modules to run.
- The order of execution.
- The parameters used by the modules.
The general structure of the settings XML file is as follows:
<?xml version="1.0"?>
<smrtpipeSettings>
<protocol>
...global parameters...
</protocol>
<module id="module_1">
...parameters...
</module>
<module id="module_2">
...parameters...
</module>
</smrtpipeSettings>
- The
protocol
element allows setting global parameters that could possibly be used by all modules. - Each
module
element defines an analysis module to run. - The order of the
module
elements defines the order in which the modules execute.
SMRT Portal protocol templates are located in: $SEYMOUR_HOME/common/protocols/
.
SMRT Pipe modules are located in:
$SEYMOUR_HOME/analysis/lib/pythonx.x/pbpy-0.1-py2.7.egg/pbpy/smrtpipe/modules/
.
You specify parameters by entering a key-value pair in a param
element.
- The name of the key is in the name attribute of the
param
element. - The value of the key is contained in a nested value element.
For example, to set the parameter named reference
, you specify:
<param name="reference">
<value>/share/references/repository/celegans</value>
</param>
Note: To reference a parameter value in other parameters, use the notation ${variable}
when specifying a value. For example, to reference a global parameter named home, use it in other parameters as ${home}
. SMRT Pipe supports arbitrary parameters in the settings XML file, so the use of temporary variables like this can help readability and maintainability.
Following is a complete example of a settings file for running filtering, mapping, and consensus steps against the E coli reference genome:
<?xml version="1.0" encoding="utf-8"?>
<smrtpipeSettings>
<protocol>
<param name="reference">
<value>/share/references/repository/ecoli</value>
</param>
</protocol>
<module name="P_Filter">
<param name="minLength">
<value>50</value>
</param>
<param name="readScore">
<value>0.75</value>
</param>
</module>
<module name="P_FilterReports" />
<module name="P_Mapping">
<param name="align_opts" hidden="true">
<value>--minAccuracy=0.75 --minLength=50 -x </value>
</param>
</module>
<module name="P_MappingReports" />
<module name="P_Consensus" />
<module name="P_ConsensusReports" />
</smrtpipeSettings>