Merge branch 'master' of ssh://nickel.broadinstitute.org/humgen/gsa-scr1/gsa-engineering/git/unstable

This commit is contained in:
Eric Banks 2011-08-12 00:40:18 -04:00
commit 45f973ab1f
9 changed files with 96 additions and 115 deletions

139
build.xml
View File

@ -43,6 +43,9 @@
<property name="scala.classes" value="${build.dir}/scala/classes" />
<property name="queue-extensions.source.dir" value="${build.dir}/queue-extensions/src" />
<property name="javadoc.dir" value="javadoc" />
<property name="scaladoc.dir" value="scaladoc" />
<!-- Contracts for Java -->
<!-- To disable, run with -Duse.contracts=false -->
@ -50,9 +53,6 @@
<property name="java.contracts" value="${build.dir}/java/contracts" />
<property name="contracts.version" value="1.0-20110609" />
<property name="cofoja.jar" value="${lib.dir}/cofoja-${contracts.version}.jar"/>
<!-- where to find the tribble distro -->
<property name="tribble.dir" value="tribble" />
<!-- where to find 'findbugs', which you must set if you plan to use 'ant findbugs' -->
<property name="findbugs.home" value="./findbugs"/>
@ -89,7 +89,6 @@
<patternset refid="all.java.source.pattern" />
</fileset>
<fileset id="external.source.files" dir="${external.dir}" erroronmissingdir="false">
<include name="**/*.java" />
</fileset>
@ -171,6 +170,12 @@
<property name="scala.target" value="core"/>
</target>
<target name="init.buildpublic">
<!-- Set the properties needed to build public only -->
<property name="gatk.target" value="core"/>
<property name="scala.target" value="core"/>
</target>
<target name="git.describe">
<exec executable="git" outputproperty="git.describe.output" resultproperty="git.describe.exit.value" failonerror="false">
<arg line="describe" />
@ -245,6 +250,7 @@
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build.dir}"/>
<mkdir dir="${lib.dir}"/>
<mkdir dir="${java.classes}"/>
<mkdir dir="${java.contracts}"/>
@ -276,7 +282,7 @@
</taskdef>
</target>
<target name="gatk.compile.public.source" depends="tribble,init,resolve">
<target name="gatk.compile.public.source" depends="init,resolve">
<javac fork="true" srcdir="${java.public.source.dir}" memoryMaximumSize="512m" destdir="${java.classes}" debug="true" debuglevel="lines,vars,source" classpathref="external.dependencies" tempdir="${java.io.tmpdir}">
<compilerarg value="-proc:none"/>
</javac>
@ -337,7 +343,7 @@
<target name="gatk.contracts" depends="gatk.contracts.public,gatk.contracts.private"
description="create GATK contracts" if="include.contracts" />
<target name="gatk.compile" depends="tribble,init,resolve,gatk.compile.source,gatk.contracts" />
<target name="gatk.compile" depends="init,resolve,gatk.compile.source,gatk.contracts" />
<target name="init.queue-extensions.generate" depends="gatk.compile">
<condition property="uptodate.queue-extensions.generate">
@ -863,7 +869,7 @@
</macrodef>
<!-- our three different test conditions: Test, IntegrationTest, PerformanceTest -->
<target name="test" depends="test.compile,tribble.test" description="Run unit tests">
<target name="test" depends="test.compile" description="Run unit tests">
<condition property="ttype" value="*UnitTest" else="${single}">
<not><isset property="single"/></not>
</condition>
@ -911,86 +917,59 @@
<run-failed-test xmlfailedtestfile="${report}/*PipelineTest/testng-failed.xml" />
</target>
<!-- ***************************************************************************** -->
<!-- *********** Tribble ********* -->
<!-- ***************************************************************************** -->
<target name="tribble.init" description="checks if tribble is available to build from source">
<condition property="tribble.compile.exists">
<available file="${tribble.dir}/build.xml"/>
</condition>
</target>
<!-- compile the library -->
<target name="tribble.compile" description="compiles the tribble library" depends="tribble.init" if="tribble.compile.exists">
<echo message="Building the Tribble Library..."/>
<ant antfile="build.xml" target="all" dir="${tribble.dir}" inheritAll="false"/>
</target>
<!-- copy the compiled library -->
<target name="tribble.compile.copy" description="Copies the compiled tribble library" depends="tribble.compile" if="tribble.compile.exists">
<copy todir="${lib.dir}">
<fileset dir="${tribble.dir}/dist" includes="*.jar"/>
</copy>
</target>
<!-- copy the precompiled library -->
<target name="tribble.library.copy" description="Copies the precompiled tribble library" depends="tribble.init" unless="tribble.compile.exists">
<echo message="Copying the Tribble Library..."/>
<copy todir="${lib.dir}">
<fileset dir="settings/repository/org.broad" includes="tribble*.jar"/>
</copy>
</target>
<target name="tribble" description="Copies the tribble jar" depends="tribble.compile.copy,tribble.library.copy"/>
<target name="tribble.test.init" description="runs the tribble tests" depends="tribble.init">
<condition property="tribble.test.run">
<and>
<isset property="tribble.compile.exists"/>
<not><isset property="single"/></not>
</and>
</condition>
</target>
<!-- test tribble using the unit tests set in tribble -->
<target name="tribble.test" description="runs the tribble tests" depends="tribble.test.init,tribble.compile" if="tribble.test.run">
<echo message="Testing the Tribble Library..."/>
<ant antfile="build.xml" target="test" dir="${tribble.dir}" inheritAll="false"/>
</target>
<!-- clean tribble -->
<target name="tribble.clean" description="cleans the tribble library" depends="tribble.init" if="tribble.compile.exists">
<echo message="Cleaning the Tribble Library..."/>
<ant antfile="build.xml" target="clean" dir="${tribble.dir}" inheritAll="false"/>
</target>
<!-- ***************************************************************************** -->
<!-- ******************************************************************************** -->
<!-- Javadoc -->
<!-- ******************************************************************************** -->
<target name="clean.javadoc">
<delete dir="javadoc"/>
<delete dir="scaladoc"/>
<delete dir="${javadoc.dir}" />
</target>
<target name="javadoc" depends="init.buildall,resolve,queue-extensions.generate,init.scala.compile" description="generates javadoc">
<mkdir dir="javadoc"/>
<javadoc destdir="javadoc"
classpathref="external.dependencies">
<sourcepath path="${java.public.source.dir}"/>
<sourcepath path="${external.dir}"/>
<target name="init.javadoc">
<mkdir dir="${javadoc.dir}" />
</target>
<target name="javadoc" depends="init.buildpublic,generate.javadoc" description="Generates public javadoc" />
<target name="javadoc.private" depends="init.buildall,generate.javadoc" description="Generates public and private javadoc" />
<target name="generate.javadoc" depends="init.javadoc,resolve">
<javadoc destdir="${javadoc.dir}" classpathref="external.dependencies">
<fileset refid="java.source.files" />
<sourcepath path="${external.dir}" />
</javadoc>
<javadoc destdir="javadoc"
classpathref="external.dependencies">
<sourcepath path="${java.private.source.dir}"/>
<exclude name="**" unless="include.private" />
</javadoc>
<mkdir dir="scaladoc"/>
<scaladoc srcdir="" destdir="scaladoc" classpathref="scala.dependencies" deprecation="yes" unchecked="yes">
<src path="${scala.public.source.dir}"/>
<src path="${scala.private.source.dir}"/>
<src path="${queue-extensions.source.dir}"/>
<include name="**/*.scala"/>
</target>
<!-- ******************************************************************************** -->
<!-- Scaladoc -->
<!-- ******************************************************************************** -->
<target name="clean.scaladoc">
<delete dir="${scaladoc.dir}" />
</target>
<target name="init.scaladoc">
<mkdir dir="${scaladoc.dir}" />
</target>
<!-- NOTE: the scaladoc targets require that the environment variable ANT_OPTS has been set to "-Xmx1G" -->
<target name="scaladoc" depends="init.buildpublic,generate.scaladoc" description="Generates public scaladoc -- set ANT_OPTS to -Xmx1G" />
<target name="scaladoc.private" depends="init.buildall,generate.scaladoc" description="Generates public and private scaladoc -- set ANT_OPTS to -Xmx1G" />
<target name="generate.scaladoc" depends="resolve,queue-extensions.generate,init.scala.compile,scala.compile,init.scaladoc">
<scaladoc srcdir="${basedir}" destdir="${scaladoc.dir}" classpathref="scala.dependencies" deprecation="yes" unchecked="yes">
<include name="${scala.public.source.dir}/**/*.scala" />
<include name="${queue-extensions.source.dir}/**/*.scala" />
<include name="${scala.private.source.dir}/**/*.scala" if="include.private" />
</scaladoc>
</target>
<!-- ******************************************************************************** -->
<!-- Release-related tasks -->
<!-- ******************************************************************************** -->
<!-- Unzip all classes from their current locations and assemble them in a staging directory -->
<target name="stage" description="stage files for distribution">
<mkdir dir="staging"/>
@ -1080,7 +1059,7 @@
</findbugs>
</target>
<target name="clean" description="clean up" depends="tribble.clean,clean.javadoc,clean.gatkdocs">
<target name="clean" description="clean up" depends="clean.javadoc,clean.scaladoc,clean.gatkdocs">
<delete dir="out"/>
<delete dir="${build.dir}"/>
<delete dir="${lib.dir}"/>

