From ac1b289d550c680042bab5696ecfb9dd6ba52f2f Mon Sep 17 00:00:00 2001 From: alecw Date: Wed, 25 Nov 2009 21:41:42 +0000 Subject: [PATCH] Add tile to ReadHashDatum, and implement TileCovariate git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2166 348d0f76-0448-11de-a6fe-93d51630548a --- .../recalibration/CovariateCounterWalker.java | 8 ++-- .../walkers/recalibration/ReadHashDatum.java | 6 ++- .../TableRecalibrationWalker.java | 6 ++- .../walkers/recalibration/TileCovariate.java | 46 +++++++++++++++++++ 4 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TileCovariate.java diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java index 903b588f8..6aa325a25 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java @@ -18,6 +18,7 @@ import java.util.*; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; +import edu.mit.broad.picard.illumina.parser.IlluminaUtil; /* * Copyright (c) 2009 The Broad Institute @@ -237,7 +238,8 @@ public class CovariateCounterWalker extends LocusWalker { logger.info( "The covariates being used here: " ); logger.info( requestedCovariates ); - if(estimatedCapacity > 300 * 40 * 200 * 16) { estimatedCapacity = 300 * 40 * 200 * 16; } // Don't want to crash with out of heap space exception + if(estimatedCapacity > 300 * 40 * 200 * 16 || estimatedCapacity < 0) // could be negative if overflowed + { estimatedCapacity = 300 * 40 * 200 * 16; } // Don't want to crash with out of heap space exception dataManager = new RecalDataManager( estimatedCapacity ); readDatumHashMap = new IdentityHashMap(); } @@ -347,8 +349,8 @@ public class CovariateCounterWalker extends LocusWalker { if( FORCE_PLATFORM != null ) { platform = FORCE_PLATFORM; } - - readDatum = new ReadHashDatum( readGroupId, platform, quals, bases, isNegStrand, mappingQuality, length ); + Integer tile = IlluminaUtil.getTileFromReadName(read.getReadName()); + readDatum = new ReadHashDatum( readGroupId, platform, quals, bases, isNegStrand, mappingQuality, length, tile ); readDatumHashMap.put( read, readDatum ); sizeOfReadDatumHashMap++; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/ReadHashDatum.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/ReadHashDatum.java index 0cd8d4c1c..79af1ae7e 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/ReadHashDatum.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/ReadHashDatum.java @@ -13,8 +13,10 @@ public class ReadHashDatum { public boolean isNegStrand; public int mappingQuality; public int length; + public Integer tile; - public ReadHashDatum(String _readGroup, String _platform, byte[] _quals, byte[] _bases, boolean _isNegStrand, int _mappingQuality, int _length) { + public ReadHashDatum(String _readGroup, String _platform, byte[] _quals, byte[] _bases, boolean _isNegStrand, + int _mappingQuality, int _length, Integer _tile) { readGroup = _readGroup; platform = _platform; quals = _quals; @@ -22,6 +24,7 @@ public class ReadHashDatum { isNegStrand = _isNegStrand; mappingQuality = _mappingQuality; length = _length; + tile = _tile; } public ReadHashDatum(ReadHashDatum that) { @@ -32,5 +35,6 @@ public class ReadHashDatum { this.isNegStrand = that.isNegStrand; this.mappingQuality = that.mappingQuality; this.length = that.length; + this.tile = that.tile; } } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java index 2ac1ed925..6c8b39068 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java @@ -15,6 +15,8 @@ import java.util.regex.Pattern; import java.io.File; import java.io.FileNotFoundException; +import edu.mit.broad.picard.illumina.parser.IlluminaUtil; + /* * Copyright (c) 2009 The Broad Institute * @@ -332,7 +334,9 @@ public class TableRecalibrationWalker extends ReadWalker