Class GFFEntrySet


  • public class GFFEntrySet
    extends Object
    A set of entries and comments as a representation of a GFF file.

    This is an intermediate storage solution for GFF stuff. It lets you collect together an arbitrary set of GFF records and comments, and then do something with them later.

    Author:
    Matthew Pocock, Keith James (docs), Len Trigg
    • Constructor Detail

      • GFFEntrySet

        public GFFEntrySet()
        Make an empty GFFEntrySet.
    • Method Detail

      • lineIterator

        public Iterator lineIterator()
        Loop over all lines in the set.

        The Iterator will return String and GFFRecord objects in the order that they were added to this set. It is your responsibility to check the type of hasNext() before casting it.

      • add

        public void add​(String comment)
        Add a comment to the end of this set.

        This should be the text of the comment, without the leading '#'.

        Parameters:
        comment - a String giving the comment
      • add

        public void add​(GFFRecord record)
        Add a GFFRecord to the end of this set.
        Parameters:
        record - a GFFRecord to append
      • size

        public int size()
        Return how many lines are in this set.
        Returns:
        the size
      • getAnnotator

        public SequenceAnnotator getAnnotator()
        Get an annotator that can add GFF features to a Sequence using the features in this GFFEntrySet. The SequenceAnnotator returned by this method currently adds new features to an existing sequence (assuming it implements MutableFeatureHolder).

        Sequences are only annotated if their getName() method returns a name equal to the sequence name field of one or more records in this GFFEntrySet.

        Returns:
        an SequenceAnnotator that adds GFF features
      • getAnnotator

        public SequenceAnnotator getAnnotator​(boolean checkSeqName)
        Get an annotator that can add GFF features to a Sequence using the features in this GFFEntrySet. The SequenceAnnotator returned by this method currently adds new features to an existing sequence (assuming it implements MutableFeatureHolder).

        If checkSeqName is set to true, Sequences are only annotated if their getName() method returns a name equal to the sequence name field of one or more records in this GFFEntrySet. If checkSeqName is false, then all features are added to the sequence regardless of name.

        Parameters:
        checkSeqName - boolean to indicate if only records with names matching the sequences name should be added
        Returns:
        an SequenceAnnotator that adds GFF featur es
      • filter

        public GFFEntrySet filter​(GFFRecordFilter filter)
        Filter this entry set into another set.
        Parameters:
        filter - the GFFRecordFilter to filter with
        Returns:
        a new GFFEntrySet containing only the items filtered in by the filter
      • getAddHandler

        public GFFDocumentHandler getAddHandler()
        Get the GFFDocumentHandler for adding to this set.
        Returns:
        a GFFDocumentHandler that adds everything that it recieves to this set
      • streamRecords

        public void streamRecords​(GFFDocumentHandler handler)
        Write all records in this set out to a handler.
        Parameters:
        handler - the GFFDocumentHandler to inform of the records