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.