org.biojavax.bio.seq
Class MultiSourceCompoundRichLocation

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojavax.bio.seq.SimpleRichLocation
          extended by org.biojavax.bio.seq.CompoundRichLocation
              extended by org.biojavax.bio.seq.MultiSourceCompoundRichLocation
All Implemented Interfaces:
Comparable, Annotatable, Location, Changeable, RichLocation, RichAnnotatable

public class MultiSourceCompoundRichLocation
extends CompoundRichLocation
implements RichLocation

An implementation of RichLocation which possibly covers multiple locations, on different strands, different circular lengths, or different sequences.

Since:
1.5
Author:
Richard Holland, Mark Schreiber

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojavax.bio.seq.RichLocation
RichLocation.Strand, RichLocation.Tools
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
 
Fields inherited from class org.biojavax.bio.seq.CompoundRichLocation
members, size
 
Fields inherited from class org.biojavax.bio.seq.SimpleRichLocation
circularLength, term
 
Fields inherited from interface org.biojavax.bio.seq.RichLocation
CIRCULAR, EMPTY_LOCATION, FEATURE, NOTE, RANK, TERM
 
Fields inherited from interface org.biojava.bio.symbol.Location
empty, full, naturalOrder
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Constructor Summary
MultiSourceCompoundRichLocation(Collection members)
          Constructs a MultiSourceCompoundRichLocation from the given set of members, with the default term of "join".
MultiSourceCompoundRichLocation(ComparableTerm term, Collection members)
          Constructs a MultiSourceCompoundRichLocation from the given set of members.
 
Method Summary
 int getCircularLength()
          Retrieves the circular length of this location. If it is 0, the location is not circular. If it is not zero, then the number refers to the wrapping length of the location. eg. 100 would signify that a position of 112 would actually be a position of 112-100 = 12. ALWAYS RETURNS ZERO
 CrossRef getCrossRef()
          Retrieves the crossref associated with this location. ALWAYS RETURNS NULL
 int getMax()
          The maximum position contained.

WARNING: The location will not contain every point between getMin() and getMax() if isContiguous() is false. If isContiguous() does return false you should use the Iterator returned by blockIterator() to iterate over the minimum set of contiguous blocks that make up this Location ALWAYS RETURNS COMBINED LENGTH OF MEMBERS

 Position getMaxPosition()
          Retrieves the end position of this location. ALWAYS RETURNS A POINT POSITION AT POINT EQUIVALENT TO COMBINED LENGTH OF MEMBERS
 int getMin()
          The minimum position contained.

WARNING: The location will not contain every point between getMin() and getMax() if isContiguous() is false. If isContiguous() does return false you should use the Iterator returned by blockIterator() to iterate over the minimum set of contiguous blocks that make up this Location ALWAYS RETURNS ONE

 Position getMinPosition()
          Retrieves the start position of this location. ALWAYS RETURNS A POINT POSITION AT POINT 1
 RichLocation.Strand getStrand()
          Retrieves the strand associated with this location.
 void setCircularLength(int sourceSeqLength)
          Sets the circular length of this location. If it is 0, the location is not circular. If it is not zero, then the number refers to the wrapping length of the location. eg. 100 would signify that a position of 112 would actually be a position of 112-100 = 12. RECURSIVELY APPLIES CALL TO ALL MEMBERS NOT IMPLEMENTED
 Location translate(int dist)
          Create a location that is a translation of this location. Recursively translates all members of this location. Recursively translates all members of this location.
 
Methods inherited from class org.biojavax.bio.seq.CompoundRichLocation
blockIterator, compareTo, contains, contains, equals, getAnnotation, getDecorator, getJoinTerm, getNoteSet, getOrderTerm, getRichAnnotation, hashCode, intersection, isContiguous, newInstance, overlaps, setCrossRefResolver, setFeature, setNoteSet, setTerm, sort, symbols, toString, union
 
Methods inherited from class org.biojavax.bio.seq.SimpleRichLocation
getFeature, getId, getRank, getTerm, posmax, posmin, setCrossRef, setId, setMaxPosition, setMinPosition, setPositionResolver, setRank, setStrand
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.biojavax.bio.seq.RichLocation
getFeature, getRank, getTerm, setCrossRefResolver, setFeature, setPositionResolver, setRank, setTerm, sort
 
Methods inherited from interface org.biojava.bio.symbol.Location
blockIterator, contains, contains, equals, getDecorator, intersection, isContiguous, newInstance, overlaps, symbols, union
 
