in src/main/java/com/epam/fonda/workflow/WorkflowFactory.java [43:73]
public Workflow getWorkflow(final String workflowName, final Configuration configuration) {
final Flag flag = Flag.buildFlags(configuration);
final ScriptManager scriptManager = configuration.isMasterMode()
? MasterScript.getInstance()
: null;
switch (PipelineType.getByName(workflowName)) {
case RNA_EXPRESSION_FASTQ:
case SC_RNA_EXPRESSION_FASTQ:
case RNA_CAPTURE_VAR_FASTQ:
return new RnaExpressionFastqWorkflow(flag, scriptManager);
case SC_RNA_EXPRESSION_CELLRANGER_FASTQ:
return new SCRnaExpressionCellRangerFastqWorkflow(flag, scriptManager);
case RNA_EXPRESSION_BAM:
case SC_RNA_EXPRESSION_BAM:
return new RnaExpressionBamWorkflow(flag, scriptManager);
case RNA_FUSION_FASTQ: return new RnaFusionFastqWorkflow(flag, scriptManager);
case DNA_AMPLICON_VAR_FASTQ: return new DnaVarFastqWorkflow(flag, "Index mkdup bam", scriptManager);
case DNA_CAPTURE_VAR_FASTQ:
case DNA_WGS_VAR_FASTQ:
return new DnaVarFastqWorkflow(flag, "Index rmdup bam", scriptManager);
case DNA_AMPLICON_VAR_BAM:
case DNA_CAPTURE_VAR_BAM:
case DNA_WGS_VAR_BAM:
return new DnaVarBamWorkflow(flag, scriptManager);
case BAM_2_FASTQ: return new Bam2FastqWorkflow(flag, scriptManager);
case TCR_REPERTOIRE_FASTQ: return new TcrRepertoireFastqWorkflow(flag, scriptManager);
case HLA_TYPING_FASTQ: return new HlaTypingFastqWorkflow(flag, scriptManager);
default: throw new IllegalArgumentException(String.format("Requested workflow %s is not supported yet",
workflowName));
}
}