Opened 6 years ago

Closed 6 years ago

#629 closed enhancement (fixed)

Use annotations on protocols in the demux and mask/align step to set some program parameters

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: Reggie v3.1
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

Some program parameters for picard, bowtie, tophat, etc. are currently configured in the reggie-ogs-hosts.xml file. It would be nice to define protocol annotations for some of those parameters. In the gui it is already possible to select a protocol, but we would need to add checks that parameters that are required are set.

We have to think about which of the parameters should be moved to annotations and which that should remain in the configuration file. Some parameters could also be annotations on the software items or have fallbacks to default values.

Change History (9)

comment:1 Changed 6 years ago by Nicklas Nordborg

Milestone: Reggie v3.xReggie v3.1
Status: newassigned

I have been thinking about this and it feels a bit uncomfortable to store values in annotations that go directly into generated scripts that are executed on the server. We could try to implement checks that makes sure nothing unsafe gets through, but there is always the risk that something is missed.

A better approach may be to add support for defining alternate parameter sets in the configuration file and then just let a single annotation on the software/protocol hold the name of the parameter set. The default parameters are used if no annotation is set and for parameters not specified in the alternate set.

For example (in the coniguration file):

<tophat-options>
  --library-type fr-firststrand ...
</tophat-options>
<tophat-options parameter-set="alternate">
   --library-type fr-secondstrand ...
</tophat-options>

The we could have a annotation for type 'Alignment' (software) that is PARAMETER_SET=alternate.

comment:2 Changed 6 years ago by Nicklas Nordborg

(In [3114]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Prepared for parameter sets by implementing support for this in the reggie-config.xml file. Each configuration parameter (leaf nodes) can now have an optional parameter-set attribute which is a comma-separated list of names. There should always be a default option without a parameter set. See the example in the previous comment.

Added ParameterSet annotation and enabled it for software items. The intention is that this annotation holds the name of the parameter set that should be used when the software item is selected.

comment:3 Changed 6 years ago by Nicklas Nordborg

(In [3115]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Updated the 'Start masking and alignment' wizard to display the ParameterSet annotation and description of the selected software item.

comment:4 Changed 6 years ago by Nicklas Nordborg

(In [3116]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Updated the 'Start masking and aligment' wizard so that it display a warning message if a software item with a ParameterSet is selected and that parameter set doesn't have any parameters in reggie-config.xml.

comment:5 Changed 6 years ago by Nicklas Nordborg

(In [3117]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

The mask/align job now check the ParameterSet annotation on the software items and use parameters from the specified parameter set.

The mask step uses the parameter set defined by the masking software. All parameters inside the <mask> tag as well as the <programs><*><path> paths are supported.

The alignment step (including extra scripts that are run after tophat) uses the parameter set defined by the alignment software. All parameters inside the <align> tag as well as the <programs><*><path> paths are supported.

comment:6 Changed 6 years ago by Nicklas Nordborg

(In [3118]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Implemented for the cufflinks step as well. All parameters inside the <cufflinks> tag as well as the <programs><*><path> paths are supported.

comment:7 Changed 6 years ago by Nicklas Nordborg

(In [3128]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Implemented for the demux/merge step. All parameters inside the <demux> tag as well as the <programs><*><path> paths are supported.

comment:8 Changed 6 years ago by Nicklas Nordborg

(In [3129]) References #629: Use annotations on protocols in the demux and mask/align step to set some program parameters

Remove deprecated methods and replaced calls to the new methods.

comment:9 Changed 6 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.