artic-network / artic-ncov2019

ARTIC nanopore protocol for nCoV2019 novel coronavirus
Creative Commons Attribution 4.0 International
168 stars 166 forks source link

how to change min reads depth for consensus assembly? #49

Closed Shaokang123 closed 3 years ago

Shaokang123 commented 3 years ago

From the documentation, any position that is not covered by at least 20 reads are marked as low coverage and changed to "N". If I want to tweak this parameter, say lower it to 15, which file and line I shall change for artic? Thank you for any help.

Shaokang123 commented 3 years ago

May I ask if any one can help answer the question?

bede commented 3 years ago

At a glance, it looks like the following files will need editing

margin_cons.py
make_depth_mask.py
vcf_filter.py
will-rowe commented 3 years ago

Sorry for the delay in getting back to you @Shaokang123 - I don't normally monitor this repo and the pipeline dev happens over at artic pipeline.

@bede is right - there is no global pipeline parameter for adjusting minimum read depth per reference base. I'm not sure of the reason to this but I guess it's because we mask out both low coverage bases with N, as well as using coverage during the variant filtering, so having one variable controlling these is a little misleading.

To decrease minimum read depth required per base, you need to adjust the artic_make_depth_mask command in the minion.py script - just add --depth 15. If you want to also change the minimum read depth for variant filtering, you will need to adjust what is happening in vcf_filter.py.

I think it would be useful to adjust the minimum read depth for the former case here, I'll make a PR to the pipeline repo. Hope this helps, let me know if it doesn't!

nickloman commented 3 years ago

I would be keen to see this as a configurable parameter to artic minion. However I would suggest people don't go lower than 20x! Partiularly as nanopolish will not call anything below 20x.

Shaokang123 commented 3 years ago

Great. Many thanks to all of you! Appreciate the help. @bede @will-rowe @nickloman

laura-bankers commented 2 years ago

Has there been any movement towards making min depth a configurable parameter to artic minion --medaka? Given all of the recent conversations in the public health community about the effects of minimum coverage depth for variant and consensus calling for SAR-CoV-2, it would be great if there was a more user friendly way to test how changes to workflow parameters (min depth in particular) influences our QC metrics and outputs from artic.