Commit Graph

8256 Commits (69b19047ba1e40a1bd4acdbf11e0a42394de48bb)

Author SHA1 Message Date
Ryan Poplin 74aeb22eeb Merged bug fix from Stable into Unstable 2011-10-26 15:57:30 -04:00
Ryan Poplin 86871bd1e3 Throw a UserException in the BQSR when there is no data instead of creating an empty csv file 2011-10-26 15:56:41 -04:00
Mark DePristo 034a997d07 Generalized Reads -> Fragment calculation
-- Supports ReadBackedPileup -> FragmentCollection as before
-- Added support for List<SAMRecord> -> FragmentCollection for Ryan's haplotype caller
-- General cleanup, renaming, move to separate package, more extensive unit tests, etc.
-- Added toFragment() function to ReadBackedPileup interface
2011-10-26 15:54:38 -04:00
Eric Banks 2f21b6ecfb Removed debugging output 2011-10-26 15:50:20 -04:00
Eric Banks b39fcb1bea Merge branch 'master' of ssh://nickel.broadinstitute.org/humgen/gsa-scr1/gsa-engineering/git/unstable 2011-10-26 15:44:25 -04:00
Eric Banks b6ce6ed3f8 Go around the ROD system for now so that we can just call decodeLoc() for efficiency. Noted that we should go through the ROD system once it gets cleaned up. This means that currently gzipped files are not supported with -L. 2011-10-26 15:42:53 -04:00
Eric Banks 3273c20c98 Added integration tests for Tribble-based intervals and fixed up some of the other tests based on some method changes. 2011-10-26 15:29:18 -04:00
Eric Banks 9424e8b2ca Initial working version of new interval system in which the argument for -L (and -XL) is allowed to be a rod file (e.g. VCF). Old samtools-style intervals still behave as before. BTI is no longer supported. The merging (union or intersection) of intervals is now consistently applied to all -L (or -XL) intervals, which is nice. More testing needed. 2011-10-26 14:11:49 -04:00
Mark DePristo 7fa943aef1 Renamed FragmentPileup to FragmentUtils 2011-10-26 14:01:45 -04:00
Laurent Francioli 1f044faedd - Genotype assignment in case of equally likeli combination is now random
- Genotype combinations with 0 confidence are now left unphased
2011-10-26 19:57:09 +02:00
David Roazen 751d66174a Minor additions to the shared .gitignore file, now that Mark has checked one in. 2011-10-26 12:24:28 -04:00
Laurent Francioli 81b163ff4d Indentation 2011-10-26 14:49:12 +02:00
Laurent Francioli 62cff266d4 GQ calculation corrected for most likely genotype 2011-10-26 14:40:04 +02:00
Ryan Poplin be4eb83041 Merge branch 'master' of ssh://nickel.broadinstitute.org/humgen/gsa-scr1/gsa-engineering/git/unstable 2011-10-25 22:20:53 -04:00
Ryan Poplin 2d5a22f4c3 Copying Guillermo's indel model optimizations into the haplotype caller which cuts the runtime in half. 2011-10-25 22:19:48 -04:00
Mark DePristo af3613cc5f GATKSAMRecord commit branch summary
First, I'm sure there's a better way to do this, but I wanted to create a single commit summarizing the changes from my branch SamRecordFactory.  What's the best way to do this?  Rebase?

Now, on to the changes here:

-- Picard added a SamRecordFactory that is used to create instances the subclass SamRecord or BAMRecord.  This factory allows us to have low-level picard readers (SamFileReader) create objects of type GATKSamRecord.  The abomination of the extends and contains GATKSamRecord is now gone.  GATKSamRecords are now produced by this factory, the GATK provides this factory to our SamFileReaders, and everything works with GATKSamRecord just extending BAMRecord.  This results in up to a 2x performance improvement in writing BAMs and a ~10% improvement when reading BAMs files.

-- As a consequence of this, we no longer officially support SAM records.  Attempting to create SAMRecord objects with the factory will throw a user exception.

-- Created a standard NGSPlatform enum, and GATKSamRecords support efficiently obtaining this value.  The real BQSR (not the copy indel version) got the efficient code to use this.  Please add all future platforms to this enum.