View File

@ -12,6 +12,9 @@
<dependency org="net.sf" name="picard" rev="latest.integration"/>
<dependency org="edu.mit.broad" name="picard-private-parts" rev="latest.integration"/>
<!-- Tribble -->
<dependency org="org.broad" name="tribble" rev="latest.integration"/>
<dependency org="log4j" name="log4j" rev="1.2.15">
<!-- Don't include javax.mail here in default, only used in scala->default by commons-email -->
<exclude org="javax.mail" />

View File

@ -67,6 +67,7 @@ public abstract class BaseTest {
public static final String b36dbSNP129 = dbsnpDataLocation + "dbsnp_129_b36.vcf";
public static final String b37dbSNP129 = dbsnpDataLocation + "dbsnp_129_b37.vcf";
public static final String b37dbSNP132 = dbsnpDataLocation + "dbsnp_132_b37.vcf";
public static final String hg18dbSNP132 = dbsnpDataLocation + "dbsnp_132.hg18.vcf";
public static final String hapmapDataLocation = comparisonDataLocation + "Validated/HapMap/3.3/";
public static final String b37hapmapGenotypes = hapmapDataLocation + "genotypes_r27_nr.b37_fwd.vcf";

View File

@ -16,8 +16,8 @@ import java.util.Map;
public class UnifiedGenotyperIntegrationTest extends WalkerTest {
private final static String baseCommand = "-T UnifiedGenotyper -R " + b36KGReference + " -NO_HEADER -glm BOTH";
private final static String baseCommandIndels = "-T UnifiedGenotyper -R " + b36KGReference + " -NO_HEADER -glm INDEL";
private final static String baseCommand = "-T UnifiedGenotyper -R " + b36KGReference + " -NO_HEADER -glm BOTH --dbsnp " + b36dbSNP129;
private final static String baseCommandIndels = "-T UnifiedGenotyper -R " + b36KGReference + " -NO_HEADER -glm INDEL --dbsnp " + b36dbSNP129;
// --------------------------------------------------------------------------------------------------------------
//
@ -28,7 +28,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void testMultiSamplePilot1() {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
baseCommand + " -I " + validationDataLocation + "low_coverage_CEU.chr1.10k-11k.bam -o %s -L 1:10,022,000-10,025,000", 1,
Arrays.asList("16b0c7b47745abcd1ddaa2e261719530"));
Arrays.asList("149e6ad9b3fd23551254a691286a96b3"));
executeTest("test MultiSample Pilot1", spec);
}
@ -54,12 +54,12 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void testWithAllelesPassedIn() {
WalkerTest.WalkerTestSpec spec1 = new WalkerTest.WalkerTestSpec(
baseCommand + " --genotyping_mode GENOTYPE_GIVEN_ALLELES -alleles " + validationDataLocation + "allelesForUG.vcf -I " + validationDataLocation + "pilot2_daughters.chr20.10k-11k.bam -o %s -L 20:10,000,000-10,025,000", 1,
Arrays.asList("811ddc0bd8322b14f14f58df8c627aa9"));
Arrays.asList("8de2602679ffc92388da0b6cb4325ef6"));
executeTest("test MultiSample Pilot2 with alleles passed in", spec1);
WalkerTest.WalkerTestSpec spec2 = new WalkerTest.WalkerTestSpec(
baseCommand + " --output_mode EMIT_ALL_SITES --genotyping_mode GENOTYPE_GIVEN_ALLELES -alleles " + validationDataLocation + "allelesForUG.vcf -I " + validationDataLocation + "pilot2_daughters.chr20.10k-11k.bam -o %s -L 20:10,000,000-10,025,000", 1,
Arrays.asList("5cf08dd7ac3d218082f7be3915ce0b15"));
Arrays.asList("ec43daadfb15b00b41aeb0017a45df0b"));
executeTest("test MultiSample Pilot2 with alleles passed in and emitting all sites", spec2);
}
@ -67,7 +67,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void testSingleSamplePilot2() {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
baseCommand + " -I " + validationDataLocation + "NA12878.1kg.p2.chr1_10mb_11_mb.SLX.bam -o %s -L 1:10,000,000-10,100,000", 1,
Arrays.asList("75156264696563c2f47620fef9424f7c"));
Arrays.asList("82d469145c174486ccc494884852cc58"));
executeTest("test SingleSample Pilot2", spec);
}
@ -77,7 +77,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
//
// --------------------------------------------------------------------------------------------------------------
private final static String COMPRESSED_OUTPUT_MD5 = "7255e03430549cb97d8fcae34cbffb02";
private final static String COMPRESSED_OUTPUT_MD5 = "a5a9f38c645d6004d4640765a8b77ce4";
@Test
public void testCompressedOutput() {
@ -107,7 +107,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
// Note that we need to turn off any randomization for this to work, so no downsampling and no annotations
String md5 = "7912109e83fda21dae90ef8d5dd0140d";
String md5 = "0a45761c0e557d9c2080eb9e7f4f6c41";
WalkerTest.WalkerTestSpec spec1 = new WalkerTest.WalkerTestSpec(
baseCommand + " -dt NONE -G none -I " + validationDataLocation + "NA12878.1kg.p2.chr1_10mb_11_mb.SLX.bam -o %s -L 1:10,000,000-10,075,000", 1,
@ -138,10 +138,9 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
@Test
public void testCallingParameters() {
HashMap<String, String> e = new HashMap<String, String>();
e.put( "--min_base_quality_score 26", "6d3aa9f783ca63f37c952f83eeda593c" );
e.put( "--min_mapping_quality_score 26", "51bfdf777123bf49de5d92ffde5c74e7" );
e.put( "--p_nonref_model GRID_SEARCH", "333328ab2c8da2875fade599e80a271f" );
e.put( "--computeSLOD", "226caa28a4fa9fe34f3beb8a23f3d53d" );
e.put( "--min_base_quality_score 26", "531966aee1cd5dced61c96c4fedb59a9" );
e.put( "--min_mapping_quality_score 26", "c71ca370947739cb7d87b59452be7a07" );
e.put( "--computeSLOD", "1a5648f26c18ced27df4be031b44e72d" );
for ( Map.Entry<String, String> entry : e.entrySet() ) {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
@ -154,9 +153,9 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
@Test
public void testOutputParameter() {
HashMap<String, String> e = new HashMap<String, String>();
e.put( "-sites_only", "5f659dee408710d3709ed72005cd863a" );
e.put( "--output_mode EMIT_ALL_CONFIDENT_SITES", "55d09bf13149bddc06cc36be0801507b" );
e.put( "--output_mode EMIT_ALL_SITES", "727f49dcb2439b18446829efc3b1561c" );
e.put( "-sites_only", "d40114aa201aa33ff5f174f15b6b73af" );
e.put( "--output_mode EMIT_ALL_CONFIDENT_SITES", "3c681b053fd2280f3c42041d24243752" );
e.put( "--output_mode EMIT_ALL_SITES", "eafa6d71c5ecd64dfee5d7a3f60e392e" );
for ( Map.Entry<String, String> entry : e.entrySet() ) {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
@ -170,12 +169,12 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
public void testConfidence() {
WalkerTest.WalkerTestSpec spec1 = new WalkerTest.WalkerTestSpec(
baseCommand + " -I " + validationDataLocation + "NA12878.1kg.p2.chr1_10mb_11_mb.SLX.bam -o %s -L 1:10,000,000-10,010,000 -stand_call_conf 10 ", 1,
Arrays.asList("51bfdf777123bf49de5d92ffde5c74e7"));
Arrays.asList("c71ca370947739cb7d87b59452be7a07"));
executeTest("test confidence 1", spec1);
WalkerTest.WalkerTestSpec spec2 = new WalkerTest.WalkerTestSpec(
baseCommand + " -I " + validationDataLocation + "NA12878.1kg.p2.chr1_10mb_11_mb.SLX.bam -o %s -L 1:10,000,000-10,010,000 -stand_emit_conf 10 ", 1,
Arrays.asList("c67c285e70fd4457c9f9ce7bd878ddca"));
Arrays.asList("1c0a599d475cc7d5e745df6e9b6c0d29"));
executeTest("test confidence 2", spec2);
}
@ -187,8 +186,8 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
@Test
public void testHeterozyosity() {
HashMap<Double, String> e = new HashMap<Double, String>();
e.put( 0.01, "7ecc564d4db97d5932cef2e558550ed2" );
e.put( 1.0 / 1850, "aa9e101bb9f9e111fe292fec467d915a" );
e.put( 0.01, "af5199fbc0853cf5888acdcc88f012bc" );
e.put( 1.0 / 1850, "4e6938645ccde1fdf204ffbf4e88170f" );
for ( Map.Entry<Double, String> entry : e.entrySet() ) {
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
@ -212,7 +211,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
" -o %s" +
" -L 1:10,000,000-10,100,000",
1,
Arrays.asList("2efd686186b2c5129be4cf89274a24dd"));
Arrays.asList("213ebaaaacf850312d885e918eb33500"));
executeTest(String.format("test multiple technologies"), spec);
}
@ -231,7 +230,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
" -L 1:10,000,000-10,100,000" +
" -baq CALCULATE_AS_NECESSARY",
1,
Arrays.asList("2892d35331fe9fc141ba19269ec7caed"));
Arrays.asList("3aecba34a89f3525afa57a38dc20e6cd"));
executeTest(String.format("test calling with BAQ"), spec);
}
@ -250,7 +249,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
" -o %s" +
" -L 1:10,000,000-10,500,000",
1,
Arrays.asList("8c2afb4289ed44521933d1a74c8d6c7f"));
Arrays.asList("043973c719a85de29a35a33a674616fb"));
executeTest(String.format("test indel caller in SLX"), spec);
}
@ -265,7 +264,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
" -minIndelCnt 1" +
" -L 1:10,000,000-10,100,000",
1,
Arrays.asList("b6fb70590a10e1c27fb611732916f27d"));
Arrays.asList("68d4e6c1849e892467aed61c33e7bf24"));
executeTest(String.format("test indel caller in SLX witn low min allele count"), spec);
}
@ -278,7 +277,7 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
" -o %s" +
" -L 1:10,000,000-10,500,000",
1,
Arrays.asList("61642502bd08cc03cdaaeb83a5426b46"));
Arrays.asList("f86d453c5d2d2f33fb28ae2050658a5e"));
executeTest(String.format("test indel calling, multiple technologies"), spec);
}
@ -288,14 +287,14 @@ public class UnifiedGenotyperIntegrationTest extends WalkerTest {
WalkerTest.WalkerTestSpec spec1 = new WalkerTest.WalkerTestSpec(
baseCommandIndels + " --genotyping_mode GENOTYPE_GIVEN_ALLELES -alleles " + validationDataLocation + "indelAllelesForUG.vcf -I " + validationDataLocation +
"pilot2_daughters.chr20.10k-11k.bam -o %s -L 20:10,000,000-10,100,000", 1,
Arrays.asList("69b0b3f089c80b9864294d838a061336"));
Arrays.asList("408d3aba4d094c067fc00a43992c2292"));
executeTest("test MultiSample Pilot2 indels with alleles passed in", spec1);
WalkerTest.WalkerTestSpec spec2 = new WalkerTest.WalkerTestSpec(
baseCommandIndels + " --output_mode EMIT_ALL_SITES --genotyping_mode GENOTYPE_GIVEN_ALLELES -alleles "
+ validationDataLocation + "indelAllelesForUG.vcf -I " + validationDataLocation +
"pilot2_daughters.chr20.10k-11k.bam -o %s -L 20:10,000,000-10,100,000", 1,
Arrays.asList("c90174cfd7dd68bdef36fe2c60145e10"));
Arrays.asList("94977d6e42e764280e9deaf4e3ac8c80"));
executeTest("test MultiSample Pilot2 indels with alleles passed in and emitting all sites", spec2);
}

