small fix for the table codec; if you see a header line, you know you've finished parsing the header. Also also some changes to return the ref ordered data pool test to using MappedStreamSegment instead of EntireStream
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4942 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
20f29e4690
commit
cba436fa2f
|
|
@ -13,7 +13,7 @@ import java.io.IOException;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* implementation of a simple table (tab or comma delimited format) input files... more improvements to come
|
||||
* implementation of a simple table (tab or comma delimited format) input files
|
||||
*/
|
||||
public class TableCodec implements ReferenceDependentFeatureCodec {
|
||||
private String delimiterRegex = "\\s+";
|
||||
|
|
@ -48,8 +48,6 @@ public class TableCodec implements ReferenceDependentFeatureCodec {
|
|||
String[] split = line.split(delimiterRegex);
|
||||
if (split.length < 1)
|
||||
throw new IllegalArgumentException("TableCodec line = " + line + " doesn't appear to be a valid table format");
|
||||
|
||||
|
||||
return new TableFeature(genomeLocParser.parseGenomeLoc(split[0]),Arrays.asList(split),header);
|
||||
}
|
||||
|
||||
|
|
@ -67,6 +65,7 @@ public class TableCodec implements ReferenceDependentFeatureCodec {
|
|||
if (header.size() > 0) throw new IllegalStateException("Input table file seems to have two header lines. The second is = " + line);
|
||||
String spl[] = line.split(delimiterRegex);
|
||||
for (String s : spl) header.add(s);
|
||||
return header;
|
||||
} else if (!line.startsWith(commentDelimiter)) {
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,10 @@ public class ReferenceOrderedDataPoolUnitTest extends BaseTest {
|
|||
private GenomeLoc testSite2;
|
||||
private GenomeLoc testSite3;
|
||||
|
||||
private GenomeLoc testInterval1; // an interval matching testSite1 -> testSite2 for queries
|
||||
private GenomeLoc testInterval2; // an interval matching testSite2 -> testSite3 for queries
|
||||
|
||||
|
||||
@BeforeClass
|
||||
public void init() throws FileNotFoundException {
|
||||
seq = new CachingIndexedFastaSequenceFile(new File(hg18Reference));
|
||||
|
|
@ -59,6 +63,8 @@ public class ReferenceOrderedDataPoolUnitTest extends BaseTest {
|
|||
testSite1 = genomeLocParser.createGenomeLoc("chrM",10);
|
||||
testSite2 = genomeLocParser.createGenomeLoc("chrM",20);
|
||||
testSite3 = genomeLocParser.createGenomeLoc("chrM",30);
|
||||
testInterval1 = genomeLocParser.createGenomeLoc("chrM",10,20);
|
||||
testInterval2 = genomeLocParser.createGenomeLoc("chrM",20,30);
|
||||
}
|
||||
|
||||
@BeforeMethod
|
||||
|
|
@ -92,10 +98,10 @@ public class ReferenceOrderedDataPoolUnitTest extends BaseTest {
|
|||
@Test
|
||||
public void testCreateMultipleIterators() {
|
||||
ReferenceOrderedQueryDataPool iteratorPool = new ReferenceOrderedQueryDataPool(triplet,builder,seq.getSequenceDictionary(),genomeLocParser);
|
||||
LocationAwareSeekableRODIterator iterator1 = iteratorPool.iterator( new EntireStream() );
|
||||
LocationAwareSeekableRODIterator iterator1 = iteratorPool.iterator( new MappedStreamSegment(testInterval1) );
|
||||
|
||||
// Create a new iterator at position 2.
|
||||
LocationAwareSeekableRODIterator iterator2 = iteratorPool.iterator( new EntireStream() );
|
||||
LocationAwareSeekableRODIterator iterator2 = iteratorPool.iterator( new MappedStreamSegment(testInterval2) );
|
||||
|
||||
Assert.assertEquals(iteratorPool.numIterators(), 2, "Number of iterators in the pool is incorrect");
|
||||
Assert.assertEquals(iteratorPool.numAvailableIterators(), 0, "Number of available iterators in the pool is incorrect");
|
||||
|
|
|
|||
Loading…
Reference in New Issue