public void testTaxonomySDF() throws IOException { try (final TestDirectory dir = new TestDirectory("sdfstats")) { // One without tax final File smallSdf = ReaderTestUtils.getDNADir(dir); final String err = checkMainInitBadFlags("-i", smallSdf.getPath(), "-o", "-", "--taxons", "41431"); TestUtils.containsAll(err, "does not contain taxonomy"); // One with tax final File fullSdf = new File(dir, "sdf_full"); final File faOut = new File(dir, "ex.fasta.gz"); makeTestTaxonSdf(fullSdf); checkMainInitOk("-i", fullSdf.getPath(), "-o", faOut.getPath(), "--taxons", "41431"); final String faout = FileHelper.gzFileToString(faOut); TestUtils.containsAll( faout, "gi|218169684|gb|CP001289.1|", "gi|218165370|gb|CP001287.1|", "gi|218169729|gb|CP001290.1|", "gi|218169631|gb|CP001288.1|"); } }
public void testFullName() throws IOException { try (TestDirectory dir = new TestDirectory("sdf2fasta")) { final File sdf = ReaderTestUtils.getDNADir(FULL_NAME_DATA, new File(dir, "sdf")); final File fasta = new File(dir, "fs.fasta.gz"); checkMainInitOk("-i", sdf.getPath(), "-o", fasta.getPath()); assertEquals(FULL_NAME_DATA, FileHelper.gzFileToString(fasta)); } }
public void testEmptyFasta() throws IOException { final SequencesReader reader = ReaderTestUtils.getReaderDNA("", mDir, new SdfId(0L)); reader.close(); final CompressedMemorySequencesReader cmsr = new CompressedMemorySequencesReader( mDir, new IndexFile(mDir), 5, true, false, new LongRange(0, 0)); assertEquals(0, cmsr.numberSequences()); }
@Override public void testEquals() throws IOException { final File dir = FileHelper.createTempDirectory(mDir); final File otherDir = FileHelper.createTempDirectory(mDir); ReaderTestUtils.getReaderDNAFastq("", dir, false).close(); ReaderTestUtils.getReaderDNAFastq("", otherDir, false).close(); final CompressedMemorySequencesReader cmsr = new CompressedMemorySequencesReader( dir, new IndexFile(dir), 5, true, false, new LongRange(0, 0)); final CompressedMemorySequencesReader other = new CompressedMemorySequencesReader( otherDir, new IndexFile(dir), 5, true, false, new LongRange(0, 0)); assertTrue(cmsr.equals(cmsr)); assertFalse(cmsr.equals(null)); assertFalse(cmsr.equals(other)); assertFalse(cmsr.equals("FDSA")); }
public void testOverEndFastq() throws Exception { final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq(POSITIONS_FASTQ, mDir, false); reader.close(); new CompressedMemorySequencesReader( mDir, new IndexFile(mDir), 5, true, false, new LongRange(3, 8)); // Now this is OK rather than Exception, since our std behaviour is to warn and clip end that // are too high back to the available num seqs }
public static void makeTestTaxonSdf(File dest) throws IOException { final String sequences = FileHelper.resourceToString("com/rtg/reader/resources/sequences.fasta"); ReaderTestUtils.getReaderDNA(sequences, dest, null).close(); // cp taxonomy files to sdf final File taxonomy = new File(dest, "taxonomy.tsv"); FileHelper.resourceToFile("com/rtg/reader/resources/taxonomy.tsv", taxonomy); final File taxonomyLookup = new File(dest, "taxonomy_lookup.tsv"); FileHelper.resourceToFile("com/rtg/reader/resources/taxonomy_lookup.tsv", taxonomyLookup); }
public void testFastqEnd() throws Exception { final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq(POSITIONS_FASTQ, mDir, 20, false); reader.close(); final SequencesIterator cmsr = new CompressedMemorySequencesReader( mDir, new IndexFile(mDir), 5, true, false, new LongRange(5, 6)) .iterator(); cmsr.nextSequence(); checkFastq(cmsr, "r5", "ACGTAC"); assertFalse(cmsr.nextSequence()); }
public void testRanges() throws Exception { final SequencesReader reader = ReaderTestUtils.getReaderDNAFastq(SMALL_FASTQ, mDir, 20, false); reader.close(); final CompressedMemorySequencesReader cmsr = new CompressedMemorySequencesReader( mDir, new IndexFile(mDir), 5, true, false, LongRange.NONE); final byte[] foo = new byte[6]; cmsr.readQuality(0, foo, 4, 6); final String qual = "EFGHIJ"; for (int i = 0; i < foo.length; i++) { assertEquals(qual.charAt(i) - '!', foo[i]); } }