View File

@ -15,7 +15,7 @@ public class UnifiedGenotyperPerformanceTest extends WalkerTest {
" -glm BOTH" +
" -I " + evaluationDataLocation + "NA12878.GAII.chr1.50MB.bam" +
" -L chr1:1-50,000,000" +
" --dbsnp:VCF " + b36dbSNP129 +
" --dbsnp:VCF " + hg18dbSNP132 +
" -o /dev/null",
0,
new ArrayList<String>(0));
@ -30,7 +30,7 @@ public class UnifiedGenotyperPerformanceTest extends WalkerTest {
" -glm BOTH" +
" -I " + evaluationDataLocation + "NA12878.ESP.WEx.chr1.bam" +
" -L " + evaluationDataLocation + "whole_exome_agilent_designed_120.targets.chr1.interval_list" +
" --dbsnp:vcf " + b36dbSNP129 +
" --dbsnp:vcf " + hg18dbSNP132 +
" -o /dev/null",
0,
new ArrayList<String>(0));
@ -46,7 +46,7 @@ public class UnifiedGenotyperPerformanceTest extends WalkerTest {
" -glm BOTH" +
" -L chr1:1-50,000,000" +
" -nt 10" +
" --dbsnp:vcf " + b36dbSNP129 +
" --dbsnp:vcf " + hg18dbSNP132 +
" -o /dev/null",
0,
new ArrayList<String>(0));

