Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

joint calling #6

Open
jaredo opened this issue Jun 5, 2015 · 5 comments
Open

joint calling #6

jaredo opened this issue Jun 5, 2015 · 5 comments

Comments

@jaredo
Copy link

jaredo commented Jun 5, 2015

Hi Heng,

Great tool. Do you have any advice for joint calling of multiple samples?

I obtained a reasonable looking call set by first running your run-calling script on each sample individually. Then I ran the following on the bams produced:

fermi.kit/htsbox pileup -cuf hs37d5.fa *.bam | bcftools view -Oz output.vcf.gz

Is this a sensible approach? Obviously filtering still needs to performed.

cheers,

Jared

@lh3
Copy link
Owner

lh3 commented Jun 5, 2015

Yes, joint calling is done in that way. See also the example in README:

fermi.kit/htsbox pileup -cuf ref.fa pre1.srt.bam pre2.srt.bam > out.raw.vcf
fermi.kit/k8 fermi.kit/hapdip.js vcfsum -f out.raw.vcf > out.flt.vcf

The second command line filters the calls.

Please note that pileup is not true joint calling in that it doesn't use cross-sample information. It essentially combines single-sample VCF. Also note that fermikit is not designed for normal-tumor pairs. Some of its components may help, but the normal use would not work well.

@jaredo
Copy link
Author

jaredo commented Jun 5, 2015

Thanks, I'm using it for denovo calling in trios.

@lh3
Copy link
Owner

lh3 commented Jun 5, 2015

I am afraid that wouldn't work well, either. The problem with fermikit is that when it misses a variant, it misses completely. FNs in parents will lead to spurious de novo calls. In comparison, when a typical caller (e.g. gatk/samtools) misses a variant, you can usually see a few reads having the correct variants. This helps to reduce false de novo calls.

Probably the right way to perform normal-tumor and trio calling is to assemble the tumor/child and then map it against error corrected reads of normal/parents with fermi2 match -p. I have not explored this approach yet.

@lh3
Copy link
Owner

lh3 commented Jun 5, 2015

PS: alternatively, you can use both fermikit and a typical de novo calling pipeline at the same time. You may require a de novo variant called by both approaches. Fermikit uses a very different method for variant calling. Combing distinct approaches usually helps to reduce false positives.

@jaredo
Copy link
Author

jaredo commented Jun 5, 2015

I see, I had not considered the FN issue and just thought the low FDR would be helpful. I will have a play around with your suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants