private VariantsVcfResult postMutect2Processing()

in src/main/java/com/epam/fonda/workflow/stage/impl/SecondaryAnalysis.java [213:261]


    private VariantsVcfResult postMutect2Processing(final Configuration configuration,
                                                    final TemplateEngine templateEngine,
                                                    final VariantsVcfResult mutect2ToolResult) {
        final VariantsVcfOutput variantsVcfOutput = mutect2ToolResult.getVariantsVcfOutput();
        final AbstractCommand mutect2ToolCommand = mutect2ToolResult.getAbstractCommand();
        final String variantsOutputDir = variantsVcfOutput.getVariantsOutputDir();
        if ("mm10".equals(configuration.getGlobalConfig().getDatabaseConfig().getGenomeBuild())) {
            final VariantsVcfResult variantsVcfResult = new FilterMutectCalls(sampleName, variantsOutputDir,
                    variantsVcfOutput.getVariantsVcf()).generate(configuration, templateEngine);
            mutect2ToolCommand.setToolCommand(mutect2ToolCommand.getToolCommand()
                    + variantsVcfResult.getAbstractCommand().getToolCommand());
            mutect2ToolResult.getVariantsVcfOutput().setVariantsVcf(
                    variantsVcfResult.getVariantsVcfOutput().getVariantsVcfFiltered());
            return mutect2ToolResult;
        }
        final PileupSummariesResult pileupSummariesResult =
                new PileupSummaries(sampleName, bamResult.getBamOutput(), variantsOutputDir)
                .generate(configuration, templateEngine);
        final CalculateContaminationResult calculateContamResult =
                new CalculateContamination(sampleName, pileupSummariesResult.getPileupTable(), variantsOutputDir)
                .generate(configuration, templateEngine);
        final BamResult gatkSortSamResult =
                new GatkSortSam(sampleName, variantsVcfOutput.getBamout(), variantsOutputDir)
                .generate(configuration, templateEngine);
        final LearnReadOrientationModelResult orientationModelResult =
                new LearnReadOrientationModel(sampleName, variantsVcfOutput.getF1R2Metrics(), variantsOutputDir)
                .generate(configuration, templateEngine);
        final CalculateContaminationOutput contamOutput = calculateContamResult.getCalculateContaminationOutput();
        final VariantsVcfResult filterMutectCallsVcfResult =
                new FilterMutectCalls(sampleName, variantsOutputDir, variantsVcfOutput.getVariantsVcf(),
                        contamOutput.getContaminationTable(), contamOutput.getTumorSegmentation(),
                        orientationModelResult.getLearnReadOrientationModelOutput().getArtifactPriorTables())
                .generate(configuration, templateEngine);
        final VariantsVcfResult alignmentArtifactsVariantsVcfResult =
                new FilterAlignmentArtifacts(sampleName, variantsOutputDir,
                        filterMutectCallsVcfResult.getVariantsVcfOutput().getVariantsVcfFiltered(),
                        gatkSortSamResult.getBamOutput().getSortedBam())
                .generate(configuration, templateEngine);
        mutect2ToolCommand.setToolCommand(mutect2ToolCommand.getToolCommand()
                + pileupSummariesResult.getCommand().getToolCommand()
                + calculateContamResult.getCommand().getToolCommand()
                + gatkSortSamResult.getCommand().getToolCommand()
                + orientationModelResult.getCommand().getToolCommand()
                + filterMutectCallsVcfResult.getAbstractCommand().getToolCommand()
                + alignmentArtifactsVariantsVcfResult.getAbstractCommand().getToolCommand());
        mutect2ToolResult.getVariantsVcfOutput().setVariantsVcf(
                filterMutectCallsVcfResult.getVariantsVcfOutput().getVariantsVcfFiltered());
        return mutect2ToolResult;
    }