Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: 1.7.2.2
-
Component/s: None
-
Labels:None
Description
One of our users has reported that when creating a workflow that contains a cross product iteration strategy, the ordering is reversed when after being saved. I.e. a strategy AxB becomes BxA when the workflow is reloaded.
Full text of the email below:
I'm currently creating a workflow doing some alignment analysis using
the ebi fasta service and a beanshell processor (which is used to filter
the blast reports (selecting all bit scores, e-values and identity score
per alignment). This result is passed to an R processor to perform
statistical analysis. The filtering beanshell processor gets a boolean
input value (HighestScoreOnly) which is used to determine whether only
the best hit should be returned or all hits should be returned.When I run this workflow, I want to be able to give the HighestScoreOnly
variable both values true and false (and to generate both types of
reports. The filter beanshell processor has two inputs:A boolean (HighestScoreOnly) and a blast report. It delivers a list of
'hits', which is a tab seperated line of
"SequenceId\tBitScore\tIdentity\tEValue".I have added an iteration strategy HighestScoreOnly x BlastReport to be
able to give both true and false as input value and a list of blast
reports.The the results should be a list consisting of two sub lists (for each
boolean value) consisting of a list of hits for each blast reports (for
example[ // first list, all hits in a blast array
[["seq1 54.8 5.3E-10 100.0", "seq1 18.2 4.0 74.0"],
["seq2 54.8 5.3E-10 100.0", ", "seq2 20.3 3.8
71.0"], etc...
],// second list, highes value only per sequence
[
["seq1 54.8 5.3E-10 100.0"],
["seq2 54.8 5.3E-10 100.0"], etc], etc...
]
]This works fine. However, when I save the workflow and reread this
workflow, than the iteration strategy is swapped (BlastReport x
HighesScoreOnly) (which is the default order created by Taverna) instead
of (HighesScoreOnly x BlastReport).This delivers a different result (a list consisting of a list per blast
report consisting of two sub lists (for each boolean value) of which the
first contains all blast hits of the corresponding sequence and the
second contains only the highest hit.So the problem is that the order of iteration is not saved. Is this a
bug? I have worked around this problem by creating a sub workflow which
only accepts one boolean value and a list of blast reports.
Issue Links
| Related | |||
|---|---|---|---|
|
|||