Reverting rod walkers to use underlying refwalker implementation while we work on ROD2 and reenable the system. Added some serious sparse file parsing to variant eval tests

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1929 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
depristo 2009-10-29 01:04:37 +00:00
parent c9a3707cfd
commit 86573177d1
4 changed files with 25 additions and 4 deletions

View File

@ -10,7 +10,8 @@
<dependency org="jboss" name="javassist" rev="3.7.ga" />
<dependency org="org.simpleframework" name="simple-xml" rev="2.0.4" />
<dependency org="org.apache.bcel" name="bcel" rev="5.2" />
<dependency org="org.jgrapht" name="jgrapht-jdk1.5" rev="0.7.3" />
<!-- Dependencies for reflections mvn repository -->
<dependency org="org.reflections" name="reflections" rev="0.9.2" />
<dependency org="com.google.collections" name="google-collections" rev="0.9" />

View File

@ -6,6 +6,7 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext;
import org.broadinstitute.sting.utils.GenomeLoc;
import org.broadinstitute.sting.utils.MergingIterator;
import org.broadinstitute.sting.utils.GenomeLocParser;
import org.broadinstitute.sting.utils.StingException;
import java.util.*;
@ -85,6 +86,8 @@ public class RodLocusView extends LocusView implements ReferenceOrderedView {
}
rodQueue = new MergingIterator<RODRecordList<ReferenceOrderedDatum>>(iterators);
throw new StingException("RodLocusView currently disabled");
}
public RefMetaDataTracker getReferenceOrderedDataAtLocus( GenomeLoc loc ) {

View File

@ -21,6 +21,7 @@ import java.util.ArrayList;
*/
public class TraverseLoci extends TraversalEngine {
final private static String UNIT_STRING = "sites";
final private static boolean ENABLE_ROD_TRAVERSAL = false;
/**
@ -56,7 +57,7 @@ public class TraverseLoci extends TraversalEngine {
//ReferenceOrderedView referenceOrderedDataView = new ReferenceOrderedView( dataProvider );
ReferenceOrderedView referenceOrderedDataView = null;
if ( WalkerManager.getWalkerDataSource(walker) != DataSource.REFERENCE_ORDERED_DATA )
if ( ! ENABLE_ROD_TRAVERSAL || WalkerManager.getWalkerDataSource(walker) != DataSource.REFERENCE_ORDERED_DATA )
referenceOrderedDataView = new ManagingReferenceOrderedView( dataProvider );
else
referenceOrderedDataView = (RodLocusView)locusView;
@ -91,7 +92,7 @@ public class TraverseLoci extends TraversalEngine {
// We have a final map call to execute here to clean up the skipped based from the
// last position in the ROD to that in the interval
if ( WalkerManager.getWalkerDataSource(walker) == DataSource.REFERENCE_ORDERED_DATA ) {
if ( ENABLE_ROD_TRAVERSAL && WalkerManager.getWalkerDataSource(walker) == DataSource.REFERENCE_ORDERED_DATA ) {
RodLocusView rodLocusView = (RodLocusView)locusView;
long nSkipped = rodLocusView.getLastSkippedBases();
if ( nSkipped > 0 ) {
@ -124,7 +125,7 @@ public class TraverseLoci extends TraversalEngine {
DataSource dataSource = WalkerManager.getWalkerDataSource(walker);
if( dataSource == DataSource.READS )
return new CoveredLocusView(dataProvider);
else if( dataSource == DataSource.REFERENCE )
else if( dataSource == DataSource.REFERENCE || ! ENABLE_ROD_TRAVERSAL )
return new AllLocusView(dataProvider);
else if( dataSource == DataSource.REFERENCE_ORDERED_DATA )
return new RodLocusView(dataProvider);

View File

@ -171,5 +171,21 @@ public class VariantEvalWalkerIntegrationTest extends WalkerTest {
md5);
List<File> result = executeTest("testEvalMarksGenotypingExample", spec).getFirst();
}
@Test
public void testEvalRuntimeWithLotsOfIntervals() {
List<String> md5 = new ArrayList<String>();
md5.add("bfdc82c3fd8a286f5855d3932ede3124");
WalkerTest.WalkerTestSpec spec = new WalkerTest.WalkerTestSpec(
"-T VariantEval -R /broad/1KG/reference/human_b36_both.fasta " +
"-B eval,Variants,/humgen/gsa-scr1/GATK_Data/Validation_Data/NA12878.pilot_3.all.geli.calls " +
"-D /humgen/gsa-scr1/GATK_Data/dbsnp_129_b36.rod " +
"--supressDateInformation " +
"-L /humgen/gsa-scr1/GATK_Data/thousand_genomes_alpha_redesign.targets.b36.interval_list " +
"--outerr %s",
1, // just one output file
md5);
List<File> result = executeTest("testEvalRuntimeWithLotsOfIntervals", spec).getFirst();
}
}