diff --git a/build.xml b/build.xml
index a4caa96c9..babf31506 100644
--- a/build.xml
+++ b/build.xml
@@ -67,6 +67,8 @@
+
+
@@ -118,6 +120,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -507,7 +519,7 @@
docletpathref="doclet.classpath"
classpathref="external.dependencies"
classpath="${java.classes}"
- additionalparam="${gatkdocs.include.hidden.arg} -private -build-timestamp "${build.timestamp}" -absolute-version ${build.version} -quiet -J-Xdebug -J-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005">
+ additionalparam="${gatkdocs.include.hidden.arg} -private -build-timestamp "${build.timestamp}" -absolute-version ${build.version} -quiet">
@@ -827,10 +839,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -851,6 +907,7 @@
-
-
-
-
-
-
-
-
-
-
@@ -902,6 +949,10 @@
+
+
+
+
@@ -914,62 +965,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -1027,14 +1097,14 @@
-
+
-
-
+
+
@@ -1043,8 +1113,8 @@
-
-
+
+
@@ -1055,11 +1125,11 @@
-
+
-
+
@@ -1068,7 +1138,7 @@
-
+
@@ -1076,14 +1146,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -1119,7 +1189,7 @@
-
+
diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/qc/TestVariantContextWalker.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/qc/TestVariantContextWalker.java
new file mode 100755
index 000000000..7607049db
--- /dev/null
+++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/qc/TestVariantContextWalker.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2010 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
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * 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
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+package org.broadinstitute.sting.gatk.walkers.qc;
+
+import org.broadinstitute.sting.commandline.Argument;
+import org.broadinstitute.sting.commandline.ArgumentCollection;
+import org.broadinstitute.sting.commandline.Output;
+import org.broadinstitute.sting.gatk.arguments.DbsnpArgumentCollection;
+import org.broadinstitute.sting.gatk.arguments.StandardVariantContextInputArgumentCollection;
+import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
+import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
+import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
+import org.broadinstitute.sting.gatk.refdata.VariantContextAdaptors;
+import org.broadinstitute.sting.gatk.walkers.Reference;
+import org.broadinstitute.sting.gatk.walkers.RodWalker;
+import org.broadinstitute.sting.gatk.walkers.Window;
+import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter;
+import org.broadinstitute.sting.utils.variantcontext.VariantContext;
+
+import java.io.PrintStream;
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.List;
+
+/**
+ * Test routine for new VariantContext object
+ */
+@Reference(window=@Window(start=-20,stop=1))
+public class TestVariantContextWalker extends RodWalker {
+ @Output
+ PrintStream out;
+
+ @ArgumentCollection
+ protected StandardVariantContextInputArgumentCollection variantCollection = new StandardVariantContextInputArgumentCollection();
+
+ @Argument(fullName="takeFirstOnly", doc="Only take the first second at a locus, as opposed to all", required=false)
+ boolean takeFirstOnly = false;
+
+ @Argument(fullName="onlyContextsOfType", doc="Only take variant contexts of this type", required=false)
+ VariantContext.Type onlyOfThisType = null;
+
+ @Argument(fullName="onlyContextsStartinAtCurrentPosition", doc="Only take variant contexts at actually start at the current position, excluding those at span to the current location but start earlier", required=false)
+ boolean onlyContextsStartinAtCurrentPosition = false;
+
+ @Argument(fullName="printPerLocus", doc="If true, we'll print the variant contexts, in addition to counts", required=false)
+ boolean printContexts = false;
+
+ @Argument(fullName="outputVCF", doc="If provided, we'll convert the first input context into a VCF", required=false)
+ VCFWriter writer = null;
+
+ private boolean wroteHeader = false;
+
+ public Integer map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) {
+ if ( ref == null )
+ return 0;
+ else {
+ EnumSet allowedTypes = onlyOfThisType == null ? null : EnumSet.of(onlyOfThisType);
+
+ int n = 0;
+ List contexts;
+ if ( onlyContextsStartinAtCurrentPosition )
+ contexts = tracker.getValues(variantCollection.variants, context.getLocation());
+ else // ! onlyContextsStartinAtCurrentPosition
+ contexts = tracker.getValues(variantCollection.variants);
+
+ for ( VariantContext vc : contexts ) {
+ if ( allowedTypes == null || allowedTypes.contains(vc.getType()) ) {
+ // we need to trigger decoding of the genotype string to pass integration tests
+ vc.getGenotypes();
+
+ if ( writer != null && n == 0 ) {
+ if ( ! wroteHeader ) {
+ writer.writeHeader(VariantContextAdaptors.createVCFHeader(null, vc));
+ wroteHeader = true;
+ }
+
+ writer.add(vc);
+ }
+
+ n++;
+ if ( printContexts ) out.printf(" %s%n", vc);
+ if ( takeFirstOnly ) break;
+ }
+ }
+
+ if ( n > 0 && printContexts ) {
+ out.printf("%s => had %d variant context objects%n", context.getLocation(), n);
+ out.printf("---------------------------------------------%n");
+ }
+
+ return n;
+ }
+ }
+
+ public Integer reduceInit() {
+ return 0;
+ }
+
+ public Integer reduce(Integer point, Integer sum) {
+ return point + sum;
+ }
+
+ @Override
+ public void onTraversalDone(Integer result) {
+ // Double check traversal result to make count is the same.
+ // TODO: Is this check necessary?
+ out.println("[REDUCE RESULT] Traversal result is: " + result);
+ }
+}
diff --git a/public/java/test/org/broadinstitute/sting/utils/R/RScriptExecutorUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/R/RScriptExecutorUnitTest.java
index 1bbf74db9..836a4473f 100644
--- a/public/java/test/org/broadinstitute/sting/utils/R/RScriptExecutorUnitTest.java
+++ b/public/java/test/org/broadinstitute/sting/utils/R/RScriptExecutorUnitTest.java
@@ -26,21 +26,12 @@ package org.broadinstitute.sting.utils.R;
import org.apache.commons.io.FileUtils;
import org.broadinstitute.sting.BaseTest;
-import org.broadinstitute.sting.gatk.walkers.diffengine.DiffElement;
-import org.broadinstitute.sting.gatk.walkers.diffengine.DiffEngine;
-import org.broadinstitute.sting.gatk.walkers.diffengine.DiffNode;
-import org.broadinstitute.sting.gatk.walkers.diffengine.Difference;
import org.broadinstitute.sting.utils.exceptions.UserException;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
/**
@@ -49,7 +40,6 @@ import java.util.List;
public class RScriptExecutorUnitTest extends BaseTest {
final static String testrscript = "print(\"hello, world\")\n";
final static String publicRScript = "plot_Tranches.R";
- final static String privateRScript = "variantCallQC.R";
// --------------------------------------------------------------------------------
//
@@ -74,17 +64,6 @@ public class RScriptExecutorUnitTest extends BaseTest {
@Test
public void testPublic() { testOne(publicRScript, null, null, true); }
- @Test
- public void testPrivate() { testOne(privateRScript, null, null, true); }
-
- // make sure we don't break finding something in private by adding another directory
- @Test
- public void testPrivateWithAdditionalPath1() { testOne(privateRScript, null, "dist", true); }
-
- // make sure we don't break finding something in private by adding another directory
- @Test
- public void testPrivateWithAdditionalPath2() { testOne(privateRScript, null, "doesNotExist", true); }
-
@Test(expectedExceptions = UserException.class)
public void testNonExistantScriptException() { testOne("does_not_exist.R", null, null, true); }
diff --git a/public/packages/GATKEngine.xml b/public/packages/GATKEngine.xml
index 4364988e7..e6056408e 100644
--- a/public/packages/GATKEngine.xml
+++ b/public/packages/GATKEngine.xml
@@ -26,14 +26,10 @@
-
-
-
-
-
-
+
+
-
+