001 package calhoun.seq;
002
003 /**
004 * Represents a generic sequence in a fasta file. FastaIterator and FastaReader
005 * have different classes that they store the result in, but these methods are
006 * common. Unifies the Fasta classes so you can more easily intermix them.
007 */
008 public interface FastaSequence {
009 /** The number of sequence characters */
010 public int getLength();
011
012 /** Gets the fasta header (with leading and trailing spaces trimmed) */
013 public String getHeader();
014
015 /** Returns the entire sequence. */
016 public String getSequence();
017
018 /** Returns a portions of the sequence.
019 * @param start 1-based index of the first character to return. Can be from 1 to the length of the sequence.
020 * @param stop 1-based index of the last charater to return. Can be from 1 to the length of the sequence.
021 */
022 public String getSequence(int start, int stop);
023
024 /** Returns the quality scores for this sequence. May be null if no quality is present. */
025 public byte[] getQuality();
026 }