## org.biojava.bio.program.ssbind
Class SimilarityPairBuilder

    java.lang.Object
      org.biojava.bio.program.ssbind.ViewSequenceFactory
          org.biojava.bio.program.ssbind.SimilarityPairBuilder

All Implemented Interfaces:
  SearchContentHandler

    public class SimilarityPairBuilder

extends ViewSequenceFactory
implements SearchContentHandler

`SimilarityPairBuilder` annotates query and subject `Sequence` with `SimilarityPairFeature`s created from SAX events supplied via a `SeqSimilarityAdapter`. The objective is to describe a simple pairwise relationship between the two sequences. This differs slightly from using `HomologyFeature`s which are slightly heavier, have to contain a full alignment and don't have an explicit distinction between query and subject sequences in the alignment. The SAX events should describe elements conforming to the BioJava BlastLikeDataSetCollection DTD. Suitable sources are `BlastLikeSAXParser` or `FastaSAXParser`.

Annotated `ViewSequence`s wrapping both query and subject sequences are created.

The current implementation should be used with care on streams containing more than one search output. This is because the builder will not stop after each report has been processed and as a result all the subject sequences get instantiated and a large object network could be created during processing.

Since:
  1.2
Author:
  Keith James, Greg Cox

Field Summary
`static String` `SIMILARITY_PAIR_FEATURE_TYPE` Constant `SIMILARITY_PAIR_FEATURE_TYPE` the type String used by `SimilarityPairBuilder` when creating `SimilarityPairFeature`s.

Fields inherited from class org.biojava.bio.program.ssbind.ViewSequenceFactory
`databaseID, querySeqHolder, queryViewCache, subjectDBs, subjectViewCache`

Constructor Summary
`SimilarityPairBuilder()`

Method Summary
`void` `addHitProperty(Object key, Object value)` The `addHitProperty` method adds a key/value pair containing some property of a particular hit.
`void` `addSearchProperty(Object key, Object value)` The `addSearchProperty` method adds a key/value pair containing some property of the overall search result.
`void` `addSubHitProperty(Object key, Object value)` The `addSubHitProperty` method adds a key/value pair containing some property of a particular subhit.
`void` `endHeader()` The `endHeader` method indicates the end of a formatted header.
`void` `endHit()` The `endHit` method indicates the end of a formatted hit.
`void` `endSearch()` The `endSearch` method indicates the end of useful search information.
`void` `endSubHit()` The `endSubHit` method indicates the end of a formatted subhit.
`Sequence` `getAnnotatedQuerySeq(String queryID)`
`Sequence` `getAnnotatedSubjectSeq(String subjectID)`
`boolean` `getMoreSearches()` `getMoreSearches` returns the state of the `SearchContentHandler` with respect to further searches from its data source.
`void` `setMoreSearches(boolean value)` `setMoreSearches` sets the state of the `SearchContentHandler`'s expectation of receiving more results.
`void` `setQueryID(String queryID)` `setQueryID` identifies the query sequence by a name, ID or URN.
`void` `startHeader()` The `startHeader` method indicates the start of a formatted header.
`void` `startHit()` The `startHit` method indicates the start of a formatted hit.
`void` `startSearch()` The `startSearch` method indicates the start of useful search information.
`void` `startSubHit()` The `startSubHit` method indicates the start of a formatted subhit.

Methods inherited from class org.biojava.bio.program.ssbind.ViewSequenceFactory
`getQuerySeqHolder, getSubjectDBInstallation, makeQueryViewSequence, makeSubjectViewSequence, setDatabaseID, setQuerySeqHolder, setSubjectDBInstallation`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.biojava.bio.search.SearchContentHandler
`setDatabaseID`

Field Detail

### SIMILARITY_PAIR_FEATURE_TYPE

    public static final String SIMILARITY_PAIR_FEATURE_TYPE

  Constant `SIMILARITY_PAIR_FEATURE_TYPE` the type String used by `SimilarityPairBuilder` when creating `SimilarityPairFeature`s. This is the String which is returned when a `SimilarityPairFeature`'s `getType()` method is called.

  See Also:
    Constant Field Values

Constructor Detail

### SimilarityPairBuilder

    public SimilarityPairBuilder()

Method Detail

