Commit Graph

140 Commits (ca66cccd2f4c95128103baa378ee79fe41aa7bed)

Author SHA1 Message Date
kiran 11e85f1969 Four-base mode now estimates the genotype using the one-base method and retests the site if the one-base method suggests the site is a het.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@503 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-23 17:23:24 +00:00
kiran bd719f9c06 When checking that values are not infinite, also prints out the position so that I know which site was giving the error and I can just go there and debug it.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@502 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-23 17:21:58 +00:00
kiran efba30f1a1 Added a constructor in which the lod threshold can be set.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@501 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-23 17:20:48 +00:00
jmaguire 8c1905c7d9 Simple walker to print all of the sample names present in a merged bam file.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@500 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-23 12:26:56 +00:00
kiran a3a1c9dae8 Suppressed emission of duplicate paths through a four-base pileup.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@498 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-22 21:08:45 +00:00
jmaguire 6cef8bd76c added k-best quality path enumeration.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@497 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-22 20:26:51 +00:00
ebanks d99d67d51c Refactored to clean it up a bit
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@495 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-22 19:18:46 +00:00
kiran ffcd672c1c Intermediate commit while working on getting four-base probs to work in the single sample genotyper. Has infrastructure for the new combinatorial approach and just choosing the best base more intelligently given a probability distribution over bases and the reference base.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@492 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-22 18:06:50 +00:00
asivache 5f37ba8f26 now can be asked to log at INFO level all concordant or discordant sites, or both
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@480 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 21:03:44 +00:00
asivache 1f84b9647d auxiliary data structure for mendelian concordance reporting; it's nice to have the latest version checked in in order for the code to compile...
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@479 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 21:02:40 +00:00
asivache ece3e9969e one trivial walker to filter reads; bam in -> filter -> bam out
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@478 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 20:39:29 +00:00
asivache 61e855200d latest version...
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@477 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 20:38:37 +00:00
kcibul 64b2fd866f * extracted core quality-score based genotype likelihood code
* precompute expensive operations (log/pow) based on Picard experience

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@476 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 18:58:43 +00:00
jmaguire 11c520b283 completed my old draft of the old school single sample genotype walker
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@475 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-21 05:38:04 +00:00
depristo b8233d92c8 Simple IO walker to test / crush file systems and evalute I/O performance in general
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@474 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-20 14:07:14 +00:00
jmaguire bf76eab955 whoops; fix a comment line.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@473 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-19 17:54:54 +00:00
jmaguire bcba1ff424 Fix a minor rounding bug and putz around with fractional counts in the pooled caller.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@472 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-19 17:52:24 +00:00
jmaguire af6788fa3d Misc:
1. Added logGamma function to utils
2. Required asserts to be enabled in the allele caller (run with java -ea)
3. put checks and asserts of NaN and Infinity in AlleleFrequencyEstimate
4. Added option FRACTIONAL_COUNTS to the pooled caller (not working right yet)

AlleleFrequencyWalker:
5. Made FORCE_1BASE_PROBS not static in AlleleFrequencyWalker (an argument should never be static! Jeez.)
6. changed quality_precision to be 1e-4 (Q40)
7. don't adjust by quality_precision unless the qual is actually zero.
8. added more asserts for NaN and Infinity
9. put in a correction for zero probs in P_D_q
10. changed pG to be hardy-weinberg in the presence of an allele frequency prior (duh)
11. rewrote binomialProb() to not overflow on deep coverage
12. rewrote nchoosek() to behave right on deep coverage
13. put in some binomailProb() tests in the main() routine (they come out right when compared with R)

Hunt for loci where 4bp should change things:
14. added FindNonrandomSecondBestBasePiles walker.




