org.biojava.bio.seq.homol
Interface SimilarityPairFeature

All Superinterfaces:
Annotatable, Changeable, Feature, FeatureHolder, StrandedFeature
All Known Implementing Classes:
SimpleSimilarityPairFeature

public interface SimilarityPairFeature
extends StrandedFeature

SimilarityPairFeature describes a pairwise similarity between two nucleotide sequences (as it extends StrandedFeature). It is analagous to, and based on, the BioPerl Bio::SeqFeature::SimilarityPair.

It is different from HomologyFeature in that it expresses a relationship between only two sequence regions (rather than >= 2), with one clearly defined as the query sequence and the other as the subject (database hit). These are identified by constant labels in the Alignment. HomologyFeature identifies the related sequence regions by means of an Homology instance which contains an Alignment which uses the HomologyFeatures themselves as labels.

In cases where there is no alignment available, for example when MSPCrunch output or GFF have been used, the EmptyPairwiseAlignment in the EMPTY_PAIRWISE field may be used. This may also be useful if an implementation elides the alignment data for some reason.

Since:
1.2
Author:
Keith James

Nested Class Summary
static class SimilarityPairFeature.EmptyPairwiseAlignment
          EmptyPairwiseAlignment empty pairwise alignment which has labels to empty symbol lists.
static class SimilarityPairFeature.Template
          Template for construction of SimilarityPairFeatures.
 
Nested classes inherited from class org.biojava.bio.seq.StrandedFeature
StrandedFeature.Strand
 
Nested classes inherited from class org.biojava.bio.seq.Feature
Feature.ByLocationComparator
 
Nested classes inherited from class org.biojava.bio.seq.FeatureHolder
FeatureHolder.EmptyFeatureHolder
 
Nested classes inherited from class org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
static Alignment EMPTY_PAIRWISE
          Constant EMPTY_PAIRWISE is an empty alignment for situations where there is no available alignment data or the implementation does not want to create one.
static java.lang.String QUERY_LABEL
          Constant QUERY_LABEL is the alignment label used for all query sequences.
static ChangeType SIBLING
          The sibling of this feature has altered.
static java.lang.String SUBJECT_LABEL
          Constant SUBJECT_LABEL is the alignment label used for all subject sequences.
 
Fields inherited from interface org.biojava.bio.seq.StrandedFeature
NEGATIVE, POSITIVE, UNKNOWN
 
Fields inherited from interface org.biojava.bio.seq.Feature
byLocationOrder, LOCATION, PROPERTY_DATA_KEY, SOURCE, TYPE
 
Fields inherited from interface org.biojava.bio.seq.FeatureHolder
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Method Summary
 Alignment getAlignment()
          getAlignment returns the Alignment of two similar features.
 double getScore()
          getScore returns the alignment score.
 SimilarityPairFeature getSibling()
          getSibling returns the sibling Feature, query for subject and vice versa.
 void setSibling(SimilarityPairFeature sibling)
          setSibling sets the sibling feature of the pair.
 
Methods inherited from interface org.biojava.bio.seq.StrandedFeature
getStrand, getSymbols
 
Methods inherited from interface org.biojava.bio.seq.Feature
features, getLocation, getParent, getSequence, getSource, getType, makeTemplate, setLocation, setSource, setType
 
Methods inherited from interface org.biojava.bio.seq.FeatureHolder
containsFeature, countFeatures, createFeature, filter, filter, getSchema, removeFeature
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 

Field Detail

SIBLING

public static final ChangeType SIBLING
The sibling of this feature has altered.


QUERY_LABEL

public static final java.lang.String QUERY_LABEL
Constant QUERY_LABEL is the alignment label used for all query sequences.

See Also:
Constant Field Values

SUBJECT_LABEL

public static final java.lang.String SUBJECT_LABEL
Constant SUBJECT_LABEL is the alignment label used for all subject sequences.

See Also:
Constant Field Values

EMPTY_PAIRWISE

public static final Alignment EMPTY_PAIRWISE
Constant EMPTY_PAIRWISE is an empty alignment for situations where there is no available alignment data or the implementation does not want to create one.

Method Detail

getSibling

public SimilarityPairFeature getSibling()
getSibling returns the sibling Feature, query for subject and vice versa.

Returns:
a Feature.

setSibling

public void setSibling(SimilarityPairFeature sibling)
                throws ChangeVetoException
setSibling sets the sibling feature of the pair. This is used to set the reciprocal SimilarityPairFeature as both cannot be set using the Template.

Throws:
ChangeVetoException

getAlignment

public Alignment getAlignment()
getAlignment returns the Alignment of two similar features.

Returns:
an Alignment value.

getScore

public double getScore()
getScore returns the alignment score.

Returns:
a double.