private QcSummaryFields constructFields()

in src/main/java/com/epam/fonda/tools/impl/QcSummary.java [84:116]


    private QcSummaryFields constructFields(final Configuration configuration, String sample) {
        final String workflowName = configuration.getGlobalConfig().getPipelineInfo().getWorkflow();
        final String tag = getValueForSpecificVar(workflowName, Variable.TAG,
                configuration.getStudyConfig().getLibraryType());
        if (StringUtils.isNotBlank(tag)) {
            TaskContainer.addTasks(tag);
        }
        final Set<String> tasks = TaskContainer.getTasks();
        final QcSummaryFields qcSummaryFields = QcSummaryFields.builder()
                .workflow(workflowName)
                .outDir(validate(configuration.getStudyConfig().getDirOut(), StudyConfigFormat.DIR_OUT))
                .rScript(validate(configuration.getGlobalConfig().getToolConfig().getRScript(),
                        GlobalConfigFormat.R_SCRIPT))
                .fastqList(configuration.getStudyConfig().getFastqList())
                .statusCheckPeriod(defaultOrSpecifiedPeriod(configuration))
                .errorMessage("Error QC results from " + sample)
                .successMessage("Confirm QC results from " + sample)
                .task("QC summary analysis")
                .jarPath(PipelineUtils.getExecutionPath(configuration))
                .steps(String.join("|", tasks))
                .successPattern(StringUtils.isNotBlank(tag) ? tag : tasks.toArray()[tasks.size() - 1].toString())
                .build();
        final String task = getValueForSpecificVar(workflowName, Variable.TASK,
                configuration.getStudyConfig().getLibraryType());
        final String fileName = qcSummaryFields.getWorkflow() + "_" + task + "_for_" + sample + "_analysis";
        final String logOutDir = qcSummaryFields.getOutDir() + "/log_files";
        final String logFile = logOutDir + "/" + fileName + ".log";

        qcSummaryFields.setTag(tag);
        qcSummaryFields.setLogFile(logFile);

        return qcSummaryFields;
    }