/* * Genoogle: Similar DNA Sequences Searching Engine and Tools. (http://genoogle.pih.bio.br) * Copyright (C) 2008,2009 Felipe Fernandes Albrecht (felipe.albrecht@gmail.com) * * For further information check the LICENSE file. */ package bio.pih.genoogle.tests.seq; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.NoSuchElementException; import junit.framework.TestCase; import org.junit.Test; import bio.pih.genoogle.io.reader.IOTools; import bio.pih.genoogle.io.reader.ParseException; import bio.pih.genoogle.io.reader.RichSequenceStreamReader; import bio.pih.genoogle.seq.DNAAlphabet; import bio.pih.genoogle.seq.IllegalSymbolException; import bio.pih.genoogle.seq.Sequence; /** * @author albrecht * */ public class LightweightSequencesTest extends TestCase { @Test public void testReadFastFile() throws NoSuchElementException, IOException, ParseException, IllegalSymbolException { BufferedReader is = new BufferedReader(new FileReader("data" + File.separator + "populator" + File.separator + "test_sequences_dataset_dna_500_200_700.fasta")); RichSequenceStreamReader readFastaDNA = IOTools.readFasta(is, DNAAlphabet.SINGLETON); String sequence_100 = "gaacccggcgagagaaggttgacgcgtacccgttaatattgatgttacgactagcgcagttcctaacgcactcggtgtcg" + "ccagaagagagctagtgacgacacgtatcctggagcgacaccactaagcagagttgtccccaagaactgcggtccctgcg" + "ggattgggtcacccttcaggtgacgactaaatagggcaaccgatagcaggaggtcagccgcggagcg"; String sequence_499 = "tcatgggctcgtgactccaatttctgtgcactgttgatgcctttgagtattttcatcacgctaggacctactgcagacgc" + "acgcaccctccaaggttgaggatagttggttcggtccctccgttgaggcaccaggtcccgttagtctggtgtcttccaca" + "gagcacgggtggaagtgcattgggcaccacggccgttgcactctttcgtccgatagttaaaacgtttttggctccgagtg" + "acatc"; Sequence s; String name = "RandomSequence_"; int pos = -1; while (readFastaDNA.hasNext()) { pos++; s = readFastaDNA.nextRichSequence(); assertEquals(name+""+pos+".0", s.getName()); if (pos == 100) { assertEquals(sequence_100, s.seqString().toLowerCase()); } if (pos == 499) { assertEquals(sequence_499, s.seqString().toLowerCase()); } } } }