From edbd17b8e048c49d8f2e2d287693091ff7e01fd4 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Tue, 23 Jul 2013 13:27:47 -0400 Subject: [PATCH 1/6] Added note of caution to VQSR gatkdocs for option BOTH of recalibration mode --- .../VariantRecalibratorArgumentCollection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protected/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibratorArgumentCollection.java b/protected/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibratorArgumentCollection.java index bdd41f37c..ae0b4a347 100644 --- a/protected/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibratorArgumentCollection.java +++ b/protected/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibratorArgumentCollection.java @@ -70,9 +70,9 @@ public class VariantRecalibratorArgumentCollection { throw new ReviewedStingException("VariantRecalibrator mode string is unrecognized, input = " + input); } - @Argument(fullName = "mode", shortName = "mode", doc = "Recalibration mode to employ: 1.) SNP for recalibrating only snps (emitting indels untouched in the output VCF); 2.) INDEL for indels; and 3.) BOTH for recalibrating both snps and indels simultaneously.", required = false) + @Argument(fullName = "mode", shortName = "mode", doc = "Recalibration mode to employ: 1.) SNP for recalibrating only SNPs (emitting indels untouched in the output VCF); 2.) INDEL for indels (emitting SNPs untouched in the output VCF); and 3.) BOTH for recalibrating both SNPs and indels simultaneously (for testing purposes only, not recommended for general use).", required = false) public VariantRecalibratorArgumentCollection.Mode MODE = VariantRecalibratorArgumentCollection.Mode.SNP; - @Argument(fullName="maxGaussians", shortName="mG", doc="The maximum number of Gaussians to try during variational Bayes algorithm", required=false) + @Argument(fullName="maxGaussians", shortName="mG", doc="The maximum number of Gaussians to try during variational Bayes algorithm.", required=false) public int MAX_GAUSSIANS = 10; @Argument(fullName="maxIterations", shortName="mI", doc="The maximum number of VBEM iterations to be performed in variational Bayes algorithm. Procedure will normally end when convergence is detected.", required=false) public int MAX_ITERATIONS = 100; From 0ea3f8ca584d8194f609a0aa587c8ef8c542601c Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Thu, 25 Jul 2013 13:58:54 -0400 Subject: [PATCH 2/6] Added function to gatkdocs to specify what VCF field an annotation goes in (INFO or FORMAT) --- .../help/GenericDocumentationHandler.java | 32 +++++++++++++++++-- settings/helpTemplates/generic.template.html | 7 +++- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java b/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java index 02c269495..01221cf27 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2012 The Broad Institute -* +* * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without @@ -9,10 +9,10 @@ * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: -* +* * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. -* +* * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37,6 +37,8 @@ import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.CommandLineGATK; import org.broadinstitute.sting.gatk.refdata.tracks.FeatureManager; import org.broadinstitute.sting.gatk.walkers.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.classloader.JVMUtils; import org.broadinstitute.sting.utils.collections.Pair; @@ -295,6 +297,8 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { // Get annotation info (what type of annotation, standard etc.) final HashSet annotInfo = getAnnotInfo(myClass, new HashSet()); root.put("annotinfo", StringUtils.join(annotInfo, ", ")); + // Get annotation field (whether it goes in INFO or FORMAT) + root.put("annotfield", getAnnotField(myClass)); // Get walker type if applicable root.put("walkertype", getWalkerType(myClass)); // Get partition type if applicable @@ -316,6 +320,7 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { // put empty items to avoid blowups root.put("parallel", new HashSet()); root.put("annotinfo", ""); + root.put("annotfield", ""); root.put("walkertype", ""); root.put("partitiontype", ""); root.put("readfilters", new HashSet>()); @@ -359,6 +364,27 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { return getParallelism(mySuperClass, parallelOptions); } + /** + * Utility function that looks up whether the annotation goes in INFO or FORMAT field. + * + * @param myClass the class to query for the interfaces + * @return a String specifying the annotation field + */ + private final String getAnnotField(Class myClass) { + // + // Look up superclasses recursively until we find either + // GenotypeAnnotation or InfoFieldAnnotation + final Class mySuperClass = myClass.getSuperclass(); + if (mySuperClass == InfoFieldAnnotation.class) { + return "INFO (variant-level)"; + } else if (mySuperClass == GenotypeAnnotation.class) { + return "FORMAT (sample genotype-level)"; + } else if (mySuperClass.getSimpleName().equals("Object")) { + return ""; + } + return getAnnotField(mySuperClass); + } + /** * Utility function that determines the annotation type for an instance of class c. * diff --git a/settings/helpTemplates/generic.template.html b/settings/helpTemplates/generic.template.html index b05ad65c0..ea9fa2d72 100644 --- a/settings/helpTemplates/generic.template.html +++ b/settings/helpTemplates/generic.template.html @@ -123,8 +123,13 @@ ${partitiontype} + <#if annotfield != "" > +

VCF Field + ${annotfield} +

+ <#if annotinfo != "" > -

Annotation type +

Type ${annotinfo}

From 5ad99c362dc95a767ba1cbe93572faaa3d816952 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Thu, 25 Jul 2013 17:20:02 -0400 Subject: [PATCH 3/6] Added caveat to gatkdocs for MAPQ read transformers & cleaned up AB annotation gatkdocs --- .../filters/ReassignMappingQualityFilter.java | 23 +++++++++++++++---- .../ReassignOneMappingQualityFilter.java | 7 +++--- .../gatk/walkers/annotator/AlleleBalance.java | 7 +++++- .../annotator/AlleleBalanceBySample.java | 2 +- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignMappingQualityFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignMappingQualityFilter.java index 41ab59845..e576666e1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignMappingQualityFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignMappingQualityFilter.java @@ -32,10 +32,23 @@ import org.broadinstitute.sting.commandline.Argument; * A read filter (transformer) that sets all reads mapping quality to a given value. * *

- * If a BAM file contains erroneous or missing mapping qualities, this 'filter' will set - * all your mapping qualities to a given value. Default being 60. + * If a BAM file contains erroneous or missing mapping qualities (MAPQ), this read transformer will set all your + * mapping qualities to a given value (see arguments list for default value). *

* + *

See also

+ * + *

ReassignOneMappingQualityFilter: reassigns a single MAPQ value, as opposed to all those found in the BAM file.

+ * + *

Caveats

+ * + *

Note that due to the order of operations involved in applying filters, it is possible that other read filters + * (determined either at command-line or internally by the tool you are using) will be applied to your data before + * this read transformation can be applied. If one of those other filters acts on the read mapping quality (MAPQ), + * then you may not obtain the expected results. Unfortunately it is currently not possible to change the order of + * operations from command line. To avoid the problem, we recommend applying this filter separately from any other + * analysis, using PrintReads.

+ * * *

Input

*

@@ -50,9 +63,9 @@ import org.broadinstitute.sting.commandline.Argument; * *

Examples

*
- *    java
- *      -jar GenomeAnalysisTK.jar
- *      -rf ReassignMappingQuality
+ *  java -jar GenomeAnalysisTK.jar \
+ *      -T PrintReads \
+ *      -rf ReassignMappingQuality \
  *      -DMQ 35
  *  
* diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignOneMappingQualityFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignOneMappingQualityFilter.java index f31313a86..232b7ed3d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignOneMappingQualityFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/ReassignOneMappingQualityFilter.java @@ -32,7 +32,7 @@ import org.broadinstitute.sting.commandline.Argument; * A read filter (transformer) that changes a given read mapping quality to a different value. * *

- * This 'filter' will change a certain read mapping quality to a different value without affecting reads that + * This read transformer will change a certain read mapping quality to a different value without affecting reads that * have other mapping qualities. This is intended primarily for users of RNA-Seq data handling programs such * as TopHat, which use MAPQ = 255 to designate uniquely aligned reads. According to convention, 255 normally * designates "unknown" quality, and most GATK tools automatically ignore such reads. By reassigning a different @@ -46,7 +46,6 @@ import org.broadinstitute.sting.commandline.Argument; * that have no assigned mapping qualities. *

* - * *

Input

*

* BAM file(s) @@ -60,8 +59,8 @@ import org.broadinstitute.sting.commandline.Argument; * *

Examples

*
- *    java
- *      -jar GenomeAnalysisTK.jar
+ *    java -jar GenomeAnalysisTK.jar
+ *      -T PrintReads
  *      -rf ReassignOneMappingQuality
  *      -RMQF 255
  *      -RMQT 60
diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java
index 6e7bc9805..87323cf87 100644
--- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java
+++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java
@@ -46,7 +46,12 @@ import java.util.Map;
 
 
 /**
- * The allele balance (fraction of ref bases over ref + alt bases) across all biallelic het-called samples
+ * Allele balance across all samples
+ *
+ * 

The allele balance is the fraction of ref bases over ref + alt bases.

+ * + *

Caveats

+ *

Note that this annotation will only work properly for biallelic samples that are called as heterozygous.

*/ public class AlleleBalance extends InfoFieldAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java index 608257b54..f5930078f 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java @@ -51,7 +51,7 @@ import java.util.List; *

The allele balance is the fraction of ref bases over ref + alt bases.

* *

Caveats

- *

Note that this annotation will only work properly for biallelic het-called samples.

+ *

Note that this annotation will only work properly for biallelic samples that are called as heterozygous.

*

This is an experimental annotation. As such, it is unsupported; we do not make any guarantees that it will work properly, and you use it at your own risk.

*/ public class AlleleBalanceBySample extends GenotypeAnnotation implements ExperimentalAnnotation { From 660b0759004bfb11e4b05c14d277c635730ee376 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Thu, 25 Jul 2013 17:28:06 -0400 Subject: [PATCH 4/6] Added deprecation notice for SomaticIndelDetector --- .../src/org/broadinstitute/sting/utils/DeprecatedToolChecks.java | 1 + 1 file changed, 1 insertion(+) diff --git a/public/java/src/org/broadinstitute/sting/utils/DeprecatedToolChecks.java b/public/java/src/org/broadinstitute/sting/utils/DeprecatedToolChecks.java index 78c32ed02..9823e524a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/DeprecatedToolChecks.java +++ b/public/java/src/org/broadinstitute/sting/utils/DeprecatedToolChecks.java @@ -46,6 +46,7 @@ public class DeprecatedToolChecks { deprecatedGATKWalkers.put("TableRecalibration", "2.0 (use PrintReads with -BQSR instead; see documentation for usage)"); deprecatedGATKWalkers.put("AlignmentWalker", "2.2 (no replacement)"); deprecatedGATKWalkers.put("CountBestAlignments", "2.2 (no replacement)"); + deprecatedGATKWalkers.put("SomaticIndelDetector", "2.0 (replaced by the standalone tool Indelocator; see Cancer Tools documentation)"); } // Mapping from walker name to major version number where the walker first disappeared and optional replacement options From fc4a8b1dd04603c00197a133450a746137619422 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Thu, 25 Jul 2013 17:29:09 -0400 Subject: [PATCH 5/6] Fixed example in DoC gatkdoc --- .../sting/gatk/walkers/coverage/DepthOfCoverage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverage.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverage.java index c4ef4d23b..ca3255097 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverage.java @@ -102,7 +102,7 @@ import java.util.*; *
  * java -Xmx2g -jar GenomeAnalysisTK.jar \
  *   -R ref.fasta \
- *   -T Coverage \
+ *   -T DepthOfCoverage \
  *   -o file_name_base \
  *   -I input_bams.list
  *   [-geneList refSeq.sorted.txt] \

From 3063d82797830b0b5905987c82f92d62d524c4f4 Mon Sep 17 00:00:00 2001
From: Geraldine Van der Auwera 
Date: Thu, 25 Jul 2013 17:30:42 -0400
Subject: [PATCH 6/6] Fixed example in CallableLoci gatkdoc

---
 .../sting/gatk/walkers/coverage/CallableLoci.java              | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLoci.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLoci.java
index 6af6723f2..e30965925 100644
--- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLoci.java
+++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLoci.java
@@ -84,7 +84,8 @@ import java.io.PrintStream;
  * 

*

Examples

*
- *     -T CallableLociWalker \
+ *  java -jar GenomeAnalysisTK.jar \
+ *     -T CallableLoci \
  *     -I my.bam \
  *     -summary my.summary \
  *     -o my.bed