Class SimpleRichSequenceBuilder

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFeatureProperty​(java.lang.Object key, java.lang.Object value)
      Notify the listener of a feature property.
      void addSequenceProperty​(java.lang.Object key, java.lang.Object value)
      Notify the listener of a sequence-wide property.
      void addSymbols​(Alphabet alpha, Symbol[] syms, int start, int length)
      Notify the listener of symbol data.
      void endFeature()
      Mark the end of data associated with one specific feature.
      void endSequence()
      Notify the listener that processing of the sequence is complete.
      RichFeature getCurrentFeature()
      Gets the feature currently being created.
      RichSequence makeRichSequence()
      Build a RichSequence.
      Sequence makeSequence()
      Return the Sequence object which has been constructed by this builder.
      void setAccession​(java.lang.String accession)
      Call back method so the event emitter can tell the listener the accession of the record being read.
      void setCircular​(boolean circular)
      Defined this sequence being parser as circular.
      void setComment​(java.lang.String comment)
      Call back method so the event emitter can tell the listener about a comment in the record being read.
      void setDescription​(java.lang.String description)
      Call back method so the event emitter can tell the listener the description of the record being read.
      void setDivision​(java.lang.String division)
      Call back method so the event emitter can tell the listener the division of the record being read.
      void setIdentifier​(java.lang.String identifier)
      Call back method so the event emitter can tell the listener the identifier of the record being read.
      void setName​(java.lang.String name)
      Notify the listener that the current sequence is generally known by a particular name.
      void setNamespace​(Namespace namespace)
      Call back method so the event emitter can tell the listener the namespace of the record being read.
      void setRankedCrossRef​(RankedCrossRef ref)
      Call back method so the event emitter can tell the listener about a cross reference.
      void setRankedDocRef​(RankedDocRef ref)
      Call back method so the event emitter can tell the listener about a literature reference in the record being read.
      void setRelationship​(BioEntryRelationship relationship)
      Call back method so the event emitter can tell the listener about a relationship between the bioentry or sequence in the record being read and another bioentry.
      void setSeqVersion​(java.lang.String seqVersion)
      Call back method so the event emitter can tell the listener the version of the sequence of the record being read.
      void setTaxon​(NCBITaxon taxon)
      Call back method so the event emitter can tell the listener the Taxon of the record being read.
      void setURI​(java.lang.String uri)
      Notify the listener of a URI identifying the current sequence.
      void setVersion​(int version)
      Call back method so the event emitter can tell the listener the version of the record being read.
      void startFeature​(Feature.Template templ)
      Notify the listener that a new feature object is starting.
      void startSequence()
      Start the processing of a sequence.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleRichSequenceBuilder

        public SimpleRichSequenceBuilder()
        Creates a new instance of SimpleRichSequenceBuilder using a SimpleSymbolListFactory with a threshold of zero.
      • SimpleRichSequenceBuilder

        public SimpleRichSequenceBuilder​(SymbolListFactory factory)
        Creates a new instance of SimpleRichSequenceBuilder with the desired symbollistfactory and threshold of zero.
        Parameters:
        factory - the symbollistfactory to use from the start.
      • SimpleRichSequenceBuilder

        public SimpleRichSequenceBuilder​(SymbolListFactory factory,
                                         int threshold)
        Creates a new instance of SimpleRichSequenceBuilder with the desired symbollistfactory and threshold.
        Parameters:
        factory - the symbollistfactory to use.
        threshold - the threshold at which the specified symbollistfactory should come into use. If <=0, it will be used from the start.
    • Method Detail

      • setVersion

        public void setVersion​(int version)
                        throws ParseException
        Call back method so the event emitter can tell the listener the version of the record being read. This method would typically be called 0 or 1 times per entry. If it is not called the Listener should assume the version is 0. If it is called more than once per entry an exception should be thrown.
        Specified by:
        setVersion in interface RichSeqIOListener
        Overrides:
        setVersion in class RichSeqIOAdapter
        Parameters:
        version - the version of the record
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setSeqVersion

        public void setSeqVersion​(java.lang.String seqVersion)
                           throws ParseException
        Call back method so the event emitter can tell the listener the version of the sequence of the record being read. This method would typically be called 0 or 1 times per entry. If it is not called the Listener should assume the version is 0. If it is called more than once per entry an exception should be thrown.
        Specified by:
        setSeqVersion in interface RichSeqIOListener
        Overrides:
        setSeqVersion in class RichSeqIOAdapter
        Parameters:
        seqVersion - the version of the record
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setDescription

        public void setDescription​(java.lang.String description)
                            throws ParseException
        Call back method so the event emitter can tell the listener the description of the record being read. For example the description line of a FASTA format file would be the description. This method would typically be called 0 or 1 times and may cause an exception if it is called more than once per entry.
        Specified by:
        setDescription in interface RichSeqIOListener
        Overrides:
        setDescription in class RichSeqIOAdapter
        Parameters:
        description - The description of the record
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setDivision

        public void setDivision​(java.lang.String division)
                         throws ParseException
        Call back method so the event emitter can tell the listener the division of the record being read. If the source of the calls back is a GenBank parser the division will be a Genbank division. This method would typically be called 0 or 1 times. It should not be called more than once per entry and an exception could be thrown if it is.
        Specified by:
        setDivision in interface RichSeqIOListener
        Overrides:
        setDivision in class RichSeqIOAdapter
        Parameters:
        division - The division the entry belongs too.
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setName

        public void setName​(java.lang.String name)
                     throws ParseException
        Notify the listener that the current sequence is generally known by a particular name.
        Specified by:
        setName in interface SeqIOListener
        Overrides:
        setName in class RichSeqIOAdapter
        Parameters:
        name - the String that should be returned by getName for the sequence being parsed
        Throws:
        ParseException
      • addSymbols

        public void addSymbols​(Alphabet alpha,
                               Symbol[] syms,
                               int start,
                               int length)
                        throws IllegalAlphabetException
        Notify the listener of symbol data. All symbols passed to this method are guarenteed to be contained within the specified alphabet. Generally all calls to a given Listener should have the same alphabet -- if not, the listener implementation is likely to throw an exception
        Specified by:
        addSymbols in interface SeqIOListener
        Overrides:
        addSymbols in class RichSeqIOAdapter
        Parameters:
        alpha - The alphabet of the symbol data
        syms - An array containing symbols
        start - The start offset of valid data within the array
        length - The number of valid symbols in the array
        Throws:
        IllegalAlphabetException - if we can't cope with this alphabet.
      • setComment

        public void setComment​(java.lang.String comment)
                        throws ParseException
        Call back method so the event emitter can tell the listener about a comment in the record being read. The comment is typically one or more comment lines relevant to the record as a whole and bundled in a Commment object. This method may be called zero or one times per entry. It can be called zero or more times.
        Specified by:
        setComment in interface RichSeqIOListener
        Overrides:
        setComment in class RichSeqIOAdapter
        Parameters:
        comment - The comment
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setNamespace

        public void setNamespace​(Namespace namespace)
                          throws ParseException
        Call back method so the event emitter can tell the listener the namespace of the record being read. The method can be called zero or one time. If it is called more than once an exception may be thrown.

        The namespace is a concept from the BioSQL schema that enables Bioentries to be disambiguated. It is possible in BioSQL and should be possible in other collections of BioEntries to have records that have the same name, accession and version but different namespaces. This method would be expected to be called if you are reading a sequence from a biosql database or if you are implementing a listener that knows how to write to a biosql database. If you give a sequence a namespace and it is persited to biosql at somepoint in it's life you could expect it to be persisted to that namespace (if possible).

        Specified by:
        setNamespace in interface RichSeqIOListener
        Overrides:
        setNamespace in class RichSeqIOAdapter
        Parameters:
        namespace - The namespace of the entry.
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setTaxon

        public void setTaxon​(NCBITaxon taxon)
                      throws ParseException
        Call back method so the event emitter can tell the listener the Taxon of the record being read. This method may be called zero or one times. An exception may be thrown if it is called more than once. As a design decision NCBI's taxon model was chosen as it is commonly used and is supported by the BioSQL schema. The setting of an NCBI taxon should be considered entirely optional.
        Specified by:
        setTaxon in interface RichSeqIOListener
        Overrides:
        setTaxon in class RichSeqIOAdapter
        Parameters:
        taxon - The taxon information relevant to this entry.
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setRelationship

        public void setRelationship​(BioEntryRelationship relationship)
                             throws ParseException
        Call back method so the event emitter can tell the listener about a relationship between the bioentry or sequence in the record being read and another bioentry. This may be called zero or more times.
        Specified by:
        setRelationship in interface RichSeqIOListener
        Overrides:
        setRelationship in class RichSeqIOAdapter
        Parameters:
        relationship - The relationship
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setRankedDocRef

        public void setRankedDocRef​(RankedDocRef ref)
                             throws ParseException
        Call back method so the event emitter can tell the listener about a literature reference in the record being read. This method may be called zero or more times.
        Specified by:
        setRankedDocRef in interface RichSeqIOListener
        Overrides:
        setRankedDocRef in class RichSeqIOAdapter
        Parameters:
        ref - A literature reference contained in the entry.
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • setCircular

        public void setCircular​(boolean circular)
                         throws ParseException
        Defined this sequence being parser as circular. It is best to call this as early as possible during parsing. It should definitely be called before doing anything with locations or features.
        Specified by:
        setCircular in interface RichSeqIOListener
        Overrides:
        setCircular in class RichSeqIOAdapter
        Parameters:
        circular - set this to true if you want it to be circular.
        Throws:
        ParseException - If the Listener cannot understand the event, is unable to deal with the event or is not expecting the event.
      • makeSequence

        public Sequence makeSequence()
                              throws BioException
        Return the Sequence object which has been constructed by this builder. This method is only expected to succeed after the endSequence() notifier has been called. Implementations of this for a RichSequenceBuilder should delegate to makeRichSequence() and return only RichSequence objects.
        Specified by:
        makeSequence in interface RichSequenceBuilder
        Specified by:
        makeSequence in interface SequenceBuilder
        Throws:
        BioException