in src/main/java/com/epam/fonda/workflow/impl/Bam2FastqWorkflow.java [55:81]
public void run(Configuration configuration, BamFileSample sample) throws IOException {
if (!PipelineUtils.checkSampleType(sample.getSampleType())) {
return;
}
String fastqOutdir = sample.getSampleOutputDir() + "/fastq";
sample.createDirectory();
PipelineUtils.createDir(fastqOutdir);
configuration.setCustTask("convert");
BamResult bamResult = new SortBamByReadName(fastqOutdir, sample)
.generate(configuration, TEMPLATE_ENGINE);
final StringBuilder cmd = new StringBuilder(bamResult.getCommand().getToolCommand());
if (flag.isPicard()) {
FastqResult fastqResult = new SamToFastq(sample.getName(), fastqOutdir, bamResult)
.generate(configuration, TEMPLATE_ENGINE);
cmd.append(fastqResult.getCommand().getToolCommand());
}
final String command = configuration.isMasterMode()
? cmd.toString()
: cmd.append(cleanUpTmpDir(bamResult.getCommand().getTempDirs())).toString();
final String custScript = printShell(configuration, command, sample.getName(), null);
if (scriptManager != null) {
scriptManager.addScript(sample.getName(), ALIGNMENT, custScript);
bamResult.getCommand().getTempDirs().forEach(t -> scriptManager.addScript(sample.getName(), TEMP, t));
}
log.debug(String.format("Successful Step: the %s sample was processed.", sample.getName()));
}