Test-drive the GATK tools and Best Practices pipelines on Terra
Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.
Picard RevertSam and OUTPUT_BY_READGROUP does not allow specify output files
I am using a pipeline with as input bam and cram files. The first step of this pipeline is RevertSam combined with the option OUTPUT_BY_READGROUP and I walked into the fact that it is impossible to specify your output type of your files and is the same as the input file. (See https://github.com/broadinstitute/picard/blob/50873dab8845bcd0676b6de80f5a3a484a211d58/src/main/java/picard/sam/RevertSam.java#L212 and 278-288) . Since developing two pipelines is not quite time efficient (as is working hours) and converting the cram files into bam files is also not efficient (cpu/io wise) I will focus on a bam only pipeline and specify the output type.
The default is a bam as output and I hide the cram file extension by using the following construct:
cat sample.cram |java -jar picard.jar RevertSam TMP_DIR=. I=/dev/stdin OUTPUT_BY_READGROUP=true SORT_ORDER=queryname O=revertsam COMPRESSION_LEVEL=1 REFERENCE_SEQUENCE=ref.fasta
This smells like a fishy hack to me, but it seems to work. Is there a better/faster/stronger/less hackerish way to do this?