initial VariantEvalWalker test. More to be added soon...
Also fixed the case where MD5 sums had leading zero's clipped off git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1551 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
adce3bd536
commit
ea6ffd3796
|
|
@ -52,6 +52,9 @@ public class VariantEvalWalker extends RefWalker<Integer, Integer> {
|
||||||
@Argument(fullName="extensiveSubsets", shortName = "A", doc="If provided, output will be calculated over a lot of subsets, by default we only operate over all variants", required=false)
|
@Argument(fullName="extensiveSubsets", shortName = "A", doc="If provided, output will be calculated over a lot of subsets, by default we only operate over all variants", required=false)
|
||||||
public boolean extensiveSubsets = false;
|
public boolean extensiveSubsets = false;
|
||||||
|
|
||||||
|
@Argument(fullName="supressDateInformation", doc="This flag indicates that we want to suppress the date information from the output, so that if can be diff'ed against previous evals.", required=false)
|
||||||
|
public boolean supressDateInformation = false;
|
||||||
|
|
||||||
String analysisFilenameBase = null;
|
String analysisFilenameBase = null;
|
||||||
|
|
||||||
final String knownSNPDBName = "dbSNP";
|
final String knownSNPDBName = "dbSNP";
|
||||||
|
|
@ -253,8 +256,8 @@ public class VariantEvalWalker extends RefWalker<Integer, Integer> {
|
||||||
//stream.printf("%s Analysis set %s%n", analysisSetName, , analysisSetName);
|
//stream.printf("%s Analysis set %s%n", analysisSetName, , analysisSetName);
|
||||||
stream.printf("%sAnalysis name %s%n", header, analysis.getName());
|
stream.printf("%sAnalysis name %s%n", header, analysis.getName());
|
||||||
stream.printf("%sAnalysis params %s%n", header, Utils.join(" ", analysis.getParams()));
|
stream.printf("%sAnalysis params %s%n", header, Utils.join(" ", analysis.getParams()));
|
||||||
stream.printf("%sAnalysis class %s%n", header, analysis);
|
stream.printf("%sAnalysis class %s%n", header, analysis.getClass().getName());
|
||||||
stream.printf("%sAnalysis time %s%n", header, now);
|
if (!supressDateInformation) stream.printf("%sAnalysis time %s%n", header, now);
|
||||||
for ( String line : analysis.done()) {
|
for ( String line : analysis.done()) {
|
||||||
stream.printf("%s%s%n", header, line);
|
stream.printf("%s%s%n", header, line);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,20 @@
|
||||||
package org.broadinstitute.sting;
|
package org.broadinstitute.sting;
|
||||||
|
|
||||||
import org.broadinstitute.sting.BaseTest;
|
|
||||||
import org.broadinstitute.sting.utils.Utils;
|
|
||||||
import org.broadinstitute.sting.utils.Pair;
|
|
||||||
import org.broadinstitute.sting.utils.cmdLine.ArgumentException;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.broadinstitute.sting.gatk.walkers.Walker;
|
|
||||||
import org.broadinstitute.sting.gatk.CommandLineGATK;
|
|
||||||
import org.broadinstitute.sting.gatk.CommandLineExecutable;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.security.MessageDigest;
|
|
||||||
import java.math.BigInteger;
|
|
||||||
|
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
import org.broadinstitute.sting.gatk.CommandLineExecutable;
|
||||||
|
import org.broadinstitute.sting.gatk.CommandLineGATK;
|
||||||
|
import org.broadinstitute.sting.utils.Pair;
|
||||||
|
import org.broadinstitute.sting.utils.Utils;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.security.MessageDigest;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class WalkerTest extends BaseTest {
|
public class WalkerTest extends BaseTest {
|
||||||
public String assertMatchingMD5(final String name, final File resultsFile, final String expectedMD5 ) {
|
public String assertMatchingMD5(final String name, final File resultsFile, final String expectedMD5 ) {
|
||||||
|
|
@ -25,13 +23,13 @@ public class WalkerTest extends BaseTest {
|
||||||
byte[] thedigest = MessageDigest.getInstance("MD5").digest(bytesOfMessage);
|
byte[] thedigest = MessageDigest.getInstance("MD5").digest(bytesOfMessage);
|
||||||
BigInteger bigInt = new BigInteger(1, thedigest);
|
BigInteger bigInt = new BigInteger(1, thedigest);
|
||||||
String filemd5sum = bigInt.toString(16);
|
String filemd5sum = bigInt.toString(16);
|
||||||
|
while (filemd5sum.length() < 32) filemd5sum = "0" + filemd5sum; // pad to length 32
|
||||||
if ( parameterize() || expectedMD5.equals("") ) {
|
if ( parameterize() || expectedMD5.equals("") ) {
|
||||||
logger.warn(String.format("PARAMETERIZATION[%s]: file %s has md5 = %s, stated expectation is %s, equal? = %b",
|
logger.warn(String.format("PARAMETERIZATION[%s]: file %s has md5 = %s, stated expectation is %s, equal? = %b",
|
||||||
name, resultsFile, filemd5sum, expectedMD5, filemd5sum.equals(expectedMD5)));
|
name, resultsFile, filemd5sum, expectedMD5, filemd5sum.equals(expectedMD5)));
|
||||||
} else {
|
} else {
|
||||||
logger.warn(String.format("Checking MD5 for %s [calculated=%s, expected=%s]", resultsFile, filemd5sum, expectedMD5));
|
logger.warn(String.format("Checking MD5 for %s [calculated=%s, expected=%s]", resultsFile, filemd5sum, expectedMD5));
|
||||||
Assert.assertEquals(name + "Mismatching MD5s", expectedMD5, filemd5sum);
|
Assert.assertEquals(name + " Mismatching MD5s", expectedMD5, filemd5sum);
|
||||||
logger.warn(String.format(" => %s PASSED", name));
|
logger.warn(String.format(" => %s PASSED", name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package org.broadinstitute.sting.playground.gatk.walkers.varianteval;
|
||||||
|
|
||||||
|
import org.broadinstitute.sting.WalkerTest;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author aaron
|
||||||
|
* <p/>
|
||||||
|
* Class VariantEvalWalkerTest
|
||||||
|
* <p/>
|
||||||
|
* test out the variant eval walker under a bunch of different runtime conditions.
|
||||||
|
*/
|
||||||
|
public class VariantEvalWalkerTest extends WalkerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void emptyTest() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEvalVariantROD() {
|
||||||
|
List <String> md5 = new ArrayList<String>();
|
||||||
|
md5.add("094c0adb8e4ae4de424f26482fd43152");
|
||||||
|
|
||||||
|
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
|
||||||
|
"-R /broad/1KG/reference/human_b36_both.fasta" +
|
||||||
|
" --rodBind eval,Variants,/humgen/gsa-scr1/GATK_Data/Validation_Data/NA12878.1kg.p2.chr1_10mb_11_mb.SLX.lod5.variants.geli.calls" +
|
||||||
|
" -T VariantEval" +
|
||||||
|
" --DBSNP /humgen/gsa-scr1/GATK_Data/dbsnp_129_b36.rod" +
|
||||||
|
" -L 1:10,000,000-11,000,000" +
|
||||||
|
" --outerr %s" +
|
||||||
|
" --supressDateInformation",
|
||||||
|
1, // just one output file
|
||||||
|
md5);
|
||||||
|
List<File> result = executeTest("testEvalVariantROD", spec).getFirst();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Reference in New Issue