diff --git a/uk/ac/sanger/artemis/io/StreamSequenceFactory.java b/uk/ac/sanger/artemis/io/StreamSequenceFactory.java index 6b09f8ed3cdfc81630a1fbb1b5e20409313fc43f..fc457ee0d9d8ca8afe2898b353003673a7574f81 100644 --- a/uk/ac/sanger/artemis/io/StreamSequenceFactory.java +++ b/uk/ac/sanger/artemis/io/StreamSequenceFactory.java @@ -51,12 +51,14 @@ abstract public class StreamSequenceFactory /** The tag use for sequence that is in FASTA or similar format. */ final public static int FASTA_FORMAT = 4; + + final public static int INDEXED_FASTA_FORMAT = 5; /** * Read a StreamSequence object from a LinePushBackReader object. **/ public static StreamSequence makeStreamSequence(final LinePushBackReader - in_stream) + in_stream, Entry entry) throws IOException { final int sequence_type = getSequenceType(in_stream); @@ -66,7 +68,11 @@ abstract public class StreamSequenceFactory case EMBL_FORMAT: return new EmblStreamSequence(in_stream); case FASTA_FORMAT: + { + if(IndexFastaStream.isIndexed(entry)) + return new IndexFastaStream(entry); return new FastaStreamSequence(in_stream); + } case GENBANK_FORMAT: return new GenbankStreamSequence(in_stream); case RAW_FORMAT: