hey everyone, is anyone working on issue #8 (GATK ...
# pathogenepidemiology
r
hey everyone, is anyone working on issue #8 (GATK step for Niaré et al.)? I'd like to pick it up if not. I have worked with GATK4 before but need to brush up. I had a look at the code, seems like some gatk4 modules are already installed but nothing's wired in yet past the BWA-MEM3 step, correct me if I am wrong, just checking before I start. Also, I'm new to nf-core specifically so will have questions as I go 😅, will post here. @Bilal Asser is it ok to take this on?
b
Sure, I was going to do it but it's a big task that could benefit from each other's feedback. I could assign us both? And have you had a chance to look at the paper to get an idea of what settings/design decisions we need to pay attention to? That cleared some things up for me
r
yes let's do that, makes sense to pair on something this size. I had went through the paper (fairly quick I must say) 😅, most of the tools it uses already exist as nf-core modules, like the ones you'd already added, and the methodology section spells out most of the exact flags and parameters to use. still need to go through it line by line properly but that's my first read. and since you were already looking at this, definitely good to have you on it too 👍
b
Great! I will go do the assignments now. The github release of Niaré et al.'s pipeline fills in some gaps too. That was my main guidance on which modules to import. What time zone are you in so we coordinate on this at times we both find reasonable? I am currently in CEST (GMT+2) and soon CET (GMT+1) Today I'm not available but tomorrow I will make time to refresh myself on both their paper and repo.
You are assigned
r
Sounds good! I'm in IST (GMT+5:30). I'm tied up until Sunday, so I'll go through the paper and their pipeline repo by then as much as I can, and I hope we can find a good time to sync after that.
b
Ok, I might not immediately see messages you send before 11-12 your time. I think I get slack notifications 9-18:00 on weekdays but not 100% sure
Tomorrow I have more or less a full day to work on it
Hi Ranjana, I didn't have the quickest start but I am putting my changes in
subworkflows/gatk_Niare.nf
(working filename). I have only organised and included the modules that exist on nf-core so far. Moving onto working out the I/O and whether the steps that do not exist as modules can be omitted I'll think about how the task can be broken up between two people once I get to know it better 🙂
r
Hey Bilal, sorry for going quiet, got tied up longer than I meant to and didn't get back to this as fast as I said I would 😅 I went through the paper's methods properly now and checked the params/steps against what's already in the repo, might help with the "can these steps be omitted" question. The ones already vendored as nf-core modules: gatk4/markduplicates, haplotypecaller, genotypegvcfs, variantrecalibrator, applyvqsr. Missing but the paper doesn't treat them as optional: gatk4/genomicsdbimport (combines per-sample gVCFs before joint genotyping), gatk4/gathervcfs (merges the per-chromosome VCFs GenotypeGVCFs outputs), and bcftools/norm, which they use twice, once to split multiallelic sites before VQSR and once to remerge after. Without the bcftools step SNPs and indels at the same position get mishandled by GATK's filtering apparently. So I don't think we can skip any of these three if we want to match what the paper actually did, they should just need installing. Two things I couldn't figure out from the paper alone though. One, ploidy 6 for HaplotypeCaller is from their separate drug-resistance/COI section, not the core pipeline, so not sure if that's in scope now bcos its initially for Plasmodium or something for later. Two, VariantRecalibrator needs a training VCF and they built a custom one from 10 PacBio lab strain assemblies, not sure if we have that already or if we'd need to generate it ourselves. Going to start installing those three modules if they are there or write them up, so they're ready when we need them. Also on timezones, want to try 8-10pm IST one evening this week? Should be around 330 530pm CEST for you which is inside your usual notification window, let me know what day works.
b
I've already started making changes in the branch
BA_contrib
My thinking is that I try to deviate as little as possible from what is on github since that was validated and will make our tool validation easier later. I am on
cleansam
because there was no need to include
SamFormatConverter
for example. There is no module for
DepthOfCoverage
but we can cross that bridge when we get to it Thanks for flagging those issues especially the one about training data. My experience with gatk is from using it on RNASeq data, where
VariantRecalibrator
is not part of the workflow https://gatk.broadinstitute.org/hc/en-us/articles/360035531192-RNAseq-short-variant-discovery-SNPs-Indels As for the ploidy issue...
in the second line of the
for
loop body (this is
pipeline_full.sh
from the github repo) you can see the arg
-ploidy 6
. I assume this is the "Pipeline 2" from the paper. Not quite sure what you meant by "not the core pipeline", can you clarify if still relevant?
Also sure I can meet around that time once this week, as long as it isn't tomorrow. It doesn't need to be so late for you
r
Yeah, I guess I was looking at the wrong branch, thanks for letting me know. And you are right about sticking to the validated modules so as to not create extra issue for us 😅, will keep that in mind. Also the gatk pipeline I had made had but I had skipped it bcos the project had a timeconstraint and we could not find the right training sets. But I think we will need it for this one as this is an important step, will read about it more and see if the singularity container they are mentioning has something or not And about the ploidy, I had that question bcos I assume the first verison of the pipeline is going to address only Plasmodium falciparum but are we doing the more general ploidy 2 or not, just a confusion on my part, cleared that up, no problem And yeah, a meeting at this time works for me too, I just suggested the earlier time so that it isn't in between your work hours.
b
An initial goal of this pipeline is supporting MOI analysis. This function doesn't really fit into
pathogensurveillance
which is why a new pipeline was warranted. For the few, but very important (in public health), pathogens where treatment efficacy benefits from MOI analysis. The first specific example this pipeline should tackle is malaria samples from mosquitoes. There, the MOI information is intended to see what resistances to antimalarial drugs are present in a particular space and time. That way, antimalarial drug distribution can be more data-driven/have stronger evidence base/maybe timeline if we can get a database going for outputs. (sorry for any errors or lack of clarity, there is some construction noise. Let me know if I should rephrase anything)
Ah, point is
-ploidy 6
is what we should go with based on the Niare et al evidence
And yes at some point soon we should seek, and in the worst case, reach out and ask for, the training data for
VariantRecalibrator
r
yeah got it, thanks for explaining it
b
no worries it is good to be on the same page
As for meeting, let's first pick a day and then a time. I am a freelancer applying for PhD and RA positions so my times are not regular, I have random blocked days and deadlines
r
Okay, then maybe Thursday or Friday then
b
I am free for all of Friday. pollendar.com/?… this tool sorts out the TZ differences for us, you can indicate when is good for you, then we can decide.
The construction/renovation noise is too annoying so I put my latest changes in my branch
BA_contrib
and I'm taking a break
👍 1
r
yeah, this is good, I have added my preferred times.
b
nice one. We can do the earliest time slot you approved. First I would try making a "huddle" in this slack but if that isn't good, then I will just make a google meet. the 1 hour duration is also flexible for me, we can just see how long the conversation takes
👍 1
rewritten up to haplotypecaller. doing a stub run on the subworkflow alone using stored files
r
ohh great, was the template helpful?
b
sure, I meant to sent this as a DM oops!
✅ 1
r
Ohh, it happens I guess 😅