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;
}