From b89b9adb2cac529daee8d221983b86e7dd5c29fb Mon Sep 17 00:00:00 2001 From: rpoplin Date: Mon, 30 Nov 2009 21:16:00 +0000 Subject: [PATCH] misc code cleanup git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2190 348d0f76-0448-11de-a6fe-93d51630548a --- .../recalibration/CovariateCounterWalker.java | 11 +++++++---- .../gatk/walkers/recalibration/CycleCovariate.java | 7 ++----- .../gatk/walkers/recalibration/DinucCovariate.java | 13 +++++-------- .../walkers/recalibration/RecalDataManager.java | 6 +++--- .../recalibration/TableRecalibrationWalker.java | 5 ++--- 5 files changed, 19 insertions(+), 23 deletions(-) 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 323a8d4e4..99d995d34 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CovariateCounterWalker.java @@ -101,7 +101,7 @@ public class CovariateCounterWalker extends LocusWalker { private long countedBases = 0; // Number of bases used in the calculations, used for reporting in the output file private long skippedSites = 0; // Number of loci skipped because it was a dbSNP site, used for reporting in the output file private int numUnprocessed = 0; // Number of consecutive loci skipped because we are only processing every Nth site - private static final String versionString = "v2.0.10"; // Major version, minor version, and build number + private static final String versionString = "v2.0.11"; // Major version, minor version, and build number private Pair dbSNP_counts = new Pair(0L, 0L); // mismatch/base counts for dbSNP loci private Pair novel_counts = new Pair(0L, 0L); // mismatch/base counts for non-dbSNP loci private static final double DBSNP_VS_NOVEL_MISMATCH_RATE = 2.0; // rate at which dbSNP sites (on an individual level) mismatch relative to novel sites (determined by looking at NA12878) @@ -269,6 +269,7 @@ public class CovariateCounterWalker extends LocusWalker { byte refBase; byte prevBase; byte[] colorSpaceQuals; + byte[] bases; // For each read at this locus for ( PileupElement p : context.getPileup() ) { @@ -284,16 +285,18 @@ public class CovariateCounterWalker extends LocusWalker { // Skip if base quality is zero if( read.getBaseQualities()[offset] > 0 ) { + bases = read.getReadBases(); refBase = (byte)ref.getBase(); - prevBase = read.getReadBases()[offset - 1]; + prevBase = bases[offset - 1]; // DinucCovariate is responsible for getting the complement bases if needed if( read.getReadNegativeStrandFlag() ) { - prevBase = read.getReadBases()[offset + 1]; + prevBase = bases[offset + 1]; } // Skip if this base or the previous one was an 'N' or etc. - if( BaseUtils.isRegularBase( (char)prevBase ) && BaseUtils.isRegularBase( (char)(read.getReadBases()[offset]) ) ) { + // BUGBUG: For DinucCovariate we should use previous reference base, not the previous base in this read. + if( BaseUtils.isRegularBase( (char)prevBase ) && BaseUtils.isRegularBase( (char)(bases[offset]) ) ) { // SOLID bams insert the reference base into the read if the color space quality is zero, so skip over them colorSpaceQuals = null; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java index cc78e91d2..6b9ebe5b5 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java @@ -114,12 +114,9 @@ public class CycleCovariate implements Covariate { } warnedUserBadPlatform = true; } - //ReadHashDatum correctedReadDatum = new ReadHashDatum( readDatum ); - //correctedReadDatum.platform = defaultPlatform; - return 0; // BUGBUG: broken at the moment - //return getValue( correctedReadDatum, offset ); // a recursive call + read.getReadGroup().setPlatform( defaultPlatform ); + return getValue( read, offset ); // a recursive call } - } // Used to get the covariate's value from input csv file in TableRecalibrationWalker diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java index d6371b6c1..ebb55a204 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java @@ -60,23 +60,20 @@ public class DinucCovariate implements Covariate { byte base; byte prevBase; + byte[] bases = read.getReadBases(); // If this is a negative strand read then we need to reverse the direction for our previous base if( read.getReadNegativeStrandFlag() ) { - base = (byte)BaseUtils.simpleComplement( (char)(read.getReadBases()[offset]) ); - prevBase = (byte)BaseUtils.simpleComplement( (char)(read.getReadBases()[offset + 1]) ); + base = (byte)BaseUtils.simpleComplement( (char)(bases[offset]) ); + prevBase = (byte)BaseUtils.simpleComplement( (char)(bases[offset + 1]) ); } else { - base = read.getReadBases()[offset]; - prevBase = read.getReadBases()[offset - 1]; + base = bases[offset]; + prevBase = bases[offset - 1]; } - //char[] charArray = {(char)prevBase, (char)base}; - //return new String( charArray ); // This is an expensive call return dinucHashMap.get( Dinuc.hashBytes( prevBase, base ) ); - //return String.format("%c%c", prevBase, base); // This return statement is too slow } // Used to get the covariate's value from input csv file in TableRecalibrationWalker public final Comparable getValue( final String str ) { - //return str; return dinucHashMap.get( Dinuc.hashBytes( (byte)str.charAt(0), (byte)str.charAt(1) ) ); } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java index a1a69dd61..461229ea8 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java @@ -252,15 +252,15 @@ public class RecalDataManager { ((GATKSAMRecord)read).setReadGroup( readGroup ); } - if( RAC.FORCE_READ_GROUP != null && !read.getReadGroup().getReadGroupId().equals(RAC.FORCE_READ_GROUP) ) { // Collapse all the read groups into a single common String provided by the user + if( RAC.FORCE_READ_GROUP != null && !readGroup.getReadGroupId().equals(RAC.FORCE_READ_GROUP) ) { // Collapse all the read groups into a single common String provided by the user String oldPlatform = readGroup.getPlatform(); readGroup = new SAMReadGroupRecord( RAC.FORCE_READ_GROUP ); readGroup.setPlatform( oldPlatform ); ((GATKSAMRecord)read).setReadGroup( readGroup ); } - if( RAC.FORCE_PLATFORM != null && !read.getReadGroup().getPlatform().equals(RAC.FORCE_PLATFORM)) { - read.getReadGroup().setPlatform( RAC.FORCE_PLATFORM ); + if( RAC.FORCE_PLATFORM != null && !readGroup.getPlatform().equals(RAC.FORCE_PLATFORM)) { + readGroup.setPlatform( RAC.FORCE_PLATFORM ); } } } 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 399412ae5..420d5664b 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java @@ -93,7 +93,7 @@ public class TableRecalibrationWalker extends ReadWalker key = new ArrayList(); @@ -483,6 +483,5 @@ public class TableRecalibrationWalker extends ReadWalker