From 78e94b5a84f4d074992f99fbc74d82ab07dd640c Mon Sep 17 00:00:00 2001 From: rpoplin Date: Sat, 12 Dec 2009 17:29:41 +0000 Subject: [PATCH] TableRecalibration now puts the full list of walker arguments into the PG tag of the bam file it creates. Thanks Matt and Eric. Also, the default nback for the HomopolymerCovariate is 8, down from 10. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2339 348d0f76-0448-11de-a6fe-93d51630548a --- .../recalibration/HomopolymerCovariate.java | 2 +- .../RecalibrationArgumentCollection.java | 2 +- .../TableRecalibrationWalker.java | 22 ++++++++++++++----- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/HomopolymerCovariate.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/HomopolymerCovariate.java index ecf82131d..0e9fb9306 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/HomopolymerCovariate.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/HomopolymerCovariate.java @@ -40,7 +40,7 @@ import net.sf.samtools.SAMRecord; public class HomopolymerCovariate implements ExperimentalCovariate { - int numBack = 10; + int numBack = 8; // Initialize any member variables using the command-line arguments passed to the walkers public void initialize( final RecalibrationArgumentCollection RAC ) { diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalibrationArgumentCollection.java b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalibrationArgumentCollection.java index 1266441f0..7a5c9cdc6 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalibrationArgumentCollection.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalibrationArgumentCollection.java @@ -58,7 +58,7 @@ public class RecalibrationArgumentCollection { @Argument(fullName = "window_size_nqs", shortName="nqs", doc="The window size used by MinimumNQSCovariate for its calculation", required=false) public int WINDOW_SIZE = 5; @Argument(fullName = "homopolymer_nback", shortName="nback", doc="The number of previous bases to look at in HomopolymerCovariate", required=false) - public int HOMOPOLYMER_NBACK = 10; + public int HOMOPOLYMER_NBACK = 8; public boolean checkSolidRecalMode() { return ( SOLID_RECAL_MODE.equalsIgnoreCase("DO_NOTHING") || SOLID_RECAL_MODE.equalsIgnoreCase("SET_Q_ZERO") || 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 7e09f9d18..0d279315a 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java @@ -6,8 +6,7 @@ import org.broadinstitute.sting.gatk.walkers.WalkerName; import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.DataSource; import org.broadinstitute.sting.gatk.datasources.simpleDataSources.ReferenceOrderedDataSource; -import org.broadinstitute.sting.utils.cmdLine.Argument; -import org.broadinstitute.sting.utils.cmdLine.ArgumentCollection; +import org.broadinstitute.sting.utils.cmdLine.*; import org.broadinstitute.sting.utils.*; import java.util.ArrayList; @@ -16,6 +15,7 @@ import java.util.Random; import java.util.regex.Pattern; import java.io.File; import java.io.FileNotFoundException; +import java.lang.reflect.Field; /* * Copyright (c) 2009 The Broad Institute @@ -94,7 +94,7 @@ public class TableRecalibrationWalker extends ReadWalker adList = atd.createArgumentDefinitions(new ArgumentSource(field.getType(), field)); + for( ArgumentDefinition ad : adList ) { + commandLineString += (ad.fullName + "=" + JVMUtils.getFieldValue(field, RAC) + ", "); + } + } + commandLineString += "pQ = " + PRESERVE_QSCORES_LESS_THAN + ", "; + commandLineString += "smoothing = " + SMOOTHING; programRecord.setCommandLine( commandLineString ); header.addProgramRecord( programRecord ); }