Methods inherited from interface org.biojavax.RichAnnotatable
getNoteSet, getRichAnnotation, setNoteSet
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

MultiSourceCompoundRichLocation

public MultiSourceCompoundRichLocation(Collection members)
Constructs a MultiSourceCompoundRichLocation from the given set of members, with the default term of "join". Note that you really shouldn't use this if you are unsure if your members set contains overlapping members. Use RichLocation.Tools.construct() instead. The members collection must only contain Location instances. Any that are not RichLocations will be converted using RichLocation.Tools.enrich().

Parameters:
members - the members to put into the compound location.
See Also:
RichLocation.Tools

MultiSourceCompoundRichLocation

public MultiSourceCompoundRichLocation(ComparableTerm term,
                                       Collection members)
Constructs a MultiSourceCompoundRichLocation from the given set of members. Note that you really shouldn't use this if you are unsure if your members set contains overlapping members. Use RichLocation.Tools.construct(members) instead. The members collection must only contain Location instances. Any that are not RichLocations will be converted using RichLocation.Tools.enrich().

Parameters:
term - the term to use when describing the group of members.
members - the members to put into the compound location.
See Also:
RichLocation.Tools
Method Detail

getCrossRef

public CrossRef getCrossRef()
Retrieves the crossref associated with this location. ALWAYS RETURNS NULL

Specified by:
getCrossRef in interface RichLocation
Overrides:
getCrossRef in class SimpleRichLocation
Returns:
the crossref.

getCircularLength

public int getCircularLength()
Retrieves the circular length of this location. If it is 0, the location is not circular. If it is not zero, then the number refers to the wrapping length of the location. eg. 100 would signify that a position of 112 would actually be a position of 112-100 = 12. ALWAYS RETURNS ZERO

Specified by:
getCircularLength in interface RichLocation
Overrides:
getCircularLength in class SimpleRichLocation
Returns:
the position.

setCircularLength

public void setCircularLength(int sourceSeqLength)
                       throws ChangeVetoException
Sets the circular length of this location. If it is 0, the location is not circular. If it is not zero, then the number refers to the wrapping length of the location. eg. 100 would signify that a position of 112 would actually be a position of 112-100 = 12. RECURSIVELY APPLIES CALL TO ALL MEMBERS NOT IMPLEMENTED

Specified by:
setCircularLength in interface RichLocation
Overrides:
setCircularLength in class CompoundRichLocation
Parameters:
sourceSeqLength - the circular length of this location
Throws:
ChangeVetoException - ALWAYS

getStrand

public RichLocation.Strand getStrand()
Retrieves the strand associated with this location.

Specified by:
getStrand in interface RichLocation
Overrides:
getStrand in class SimpleRichLocation
Returns:
the strand.

getMin

public int getMin()
The minimum position contained.

WARNING: The location will not contain every point between getMin() and getMax() if isContiguous() is false. If isContiguous() does return false you should use the Iterator returned by blockIterator() to iterate over the minimum set of contiguous blocks that make up this Location ALWAYS RETURNS ONE

Specified by:
getMin in interface Location
Overrides:
getMin in class SimpleRichLocation
Returns:
the minimum position contained

getMax

public int getMax()
The maximum position contained.

WARNING: The location will not contain every point between getMin() and getMax() if isContiguous() is false. If isContiguous() does return false you should use the Iterator returned by blockIterator() to iterate over the minimum set of contiguous blocks that make up this Location ALWAYS RETURNS COMBINED LENGTH OF MEMBERS

Specified by:
getMax in interface Location
Overrides:
getMax in class SimpleRichLocation
Returns:
the maximum position contained

getMinPosition

public Position getMinPosition()
Retrieves the start position of this location. ALWAYS RETURNS A POINT POSITION AT POINT 1

Specified by:
getMinPosition in interface RichLocation
Overrides:
getMinPosition in class SimpleRichLocation
Returns:
the position.

getMaxPosition

public Position getMaxPosition()
Retrieves the end position of this location. ALWAYS RETURNS A POINT POSITION AT POINT EQUIVALENT TO COMBINED LENGTH OF MEMBERS

Specified by:
getMaxPosition in interface RichLocation
Overrides:
getMaxPosition in class SimpleRichLocation
Returns:
the position.

translate

public Location translate(int dist)
Create a location that is a translation of this location. Recursively translates all members of this location. Recursively translates all members of this location.

Specified by:
translate in interface Location
Overrides:
translate in class CompoundRichLocation
Parameters:
dist - the distance to translate (to the right)