Merge branch 'master' of ssh://gsa1/humgen/gsa-scr1/gsa-engineering/git/unstable
This commit is contained in:
commit
e106a5e734
60
build.xml
60
build.xml
|
|
@ -780,6 +780,50 @@
|
||||||
</sequential>
|
</sequential>
|
||||||
</macrodef>
|
</macrodef>
|
||||||
|
|
||||||
|
<!-- FAILED-TEST -->
|
||||||
|
<macrodef name="run-failed-test">
|
||||||
|
<attribute name="xmlfailedtestfile" />
|
||||||
|
<sequential>
|
||||||
|
<!-- Get the pipeline run type. Default to dry. -->
|
||||||
|
<condition property="pipeline.run" value="dry" else="${pipeline.run}">
|
||||||
|
<equals arg1="${pipeline.run}" arg2="$${pipeline.run}" />
|
||||||
|
</condition>
|
||||||
|
|
||||||
|
<condition property="cofoja.jvm.args" value="-javaagent:${cofoja.jar} -Dcom.google.java.contract.log.contract=false" else="">
|
||||||
|
<isset property="include.contracts" />
|
||||||
|
</condition>
|
||||||
|
|
||||||
|
<mkdir dir="${report}/failed_rerun" />
|
||||||
|
<echo message="Sting: Running @{xmlfailedtestfile} test cases!"/>
|
||||||
|
<taskdef resource="testngtasks" classpath="${lib.dir}/testng-5.14.1.jar"/>
|
||||||
|
<testng outputDir="${report}/failed_rerun"
|
||||||
|
haltOnFailure="false" failureProperty="test.failure"
|
||||||
|
verbose="2"
|
||||||
|
workingDir="${basedir}"
|
||||||
|
useDefaultListeners="false"
|
||||||
|
listeners="org.testng.reporters.FailedReporter,org.testng.reporters.JUnitXMLReporter,org.broadinstitute.sting.StingTextReporter">
|
||||||
|
<jvmarg value="-Xmx${test.maxmemory}" />
|
||||||
|
<jvmarg value="-Djava.awt.headless=true" />
|
||||||
|
<jvmarg value="-Dpipeline.run=${pipeline.run}" />
|
||||||
|
<jvmarg value="-Djava.io.tmpdir=${java.io.tmpdir}" />
|
||||||
|
<jvmarg line="${cofoja.jvm.args}"/>
|
||||||
|
<!-- <jvmarg value="-Xdebug"/> -->
|
||||||
|
<!-- <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/> -->
|
||||||
|
<classpath>
|
||||||
|
<path refid="external.dependencies" />
|
||||||
|
<pathelement location="${java.classes}" />
|
||||||
|
<pathelement location="${scala.classes}" />
|
||||||
|
<pathelement location="${java.contracts}" />
|
||||||
|
<pathelement location="${java.test.classes}" />
|
||||||
|
<pathelement location="${scala.test.classes}" />
|
||||||
|
</classpath>
|
||||||
|
|
||||||
|
<xmlfileset dir="${basedir}" includes="@{xmlfailedtestfile}" />
|
||||||
|
</testng>
|
||||||
|
|
||||||
|
<fail message="test failed" if="test.failure" />
|
||||||
|
</sequential>
|
||||||
|
</macrodef>
|
||||||
|
|
||||||
<!-- our three different test conditions: Test, IntegrationTest, PerformanceTest -->
|
<!-- 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,tribble.test" description="Run unit tests">
|
||||||
|
|
@ -814,6 +858,22 @@
|
||||||
<run-test testtype="${pipetype}"/>
|
<run-test testtype="${pipetype}"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="failed-test" depends="test.compile">
|
||||||
|
<run-failed-test xmlfailedtestfile="${report}/*UnitTest/testng-failed.xml" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="failed-integration" depends="test.compile">
|
||||||
|
<run-failed-test xmlfailedtestfile="${report}/*IntegrationTest/testng-failed.xml" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="failed-performance" depends="test.compile">
|
||||||
|
<run-failed-test xmlfailedtestfile="${report}/*PerformanceTest/testng-failed.xml" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="failed-pipeline" depends="test.compile">
|
||||||
|
<run-failed-test xmlfailedtestfile="${report}/*PipelineTest/testng-failed.xml" />
|
||||||
|
</target>
|
||||||
|
|
||||||
<!-- ***************************************************************************** -->
|
<!-- ***************************************************************************** -->
|
||||||
<!-- *********** Tribble ********* -->
|
<!-- *********** Tribble ********* -->
|
||||||
<!-- ***************************************************************************** -->
|
<!-- ***************************************************************************** -->
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ public class ReadBackedPhasingWalker extends RodWalker<PhasingStatsAndOutput, Ph
|
||||||
return new PhasingStatsAndOutput(phaseStats, completedList);
|
return new PhasingStatsAndOutput(phaseStats, completedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Set<String> KEYS_TO_KEEP_IN_REDUCED_VCF = new HashSet<String>(Arrays.asList("PQ"));
|
private static final Set<String> KEYS_TO_KEEP_IN_REDUCED_VCF = new HashSet<String>(Arrays.asList(PQ_KEY));
|
||||||
|
|
||||||
private VariantContext reduceVCToSamples(VariantContext vc, List<String> samplesToPhase) {
|
private VariantContext reduceVCToSamples(VariantContext vc, List<String> samplesToPhase) {
|
||||||
// for ( String sample : samplesToPhase )
|
// for ( String sample : samplesToPhase )
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,11 @@ package org.broadinstitute.sting.queue.qscripts
|
||||||
import org.broadinstitute.sting.queue.extensions.gatk._
|
import org.broadinstitute.sting.queue.extensions.gatk._
|
||||||
import org.broadinstitute.sting.queue.QScript
|
import org.broadinstitute.sting.queue.QScript
|
||||||
import org.broadinstitute.sting.queue.function.ListWriterFunction
|
import org.broadinstitute.sting.queue.function.ListWriterFunction
|
||||||
|
import org.broadinstitute.sting.queue.extensions.picard._
|
||||||
|
import org.broadinstitute.sting.gatk.walkers.indels.IndelRealigner.ConsensusDeterminationModel
|
||||||
|
import org.broadinstitute.sting.utils.baq.BAQ.CalculationMode
|
||||||
|
|
||||||
import collection.JavaConversions._
|
import collection.JavaConversions._
|
||||||
import org.broadinstitute.sting.gatk.walkers.indels.IndelRealigner.ConsensusDeterminationModel
|
|
||||||
import org.broadinstitute.sting.queue.extensions.picard._
|
|
||||||
import net.sf.samtools.SAMFileReader
|
import net.sf.samtools.SAMFileReader
|
||||||
import net.sf.samtools.SAMFileHeader.SortOrder
|
import net.sf.samtools.SAMFileHeader.SortOrder
|
||||||
|
|
||||||
|
|
@ -29,7 +30,8 @@ class DataProcessingPipeline extends QScript {
|
||||||
@Input(doc="Reference fasta file", fullName="reference", shortName="R", required=true)
|
@Input(doc="Reference fasta file", fullName="reference", shortName="R", required=true)
|
||||||
var reference: File = _
|
var reference: File = _
|
||||||
|
|
||||||
|
@Input(doc="dbsnp ROD to use (must be in VCF format)", fullName="dbsnp", shortName="D", required=true)
|
||||||
|
var dbSNP: File = _
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Optional Parameters
|
* Optional Parameters
|
||||||
|
|
@ -39,14 +41,12 @@ class DataProcessingPipeline extends QScript {
|
||||||
// @Input(doc="path to Picard's SortSam.jar (if re-aligning a previously processed BAM file)", fullName="path_to_sort_jar", shortName="sort", required=false)
|
// @Input(doc="path to Picard's SortSam.jar (if re-aligning a previously processed BAM file)", fullName="path_to_sort_jar", shortName="sort", required=false)
|
||||||
// var sortSamJar: File = _
|
// var sortSamJar: File = _
|
||||||
//
|
//
|
||||||
@Input(doc="The path to the binary of bwa (usually BAM files have already been mapped - but if you want to remap this is the option)", fullName="path_to_bwa", shortName="bwa", required=false)
|
|
||||||
var bwaPath: File = _
|
|
||||||
|
|
||||||
@Input(doc="dbsnp ROD to use (must be in VCF format)", fullName="dbsnp", shortName="D", required=false)
|
|
||||||
var dbSNP: File = new File("/humgen/gsa-hpprojects/GATK/data/dbsnp_132_b37.leftAligned.vcf")
|
|
||||||
|
|
||||||
@Input(doc="extra VCF files to use as reference indels for Indel Realignment", fullName="extra_indels", shortName="indels", required=false)
|
@Input(doc="extra VCF files to use as reference indels for Indel Realignment", fullName="extra_indels", shortName="indels", required=false)
|
||||||
var indels: File = new File("/humgen/gsa-hpprojects/GATK/data/Comparisons/Unvalidated/AFR+EUR+ASN+1KG.dindel_august_release_merged_pilot1.20110126.sites.vcf")
|
var indels: File = _
|
||||||
|
|
||||||
|
@Input(doc="The path to the binary of bwa (usually BAM files have already been mapped - but if you want to remap this is the option)", fullName="path_to_bwa", shortName="bwa", required=false)
|
||||||
|
var bwaPath: File = _
|
||||||
|
|
||||||
@Input(doc="the project name determines the final output (BAM file) base name. Example NA12878 yields NA12878.processed.bam", fullName="project", shortName="p", required=false)
|
@Input(doc="the project name determines the final output (BAM file) base name. Example NA12878 yields NA12878.processed.bam", fullName="project", shortName="p", required=false)
|
||||||
var projectName: String = "project"
|
var projectName: String = "project"
|
||||||
|
|
@ -288,7 +288,8 @@ class DataProcessingPipeline extends QScript {
|
||||||
this.out = outIntervals
|
this.out = outIntervals
|
||||||
this.mismatchFraction = 0.0
|
this.mismatchFraction = 0.0
|
||||||
this.rodBind :+= RodBind("dbsnp", "VCF", dbSNP)
|
this.rodBind :+= RodBind("dbsnp", "VCF", dbSNP)
|
||||||
this.rodBind :+= RodBind("indels", "VCF", indels)
|
if (!indels.isEmpty)
|
||||||
|
this.rodBind :+= RodBind("indels", "VCF", indels)
|
||||||
this.scatterCount = nContigs
|
this.scatterCount = nContigs
|
||||||
this.analysisName = queueLogDir + outIntervals + ".target"
|
this.analysisName = queueLogDir + outIntervals + ".target"
|
||||||
this.jobName = queueLogDir + outIntervals + ".target"
|
this.jobName = queueLogDir + outIntervals + ".target"
|
||||||
|
|
@ -299,7 +300,8 @@ class DataProcessingPipeline extends QScript {
|
||||||
this.targetIntervals = tIntervals
|
this.targetIntervals = tIntervals
|
||||||
this.out = outBam
|
this.out = outBam
|
||||||
this.rodBind :+= RodBind("dbsnp", "VCF", dbSNP)
|
this.rodBind :+= RodBind("dbsnp", "VCF", dbSNP)
|
||||||
this.rodBind :+= RodBind("indels", "VCF", qscript.indels)
|
if (!indels.isEmpty)
|
||||||
|
this.rodBind :+= RodBind("indels", "VCF", indels)
|
||||||
this.consensusDeterminationModel = consensusDeterminationModel
|
this.consensusDeterminationModel = consensusDeterminationModel
|
||||||
this.compress = 0
|
this.compress = 0
|
||||||
this.scatterCount = nContigs
|
this.scatterCount = nContigs
|
||||||
|
|
@ -322,7 +324,7 @@ class DataProcessingPipeline extends QScript {
|
||||||
case class recal (inBam: File, inRecalFile: File, outBam: File) extends TableRecalibration with CommandLineGATKArgs {
|
case class recal (inBam: File, inRecalFile: File, outBam: File) extends TableRecalibration with CommandLineGATKArgs {
|
||||||
this.input_file :+= inBam
|
this.input_file :+= inBam
|
||||||
this.recal_file = inRecalFile
|
this.recal_file = inRecalFile
|
||||||
this.baq = org.broadinstitute.sting.utils.baq.BAQ.CalculationMode.CALCULATE_AS_NECESSARY
|
this.baq = CalculationMode.CALCULATE_AS_NECESSARY
|
||||||
this.out = outBam
|
this.out = outBam
|
||||||
if (!qscript.intervalString.isEmpty()) this.intervalsString ++= List(qscript.intervalString)
|
if (!qscript.intervalString.isEmpty()) this.intervalsString ++= List(qscript.intervalString)
|
||||||
else if (qscript.intervals != null) this.intervals :+= qscript.intervals
|
else if (qscript.intervals != null) this.intervals :+= qscript.intervals
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ class RecalibrateBaseQualities extends QScript {
|
||||||
val recalFile1: File = swapExt(bam, ".bam", ".recal1.csv")
|
val recalFile1: File = swapExt(bam, ".bam", ".recal1.csv")
|
||||||
val recalFile2: File = swapExt(bam, ".bam", ".recal2.csv")
|
val recalFile2: File = swapExt(bam, ".bam", ".recal2.csv")
|
||||||
val recalBam: File = swapExt(bam, ".bam", ".recal.bam")
|
val recalBam: File = swapExt(bam, ".bam", ".recal.bam")
|
||||||
val path1: String = bam + "before"
|
val path1: String = bam + ".before"
|
||||||
val path2: String = bam + "after"
|
val path2: String = bam + ".after"
|
||||||
|
|
||||||
add(cov(bam, recalFile1),
|
add(cov(bam, recalFile1),
|
||||||
recal(bam, recalFile1, recalBam),
|
recal(bam, recalFile1, recalBam),
|
||||||
|
|
@ -83,7 +83,7 @@ class RecalibrateBaseQualities extends QScript {
|
||||||
case class analyzeCovariates (inRecalFile: File, outPath: String) extends AnalyzeCovariates {
|
case class analyzeCovariates (inRecalFile: File, outPath: String) extends AnalyzeCovariates {
|
||||||
this.resources = R
|
this.resources = R
|
||||||
this.recal_file = inRecalFile
|
this.recal_file = inRecalFile
|
||||||
this.output_dir = outPath.toString
|
this.output_dir = outPath
|
||||||
this.analysisName = queueLogDir + inRecalFile + ".analyze_covariates"
|
this.analysisName = queueLogDir + inRecalFile + ".analyze_covariates"
|
||||||
this.jobName = queueLogDir + inRecalFile + ".analyze_covariates"
|
this.jobName = queueLogDir + inRecalFile + ".analyze_covariates"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue