## org.biojava.bio.search
Interface BlastLikeSearchFilter

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  BlastLikeSearchFilter.AbstractBlastLikeSearchFilter, BlastLikeSearchFilter.ByHitProperty, BlastLikeSearchFilter.BySearchProperty, BlastLikeSearchFilter.BySubHitProperty, BlastLikeSearchFilter.Not

    public interface BlastLikeSearchFilter

extends Serializable

A SearchContentHandler class that implements filtering in chains of SearchContentHandler instances.

The SearchContentHandler organise Blast-like searches as a hierarchy of search/hit/subhit. Each search is conducted with a single query sequence. Hits of the query sequence are reported against different target sequences. The hit is further subdivided into one of more subhits which represent the positions within the target sequence that alignments of the query sequence were achieved against the query sequence (e.g. HSPs).

This implementation depends on the a well ordered use of the SearchContentHandler interface. In particular, it requires that search/hit/subhit properties are reported immediately following the associated startSearch/startHit/startSubHit call. For example, search properties should not be reported following the corresponding startHit() call.

Semantics of this interface
BlastLikeSearchFilters test different levels of the SearchContentHandler property hierarchy and each filter should be seen as being applied when a full set of events from that level is received. So the ByHitProperty filter is applied when endHit() is called and determines whether all events received between startHit() and endHit() are to be passed on or discarded.

Some keys used by SearchContentHandlers
SearchProperties

KEY_QUERY_ID | String. Value from setQueryID
queryDescription | String. FASTA description line
program | String. variant of BLAST used
version | software version

HitProperties

subjectId | String. Identity of subject (target) sequence.
subjectSequenceLength | String representation of integer value
subjectDescription | String.

SubHitProperties

bitScore | String representation of real value
queryStrand | plus/minus
percentageIdentity | String representation of real value
querySequenceEnd | String representation of integer value
expectValue | String representation of real value
subjectStrand | plus/minus
subjectSequenceEnd | String representation of integer value
numberOfPositives | String representation of integer value
score | String representation of integer value
subjectSequence | String representation of sequence
alignmentSize | String representation of integer value
querySequenceStart | String representation of integer value
subjectSequenceStart | String representation of integer value
numberOfIdentities | String representation of integer value
querySequence | String representation of sequence

Author:
  David Huen

Nested Class Summary
`static class` `BlastLikeSearchFilter.AbstractBlastLikeSearchFilter`
`static class` `BlastLikeSearchFilter.And`
`static class` `BlastLikeSearchFilter.ByHitProperty` Applies test to the value specified by the key in hit properties.
`static class` `BlastLikeSearchFilter.BySearchProperty` Applies test to the value specified by the key in search properties.
`static class` `BlastLikeSearchFilter.BySubHitProperty` Applies test to the value specified by the key in subhit properties.
`static interface` `BlastLikeSearchFilter.Node`
`static class` `BlastLikeSearchFilter.Not`
`static class` `BlastLikeSearchFilter.Or`

Field Summary
`static String` `KEY_QUERY_ID`

Method Summary
`TriState` `accept()` returns a TriState indicating the current outcome of evaluating this filter.
`void` `evaluate(BlastLikeSearchFilter.Node fch)` computes the outcome of this filter on the specified node and stores it.
`void` `reset()` resets the internal state of this filter including any cached evaluations.

Field Detail

### KEY_QUERY_ID

    static final String KEY_QUERY_ID

See Also:
  Constant Field Values

Method Detail

### accept

    TriState accept()

  returns a TriState indicating the current outcome of evaluating this filter. This is usually the outcome saved when evaluate(FilteringContentHandler fch) was called.

### evaluate

    void evaluate(BlastLikeSearchFilter.Node fch)

  computes the outcome of this filter on the specified node and stores it. This method is only exposed to permit it to be included in an interface. Users should not use it.

### reset

    void reset()

  resets the internal state of this filter including any cached evaluations. This method is only exposed to permit it to be included in an interface. Users should not use it.