-
Notifications
You must be signed in to change notification settings - Fork 20
Description
As is the case with many pipelines, I wonder if it would be an improvement to switch from having the assembly-strategy as a pipeline parameter towards having this as a per-sample setting.
The advantage of this would be that it should then be easier to compare how different assemblers, etc perform on a dataset. For this to be actually useful, it would then also be necessary to pass sample-specific args to the assembly steps.
The main argument against doing this is that would increase complexity for users, and it would require a bit of work in the pipeline; mainly updates to the assemble workflow and reporting as well as some overall refactoring to carry those sample-wise settings through the pipeline as part of the meta-map.
As I currently imagine this, this would extend the samplesheet by these columns:
ont_assembler, ont_assembler_args, hifi_assembler, hifi_assembler_args,scaffolding
Where ont_assembler specifies the assembler for ONT reads, hifi_assembler specifies the assembler for hifi reads, *_args specifies tool specific args, and scaffolding indicates if one assembly should be scaffolded on the other (as e.g. flye_on_hifiasm does), but may also be used to toggle hybrid assembly for assemblers that support it (e.g. hifiasm --ul). scaffolding could e.g. take values ont_on_hifi, hifi_on_ont and none, which should cover all current options.