Open jaavedm opened 6 months ago
I figured it out. It is a documented scenario within croo.py
, but not handled in the code. It happens when the shard index is -1
In the method __interpret_inline_exp
of croo.py
, there is a comment about this scenario:
shard_idx: tuple of scatter indices. -1 means no scatter
e.g. (-1, 0, 1,):
no scatter in main workflow
scatter id 0 in subworkflow
scatter id 1 in subsubworkflow
The offending code does not handle this case, and the rna-seq-pipeline does return a metadata.json file where the shard_idx could be -1.
To workarround this scenario, I manually added the following code to the croo.py
script.
if i is None:
i = -1
Which is inserted directly above
while True:
m = re.search(Croo.RE_PATTERN_INLINE_EXP, result)
if m is None:
break
result = result.replace(m.group(0), str(eval(m.group(1))), 1)
Of course, a developer more knowledgeable about this codebase should investigate a proper way to handle the case where shard_idx is -1.
Hello,
I'm getting an error when trying to run croo after a successful run of the encode rna-seq-pipeline. My version of croo is 0.6.0
The command I ran is
croo /storage/aadams/scripts/encode/rna/rna/c8b7eb6a-2230-4bd1-a160-2e70c8ab5a8a/metadata.json --out-dir /storage/aadams/rna_analysis/pipelines/encode/rep0_ESC_WT/ --ucsc-genome-db hg38 --method copy
And the complete output and error I am getting is:
Croo was successful with copying another rna-seq-pipeline run, but I'm not sure why it is failing with this specific one. I am attaching the metadata.json file that gave the error.
metadata.json