public BamResult mapping()

in src/main/java/com/epam/fonda/workflow/stage/impl/Alignment.java [97:128]


    public BamResult mapping(final Flag flag, final FastqFileSample sample, final Configuration configuration,
                             final TemplateEngine templateEngine) {
        if (flag.isStar()) {
            bamResult = new Star(flag, sample, fastqResult.getOut()).generate(configuration, templateEngine);
            if (!flag.isRsem() && !isRnaCaptureVarFastq(configuration)) {
                bamResult = markDuplicate(flag, sample, configuration, templateEngine);
                qcCheck(flag, sample, configuration, templateEngine);
            }
        } else if (flag.isHisat2()) {
            bamResult = new Hisat2(sample, fastqResult.getOut()).generate(configuration, templateEngine);
            bamResult = markDuplicate(flag, sample, configuration, templateEngine);
            qcCheck(flag, sample, configuration, templateEngine);
        } else if (flag.isStarFusion()) {
            StarFusionResult starFusionResult = new StarFusion(sample, fastqResult.getOut())
                    .generate(configuration, templateEngine);
            bamResult.setCommand(mergeCommands(starFusionResult.getCommand()));
            return bamResult;
        } else if (flag.isBwa()) {
            bamResult = new BwaSort(sample, fastqResult.getOut().getMergedFastq1(),
                    fastqResult.getOut().getMergedFastq2(), index).generate(configuration, templateEngine);
        } else if (flag.isNovoalign()) {
            bamResult = new NovoalignSort(sample, fastqResult.getOut().getMergedFastq1(),
                    fastqResult.getOut().getMergedFastq2(), index).generate(configuration, templateEngine);
        }
        if (flag.isSalmon()) {
            SalmonResult salmonResult = new Salmon(sample, fastqResult).generate(configuration, templateEngine);
            bamResult.setCommand(mergeCommands(salmonResult.getCommand()));
            return bamResult;
        }
        mergeCommands(bamResult.getCommand());
        return bamResult;
    }