public void testInfo() throws IOException { // set a command line CommandLine.setCommandArgs("aksfj", "-d", "djfk siduf"); try { final ArrayList<InputStream> al = new ArrayList<>(); al.add( createStream( ">123456789012345678901\nacgtgtgtgtcttagggctcactggtcatgca\n>bob-the-builder\ntagttcagcatcgatca\n>hobos r us\naccccaccccacaaacccaa")); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, mDir, 20, PrereadType.UNKNOWN, false); sw.setComment("wejksfd boier sakrjoieje"); sw.processSequences(); final CompressedMemorySequencesReader msr = (CompressedMemorySequencesReader) SequencesReaderFactory.createMemorySequencesReader(mDir, true, LongRange.NONE); checkDetails(msr); final CompressedMemorySequencesReader msr2 = (CompressedMemorySequencesReader) msr.copy(); assertTrue(msr2 != msr); checkDetails(msr2); assertEquals("wejksfd boier sakrjoieje", msr.comment()); assertEquals("wejksfd boier sakrjoieje", msr2.comment()); assertEquals("aksfj -d \"djfk siduf\"", msr.commandLine()); assertEquals("aksfj -d \"djfk siduf\"", msr2.commandLine()); } finally { CommandLine.clearCommandArgs(); } }
public void testWorks() throws Exception { try (TestDirectory dir = new TestDirectory("sdf2fasta")) { final File xd = new File(dir, "sdf"); final ArrayList<InputStream> al = new ArrayList<>(); al.add( new ByteArrayInputStream( ">test\nacgt\n>bob\ntagt\naccc\n>cat\ncat\n>dog\nccc".getBytes())); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, xd, 300000, PrereadType.UNKNOWN, false); sw.processSequences(); File x; SequencesReader sr = SequencesReaderFactory.createDefaultSequencesReader(xd); try { x = new File(dir, "junitmy.fasta"); checkMainInitOk("-i", xd.toString(), "-o", x.toString(), "-Z"); checkContent1(x); } finally { sr.close(); } sr = SequencesReaderFactory.createDefaultSequencesReader(xd); try { checkMainInitOk("-i", xd.toString(), "-o", x.toString(), "-l", "3", "-Z"); checkContent2(x); } finally { sr.close(); } } }
public void testRoll() throws Exception { final ArrayList<InputStream> al = new ArrayList<>(); al.add( createStream( ">123456789012345678901\nacgtgtgtgtcttagggctcactggtcatgca\n>bob the buuilder\ntagttcagcatcgatca\n>hobos r us\naccccaccccacaaacccaa")); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, mDir, 20, PrereadType.UNKNOWN, false); sw.processSequences(); try (SequencesReader dsr = SequencesReaderFactory.createMemorySequencesReader(mDir, true, LongRange.NONE)) { final SequencesIterator it = dsr.iterator(); assertTrue(((CompressedMemorySequencesReader) dsr).integrity()); assertEquals(mDir, dsr.path()); assertTrue(it.nextSequence()); assertEquals("1234567890123456789", it.currentName()); assertEquals(32, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] { 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 2, 4, 4, 1, 3, 3, 3, 2, 4, 2, 1, 2, 4, 3, 3, 4, 2, 1, 4, 3, 2, 1 }); assertTrue(it.nextSequence()); assertEquals("bob", it.currentName()); assertEquals(17, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] {4, 1, 3, 4, 4, 2, 1, 3, 2, 1, 4, 2, 3, 1, 4, 2, 1}); assertTrue(it.nextSequence()); assertEquals("hobos", it.currentName()); assertEquals(20, it.currentLength()); SequencesWriterTest.checkEquals( it, new byte[] {1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1}); } }
public void testBadArgs() throws Exception { try (TestDirectory dir = new TestDirectory("sdf2fasta")) { final ArrayList<InputStream> al = new ArrayList<>(); final FastaSequenceDataSource ds = new FastaSequenceDataSource(al, new DNAFastaSymbolTable()); final SequencesWriter sw = new SequencesWriter(ds, dir, 300000, PrereadType.UNKNOWN, false); sw.processSequences(); checkHandleFlagsErr("-i", dir.toString(), "-o", "junithi", "-l", "-1"); } }