Search in sources :

Example 1 with CramAndValidateCommands

use of com.hartwig.pipeline.cram.CramAndValidateCommands in project pipeline5 by hartwigmedical.

the class SamtoolsBamToCram method execute.

@Override
public VirtualMachineJobDefinition execute(final InputBundle inputs, final RuntimeBucket bucket, final BashStartupScript startupScript, final RuntimeFiles executionFlags) {
    InputFileDescriptor input = inputs.get();
    String outputFile = VmDirectories.outputFile(new File(input.inputValue()).getName().replaceAll("\\.bam$", ".cram"));
    String localInput = format("%s/%s", VmDirectories.INPUT, new File(input.inputValue()).getName());
    startupScript.addCommand(() -> input.toCommandForm(localInput));
    startupScript.addCommands(new CramAndValidateCommands(localInput, outputFile, new RefGenome37ResourceFiles()).commands());
    startupScript.addCommand(new MvCommand("/data/output/*.bam", "/data/tmp"));
    startupScript.addCommand(new MvCommand("/data/output/*.bam.flagstat", "/data/tmp"));
    startupScript.addCommand(new OutputUpload(GoogleStorageLocation.of(bucket.name(), "samtools"), executionFlags));
    return VirtualMachineJobDefinition.builder().name("samtoolscram").startupCommand(startupScript).namespacedResults(ResultsDirectory.defaultDirectory()).workingDiskSpaceGb(650).performanceProfile(VirtualMachinePerformanceProfile.custom(6, 6)).build();
}
Also used : CramAndValidateCommands(com.hartwig.pipeline.cram.CramAndValidateCommands) OutputUpload(com.hartwig.pipeline.execution.vm.OutputUpload) InputFileDescriptor(com.hartwig.batch.input.InputFileDescriptor) RefGenome37ResourceFiles(com.hartwig.pipeline.resource.RefGenome37ResourceFiles) MvCommand(com.hartwig.pipeline.execution.vm.unix.MvCommand) File(java.io.File)

Aggregations

InputFileDescriptor (com.hartwig.batch.input.InputFileDescriptor)1 CramAndValidateCommands (com.hartwig.pipeline.cram.CramAndValidateCommands)1 OutputUpload (com.hartwig.pipeline.execution.vm.OutputUpload)1 MvCommand (com.hartwig.pipeline.execution.vm.unix.MvCommand)1 RefGenome37ResourceFiles (com.hartwig.pipeline.resource.RefGenome37ResourceFiles)1 File (java.io.File)1