git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@471 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-19 15:35:07 +00:00
ebanks 758db73b98 Fixed SLOWNESS issue.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@469 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-17 20:10:34 +00:00
asivache 2a937fa8d3 set SAM file header's sorting order to unsorted, hopefully it will help to speed things up
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@468 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-17 19:32:24 +00:00
asivache 03ec3452f2 a first, simplest version of a walker that filters out reads based on user-specified criteria and writes remaining reads into a new bam file
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@467 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-17 18:51:39 +00:00
asivache 55537c0d1e chnage class name, now it compiles...
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@451 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 16:51:00 +00:00
asivache 4f9bc7206f some cleanup, also ensuring that all reads get written into output
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@450 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 16:49:25 +00:00
asivache e8a6cdb386 renamed standalone main
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@449 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 15:56:46 +00:00
asivache 832afd3d60 renamed standalone main
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@448 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 15:56:27 +00:00
asivache 85308f4ddc resurrected indel tool's standalone main
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@447 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 15:55:52 +00:00
kcibul 6f56938d42 * added a bit more debugging output
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@446 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 15:20:26 +00:00
asivache 240eb18564 fix a few related issues when not all the reads were written into the output files. now cleaned output still contains all reads either with modified alignments or untouched
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@444 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 03:56:47 +00:00
kcibul 7e05b43f40 * added some error checking for read groups
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@442 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-16 03:22:49 +00:00
kcibul 3fda8613c3 * minor formatting changes
* support for "extended" output

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@428 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-15 15:11:05 +00:00
kiran 7949e377e4 Intermediate commit. Refactored some simple base manipulation stuff into BaseUtils.java. Generalized some likelihood computation logic to make future possible EM-ing easier.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@424 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-15 04:18:07 +00:00
kiran d0b8d311e6 Can now optionally print the read and the alignment region of the reference.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@423 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-15 04:10:30 +00:00
kcibul d4aaa1bef4 * fixed (with Matt's help) the argument parsing
* outputting UCSC wiggle format

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@422 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-15 02:17:39 +00:00
depristo 24722a442e Slight code cleanup
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@421 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 22:21:36 +00:00
asivache baae98c6d5 and don't allocate new 200M string every time please, just pass byte array!
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@417 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 21:55:33 +00:00
asivache 9d56355abe bug fixed when reference name was passed as a string instead of actual reference bases
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@416 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 21:46:27 +00:00
kiran 222c4e5865 Commented out some debugging lines
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@415 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 20:15:41 +00:00
kiran 49d76014d1 Commented out a debugging line
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@414 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 20:15:11 +00:00
kiran b39e584787 Primary or secondary bases that got a quality score of literally zero led to unfortunate infinities. Added an epsilon (1e-5) to every prob.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@413 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 20:04:49 +00:00
jmaguire d28e9f9b98 search over q's for finding argmax[q] p(D|q)
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@412 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 19:15:45 +00:00
ebanks 647827b18c Transitioned indel code to use GATK and Walkers
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@410 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 19:14:15 +00:00
jmaguire 961dbbd4ef Now output bases and qhat and qstar into the GFF.
Quals coming soon (four-base)

QHAT  : Most likely alt allele freq (unconstrained by number of chromosomes).
QSTAR : Most likely alt allele freq (constrained by number of chromosomes).





git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@402 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 15:23:00 +00:00
kiran dafdff1974 All bases are now indexed as A:0, C:1, G:2, T:3.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@401 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 14:49:43 +00:00
asivache bc43c0eefc there are really cases when we can not merge until we get just two pilesant now we do not crash in those cases but print a warning and just show the resulting n piles even when n>2
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@390 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-14 00:45:47 +00:00
kiran f838a5e511 Changed some double comparisons of the form a == b to abs(a - b) <= precision. Now we shouldn't be passing or failing some if conditions due to floating-point precision.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@388 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 20:05:46 +00:00
asivache d44c30154a added MAX_READ_LENGTH - now we can ignore long reads (454?); a bad idea in general, but the performance hit is to hard to take, at least for preliminary testing runs...
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@384 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 16:53:12 +00:00
jmaguire 6652f13a17 more verbose gff output!
EVEN MORE verbosity to come! 

Tremble in anticipation.



git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@382 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 15:21:23 +00:00
jmaguire 6e180ed44e Unified caller is go.
AlleleFrequencyWalker and related classes work equally well for 2 or 200 chromosomes. 

Single Sample Calling:

	Allele Frequency Metrics (LOD >= 5)
	-------------------------------------------------
	Total loci                            : 171575
	Total called with confidence          : 168615 (98.27%)
	Number of variants                    : 111 (0.07%) (1/1519)
	Fraction of variant sites in dbSNP    : 87.39%
	-------------------------------------------------
	
    Hapmap metrics are coming up all zero. Will fix.

Pooled Calling:

	AAF r-squared after EM is 0.99. 
    AAF r-squared after EM for alleles < 20% (in pools of ~100-200 chromosomes) is 0.95 (0.75 before EM)

    Still not using fractional genotype counts in EM. That should improve r-squared for low frequency alleles.


Chores still outstanding:
    - make a real pooled caller walker (as opposed to my experiment framework).
    - add fractional genotype counts to EM cycle.
    - add pool metrics to the metrics class? *shrug* we don't really have truth outside of a contrived experiment...



git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@380 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 12:29:51 +00:00
asivache b4136b6d6e a few tweaks to make it more robust: ignore reads with cigars containing anything but I,D,M; don't set up contig ordering manually, rely upon reference sequence and its dictionary; don't die if a record does not have NM tag, but faal back to direct counting instead; now requires reference as a cmdline arg
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@378 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 04:49:19 +00:00
kiran c51f51f255 Make sure we always write at least 1000 points per base in each cycle's scatterplot. Print the disagreement rate between Bustard and FourBaseRecaller.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@375 348d0f76-0448-11de-a6fe-93d51630548a
2009-04-13 00:49:41 +00:00