Hi everyone! I have a question regarding the use o...
# sarek
m
Hi everyone! I have a question regarding the use of DRAGEN with Sarek. Can the CRAM file generated by DRAGEN MapAlign be used directly for the variant calling step in Sarek, or is it necessary to re-align the data within the Sarek pipeline first? If anyone has experience with this workflow, I’d really appreciate any guidance or recommendations.
t
Never used DRAGEN, but I don't see why you wouldn't be able to use an CRAM for variant calling. Some things to consider, though: • Sarek does more than just mapping before the
variant_calling
--step
, there are also
markduplicates
,
prepare_recalibration
, and
recalibrate
. You can of course skip those steps, but unless you have UMIs, I definitely would make sure that your CRAMs are at least duplicate-marked. • I know at least some variant callers (Muctect2?) rely on the sample ID (I think the
SM
of the read group) in the CRAM header to be set according to expectation, otherwise they won't work properly, so it is possible you will have to reheader the CRAMs or use some other work-around. Sorry my memory is so vague, but if you run into errors, this may be the reason. Maxime should remember.
f
Yeah Mutect2 is a bit tricky with its CRAM / BAM headers. Most other variant callers should be fine though.
m
@Famke Bäuerle Given that I’ll be using Mutect2 for somatic variant calling in a tumor-only experiment, would you recommend any best practices for reheadering CRAM/BAM files generated by DRAGEN?
t
@Maxime Garcia, I remember you have some way to pass sample names to Mutect2 via a config, or something like that, to be able to use arbitrary BAMs/CRAMs ...
m
We do that in the tests
Because we need to regenerate the bam files at some point
t
I think this is the file where this is being done: https://github.com/nf-core/sarek/blob/master/conf/test/mutect.config Note the
--normal-sample
parameter being used in
ext.args
, there is also its counterpart,
--tumor-sample
. Important: whenever you mess with
ext.args
, you have to include all the other other things that are normally in there, in addition to the one you want to add/modify, otherwise things will likely break. You can find
ext.args
that are used in normal (non-test) runs here: https://github.com/nf-core/sarek/blob/master/conf/modules/mutect2.config
💯 1
f
For parabricks we add the following flags:
Copy code
// Using specific read group tags for mutect compability (keep if using mutect)
            "--read-group-id-prefix ${meta.sample_lane_id}",
            "--read-group-sm ${meta.patient}_${meta.sample}",
            "--read-group-lb ${meta.sample}",
            "--read-group-pl ${params.seq_platform}",
maybe there is something similar that can be added for dragen? I never used dragen though.
t
There should be a way to set read groups in any decent aligner, so I would hope DRAGEN has that as well -- this would be ideal. But if the alignment is out of control of the user or has already been run (and the user does not want to reheader the CRAMs), dealing with it in sarek might be most straightforward.