-- GATKSamRecord no longer supports using the OQ or defaultBaseQuality.  This is performed in a wrapper iterator that's only added when these command line options are used.

-- ReducedRead code has been moved from ReadUtils until efficiency caching assessors in GATKSamRecord.

-- ArtificialSamUtils creates GATKSamRecords now, just SAMRecords.  Added code here to create artifical pairs and using that code to create artificial ReadBackedPileups with specific properties

-- New smarter algorithm for FragmentPileup.  This new code is up to 3x faster than the previous version, and is lazy so is more efficient when no overlapping pairs are actually in the pileup.  Created extensive DataProvider driven UnitTest.  Added Caliper-based benchmarking system to characterize the performance differences between the old and new algorithms.  TODO still remains to make a efficient version that works for non-pileups for the HaplotypeCaller
2011-10-25 20:52:56 -04:00
Mark DePristo 2822f0dc27 Merge branch 'SamRecordFactory' 2011-10-25 20:34:47 -04:00
Mark DePristo 05730884c6 More ignores 2011-10-25 20:29:35 -04:00
Mark DePristo 221c944ee0 Including private parts 2011-10-25 20:29:17 -04:00
Mark DePristo 0f44066640 Ignore common files 2011-10-25 20:26:46 -04:00
Ryan Poplin 7d092c859f Removing ugly mapping probability hack because it is no longer necessary. 2011-10-25 16:48:43 -04:00
Mark DePristo 1b722c21cf merge master 2011-10-25 16:08:39 -04:00
Ryan Poplin 56fdf0b865 Merge branch 'master' of ssh://nickel.broadinstitute.org/humgen/gsa-scr1/gsa-engineering/git/unstable 2011-10-25 15:58:56 -04:00
Ryan Poplin ea5857c618 More misc cleanup. 2011-10-25 15:58:28 -04:00
Ryan Poplin 4a34c1862e misc cleanup. We now filter out haplotypes when it is obvious that the assembly has failed to find a parsimonious event rather than use haplotypes with large numbers of SNPs and small indels on them. 2011-10-25 15:22:28 -04:00
Mark DePristo 9eaa62f3f3 Tmp. SAM-JDK rev. Better google caliper example 2011-10-25 15:15:52 -04:00
David Roazen 2794e5c1d4 Modified the VCFJarClassLoadingUnitTest to play nice with the packaged-jar test targets. 2011-10-25 14:47:15 -04:00
Guillermo del Angel b559936b7a a)New variant eval stratification module for indel size. b) Next iteration on indel caller runtime optimization: when computing likelihood of each haplotype for a given read, many computations will be redundant since pieces of haplotypes will be common to both REF and ALT haplotypes. So, we keep HMM matrices from one haplotype to the next one and recompute starting at the part where either haplotype is different or GOP/GCP are different. 2011-10-25 09:56:43 -04:00
Matt Hanna bf61393a7d Merge branch 'master' of ssh://gsa1/humgen/gsa-scr1/gsa-engineering/git/unstable 2011-10-25 07:47:22 -04:00
Matt Hanna 9afe6fc7ac Picard upgrade to 1.55. 2011-10-24 17:02:27 -04:00
Khalid Shakir fac9932938 Embedding gsalib source and queueJobReport R scripts in the dist and package jars.
Moved gsalib and queueJobReport.R to embeddable namespaced locations.
Updated packager dependencies/dir to add an @includes which filters the embedded fileset.
RScriptExecutor can now JIT compiles the gsalib.
RScriptExecutor uses ProcessController and sends the Rscript output to java's stdout when run under -l DEBUG.
Refactored ProcessController and IOUtils from Queue to Sting Utils.
Added more unit tests to ProcessController along with a utility class to hard stop OutputStreams at a specified byte count.
Replaced uses of some IOUtils with Apache Commons IO.
ShellJobRunner refactored to use direct ProcessController and now kills jobs on shutdown.
Better QGraph responsiveness on shutdown by using Object.wait() instead of Thread.sleep().
2011-10-24 15:58:34 -04:00
Khalid Shakir 89a581a66f Added ability to specify arguments in files via -args/--arg_file
Pushing back downsample and read filter args so they show up in getApproximateCommandLineArgs()
2011-10-24 15:58:34 -04:00
Mark DePristo 502592671d Cleanup FragmentPileup before main repo commit
-- removed intermiate functions.  Now only original version and best optimized new version remain
-- Moved general artificial read backed pileup creation code into ArtificialSamUtils
2011-10-24 14:40:05 -04:00
Mark DePristo 166174a551 Google caliper example execution script
-- FragmentPileup with final performance testing
2011-10-24 14:04:53 -04:00
Ryan Poplin 13702939ac HaplotypeCaller now calculates multi-sample likelihoods and passes them to the exact model to make multi-sample calls. 2011-10-24 10:15:58 -04:00
Ryan Poplin 090382ce03 Now calculates proper multi-allelic likelihoods and sends them to the exact model if appropriate. 2011-10-24 08:21:05 -04:00
Laurent Francioli 62477a0810 Added documentation and comments 2011-10-24 13:45:21 +02:00
Laurent Francioli 38ebf3141a - Now supports parent/child pairs
- Sites with missing genotypes in pairs/trios are handled as follows:
-- Missing child -> Homozygous parents are phased, no transmission probability is emitted
-- Two individuals missing -> Phase if homozygous, no transmission probability is emitted
-- One parent missing -> Phased / transmission probability emitted
- Mutation prior set as argument
2011-10-24 12:30:04 +02:00
Laurent Francioli 7312e35c71 Now makes use of standard Allele and Genotype classes. This allowed quite some code cleaning. 2011-10-24 10:25:53 +02:00
Laurent Francioli 01b16abc8d Genotype quality calculation modified to handle all genotypes the same way. This is inconsistent with GQ output by the UG but is correct even for cases of poor quality genotypes. 2011-10-24 10:24:41 +02:00
Mark DePristo f6ccac889b Merged bug fix from Stable into Unstable 2011-10-23 16:37:12 -04:00
Mark DePristo 585a45b7a3 Bug fix for ClipReadsWalker when stats output isn't provided
-- See http://getsatisfaction.com/gsa/topics/clipreadswalker?utm_content=topic_link&utm_medium=email&utm_source=reply_notification
2011-10-23 16:36:48 -04:00
Ryan Poplin f5d910b8a5 Haplotype caller now sends genotype likelihoods to the exact model to genotype the events found in the best haplotypes. 2011-10-23 13:29:08 -04:00
Mark DePristo 42bf9adede Initial version of "fast" FragmentPileup code
-- Uses mayOverlapRoutine in ReadUtils
-- Attempts to be smart when doing overlap calculation, to avoid unnecessary allocations
-- PileupElement now comparable (sorts on offset than on start)
-- Caliper microbenchmark to assess performance
2011-10-22 21:36:37 -04:00
Mauricio Carneiro c3cb07fc1d Relocating the ReduceBAM script. 2011-10-22 13:35:52 -04:00
Mauricio Carneiro 4913f8a60f Merge branch 'master' of ssh://nickel.broadinstitute.org/humgen/gsa-scr1/gsa-engineering/git/unstable 2011-10-21 17:45:07 -04:00
Mauricio Carneiro 86305a5dcf Adjusting the memory limits of the MDCP
Indel caller needs more than 3G for large datasets.
2011-10-21 17:41:52 -04:00
Mauricio Carneiro 102dafdcbc Validation of GATKSamRecord in read filters
Moved the validation of the GATKSamRecord to the MalformedReadFilter with the intent to make the read filter the ultimate validation location for sam records. This way we can opt to filter out malformed reads if we know what we are doing or blow up otherwise.
2011-10-21 17:40:43 -04:00
Guillermo del Angel f4b409fa0d CombineVariants bug fix: when merging records with disparate alleles we were leaving AC,AF fields intact. This had as a consequence that we could end up with a record with 3 alt alleles but only 2 values in AC,AF fields. Now, if alleles in combined vc are different from original, and if AC,AF fields can't be recomputed from genotypes, we remove attributes from vc map since they'll be invalid anyway. Integration test md5 changed since there were several badly merged records in result 2011-10-21 14:07:20 -04:00
Mark DePristo b863390cb1 Moving reduced read functionality into GATKSAMRecord
-- More functions take / produce GATKSAMRecords instead of SAMRecord
2011-10-21 13:28:05 -04:00