### getAnnotatedQuerySeq

    public Sequence getAnnotatedQuerySeq(String queryID)
                                  throws IllegalIDException

  Throws:
    `IllegalIDException`

### getAnnotatedSubjectSeq

    public Sequence getAnnotatedSubjectSeq(String subjectID)
                                    throws IllegalIDException

  Throws:
    `IllegalIDException`

### setQueryID

    public void setQueryID(String queryID)

  Description copied from interface: `SearchContentHandler`
  `setQueryID` identifies the query sequence by a name, ID or URN.

  Specified by:
    `setQueryID` in interface `SearchContentHandler`
  Parameters:
    `queryID` - a `String` which should be an unique identifer for the sequence.

### getMoreSearches

    public boolean getMoreSearches()

  Description copied from interface: `SearchContentHandler`
  `getMoreSearches` returns the state of the `SearchContentHandler` with respect to further searches from its data source. Used for handling streams of search results.

  Specified by:
    `getMoreSearches` in interface `SearchContentHandler`
  Returns:
    a `boolean` value.

### setMoreSearches

    public void setMoreSearches(boolean value)

  Description copied from interface: `SearchContentHandler`
  `setMoreSearches` sets the state of the `SearchContentHandler`'s expectation of receiving more results. Used for handling streams of search results.

  Specified by:
    `setMoreSearches` in interface `SearchContentHandler`
  Parameters:
    `value` - a `boolean` value.

### startSearch

    public void startSearch()

  Description copied from interface: `SearchContentHandler`
  The `startSearch` method indicates the start of useful search information.

  Specified by:
    `startSearch` in interface `SearchContentHandler`

### endSearch

    public void endSearch()

  Description copied from interface: `SearchContentHandler`
  The `endSearch` method indicates the end of useful search information.

  Specified by:
    `endSearch` in interface `SearchContentHandler`

### startHeader

    public void startHeader()

  Description copied from interface: `SearchContentHandler`
  The `startHeader` method indicates the start of a formatted header. This usually contains information relevant to the search as a whole.

  Specified by:
    `startHeader` in interface `SearchContentHandler`

### endHeader

    public void endHeader()

  Description copied from interface: `SearchContentHandler`
  The `endHeader` method indicates the end of a formatted header.

  Specified by:
    `endHeader` in interface `SearchContentHandler`

### startHit

    public void startHit()

  Description copied from interface: `SearchContentHandler`
  The `startHit` method indicates the start of a formatted hit. This could be a single line, or a block of lines.

  Specified by:
    `startHit` in interface `SearchContentHandler`

### endHit

    public void endHit()

  Description copied from interface: `SearchContentHandler`
  The `endHit` method indicates the end of a formatted hit.

  Specified by:
    `endHit` in interface `SearchContentHandler`

### startSubHit

    public void startSubHit()

  Description copied from interface: `SearchContentHandler`
  The `startSubHit` method indicates the start of a formatted subhit. There may be zero or more of these per hit.

  Specified by:
    `startSubHit` in interface `SearchContentHandler`

### endSubHit

    public void endSubHit()

  Description copied from interface: `SearchContentHandler`
  The `endSubHit` method indicates the end of a formatted subhit.

  Specified by:
    `endSubHit` in interface `SearchContentHandler`

### addSearchProperty

    public void addSearchProperty(Object key,
                                  Object value)

  Description copied from interface: `SearchContentHandler`
  The `addSearchProperty` method adds a key/value pair containing some property of the overall search result.

  Specified by:
    `addSearchProperty` in interface `SearchContentHandler`
  Parameters:
    `key` - an `Object`.
    `value` - an `Object`.

### addHitProperty

    public void addHitProperty(Object key,
                               Object value)

  Description copied from interface: `SearchContentHandler`
  The `addHitProperty` method adds a key/value pair containing some property of a particular hit.

  Specified by:
    `addHitProperty` in interface `SearchContentHandler`
  Parameters:
    `key` - an `Object`.
    `value` - an `Object`.

### addSubHitProperty

    public void addSubHitProperty(Object key,
                                  Object value)

  Description copied from interface: `SearchContentHandler`
  The `addSubHitProperty` method adds a key/value pair containing some property of a particular subhit.

  Specified by:
    `addSubHitProperty` in interface `SearchContentHandler`
  Parameters:
    `key` - an `Object`.
    `value` - an `Object`.