Code Monkey home page Code Monkey logo

Comments (4)

umahsn avatar umahsn commented on August 25, 2024

I have added some information.

from nanocaller.

umahsn avatar umahsn commented on August 25, 2024

I have updated the usage docs.

from nanocaller.

danrdanny avatar danrdanny commented on August 25, 2024

Hi, thanks for making this tool available. I'd like to try it, but I'm having trouble understanding some of the options and getting it to run.

First, regarding indel mode. In your preprint you say:

"We use WhatsHap to phase variants, allowing the algorithm to re-genotype variants. In the phasing step, all variant calls made by NanoCaller, both in high-confidence regions and outside confidence regions are used. Any candidate site whose genotype changes to homozygous reference is considered as non-variantcall. Afterwards, we use WhatsHap again to phase alignment reads in order to create pileup images for indels."

But, in the usage information you say the bam file must be phased if indel mode is chosen.

The description in the preprint makes me think NanoCaller does the phasing, but the usage information suggests I have to do it. Can you clarify?

Second, it appears I can pass a bed file to NanoCaller. Can you describe what this is doing? Does it override -chrom?

Finally, can you provide an example dataset for running this program so I can make sure I'm using it correctly?

Thanks!

from nanocaller.

umahsn avatar umahsn commented on August 25, 2024

The default NanoCaller workflow, which is the mode 'both', goes like this:

bam file > SNP calling by NanoCaller > SNP phasing by whatshap > Reads phasing by whatshap > Indel calling by NanoCaller on reads phased in previous step > Combine indel and SNP calls

If you choose 'indel' mode, then we do not have any SNPs that we can use to phase the reads in order to call indels. This option is allowed so that if a user prefers to use a different tool than whatshap to carry out SNPs and reads phasing, or if they already have phased reads that they believe are phased using some other reliable method, then they can bypass the whatshap subroutine by NanoCaller and supply their own phased bam file.

Another reason for this option is that if a user runs NanoCaller in 'both' mode, but the program crashes during indel calling stage for some likely scenarios such as memory exceeding system limits, then they can resume NanoCaller at the indel calling stage, instead of having to do the entire SNP calling and phasing all over again.

We have removed the option for bed files for now. We found for whole genome variant calling that using a bed file would get rid of potential variants near the boundaries of the interval in a bed file. So we found it better to leave it up to a user to filter variants with a bed file using a more sophisticated tool like rtg vcffilter. But I can see having an option like bed file can be useful if you you dont want to spend extra time in calling variants that are outside the intervals in a bed file, and submitting individual calls for each line in a bed file can be cumbersome. We will revisit this issue in our team. Do you have any preferences or thoughts about this?

We provide an example here: https://github.com/WGLab/NanoCaller/tree/master/sample
You can see the command we used in the file: https://github.com/WGLab/NanoCaller/blob/master/sample/sample_call

from nanocaller.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.