View File

@ -16,7 +16,7 @@ public class RecalibrationWalkersPerformanceTest extends WalkerTest {
" -L chr1:1-50,000,000" +
" -standard" +
" -OQ" +
" -B:dbsnp,VCF " + GATKDataLocation + "dbsnp_132.hg18.vcf" +
" -knownSites " + GATKDataLocation + "dbsnp_132.hg18.vcf" +
" -recalFile /dev/null" + moreArgs,
0,
new ArrayList<String>(0));
@ -31,7 +31,7 @@ public class RecalibrationWalkersPerformanceTest extends WalkerTest {
" -L " + evaluationDataLocation + "whole_exome_agilent_designed_120.targets.chr1.interval_list" +
" -standard" +
" -OQ" +
" -B:dbsnp,VCF " + GATKDataLocation + "dbsnp_132.hg18.vcf" +
" -knownSites " + GATKDataLocation + "dbsnp_132.hg18.vcf" +
" -recalFile /dev/null" + moreArgs,
0,
new ArrayList<String>(0));

View File

@ -1,4 +0,0 @@
<ivy-module version="1.0">
<info organisation="org.broad" module="tribble" revision="15"
status="integration" publication="" />
</ivy-module>

View File

@ -0,0 +1,3 @@
<ivy-module version="1.0">
<info organisation="org.broad" module="tribble" revision="18" status="integration" />
</ivy-module>