001package org.biojava.bio.program.unigene; 002 003import org.biojava.bio.Annotatable; 004import org.biojava.bio.seq.Sequence; 005import org.biojava.bio.seq.db.SequenceDB; 006 007/** 008 * <p> 009 * A single unigene cluster. 010 * </p> 011 * 012 * <p> 013 * This represents all of the information available about a single unigene 014 * cluster. This includes the sequences that are in it, the unique sequence that 015 * is its representative, the cluster id and all the annotation available via 016 * the data file. Much of the annotation may be accessible via the 017 * getAnnotation() method. 018 * </p> 019 * 020 * <p> 021 * There is much more information in the Unigene clusters than just the id, 022 * title and sequences. This is all stoored in the annotation associated with 023 * the cluster. The annotation bundle conforms to the schema in 024 * <code>UnigeneTools.UNIGENE_ANNOTATION</code>. 025 * </p> 026 * 027 * @author Matthew Pocock 028 */ 029public interface UnigeneCluster 030extends Annotatable { 031 /** 032 * The public unigene ID. 033 * 034 * @return get the cluster ID as a String 035 */ 036 public String getID(); 037 038 /** 039 * The cluster title. 040 * 041 * @return the cluster title as a String 042 */ 043 public String getTitle(); 044 045 /** 046 * All sequences that map to this cluster. 047 * 048 * @return a SequenceDB of all sequences mapping to this cluster. 049 */ 050 public SequenceDB getAll(); 051 052 /** 053 * The unique sequence that is used as a representative for this cluster. 054 * 055 * @return the cluster's unique Sequence 056 */ 057 public Sequence getUnique(); 058}