|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.biojava.utils.AbstractChangeable
org.biojavax.bio.seq.SimpleRichLocation
org.biojavax.bio.seq.CompoundRichLocation
public class CompoundRichLocation
An implementation of RichLocation which covers multiple locations, but on the same strand of the same (optionally circular) sequence.
| 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 | |
|---|---|
protected List |
members
|
protected int |
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 | |
|---|---|
protected |
CompoundRichLocation()
|
|
CompoundRichLocation(Collection members)
Constructs a CompoundRichLocation from the given set of members, with the default term of "join". |
|
CompoundRichLocation(ComparableTerm term,
Collection members)
Constructs a CompoundRichLocation from the given set of members. |
| Method Summary | |
|---|---|
Iterator |
blockIterator()
Return an Iterator over the set of maximal contiguous sub-locations. Given any location, it can be considered to contain zero or more maximal contiguous blocks of width 1 or greater. The empty location is composed from nothing. A contiguous location is composed from itself. A non-contiguous location is composed from contiguous blocks seperated by gaps. This method should return an Iterator over these maximally contiguous blocks starting with the left-most block, and finishing at the right-most block. |
int |
compareTo(Object o)
Locations are sorted first by rank, then crossref, then strand, then term, then min, then max. |
boolean |
contains(int p)
Checks if this location contains a point. Recursively applies this call to all members. |
boolean |
contains(Location l)
Checks if this location contains the other. Abstractly, a location contains another if every point in the other location is contained within this one. A location contains another location if it overlaps it, and the coordinates enclose those of the other location at both ends, and they fall on the same strand. Recursively applies this call to all members. |
boolean |
equals(Object o)
Checks if this location is equivalent to the other. Abstractly, a location is equal to another if for every point in one it is also in the other. This is equivalent to a.contains(b) && b.contains(a). You should call LocationTools.areEqual after casting l to Location. Locations are equal if their term, min, max, strand, and crossref are the same, and if their rank is the same too. Compound locations are only equal to other Locations if all their components are equal. |
Annotation |
getAnnotation()
Should return the associated annotation object. ALWAYS RETURNS THE EMPTY ANNOTATION |
Location |
getDecorator(Class decoratorClass)
Checks the decorator chain for an instance of
The default behavior is to return null. If the current object is a
decorator and is an instance of |
static ComparableTerm |
getJoinTerm()
Getter for the "join" term |
Set |
getNoteSet()
Returns the set of notes associated with this object. Would normally delegate call to internal RichAnnotation instance. Warning this method gives access to the original Collection not a copy. ALWAYS RETURNS THE EMPTY ANNOTATION NOTE SET |
static ComparableTerm |
getOrderTerm()
Getter for the "order" term |
int |
hashCode()
|
Location |
intersection(Location l)
Returns a Location that contains all points common to both ranges. If the locations overlap and are on the same strand, the intersection is returned. If passed a Location which is not a RichLocation, it converts it first using RichLocation.Tools.enrich(). |
boolean |
isContiguous()
Determine if a Location is contiguous. ALWAYS RETURNS FALSE |
Location |
newInstance(Location loc)
Create a new instance of Location with all of the same decorators as this instance but with the data stored in loc.
The default behavior is to return |
boolean |
overlaps(Location l)
Checks if these two locations overlap, using this location's concept of overlapping. Abstractly, two locations overlap if they both contain any point. A location overlaps another location if it is on the same sequence, and the coordinates overlap, and both are of the same circularity. Recursively applies this call to all members. |
static void |
reset()
|
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 |
void |
setCrossRefResolver(CrossReferenceResolver r)
Sets the cross ref resolver to use when retrieving remote symbols. If none is given, then the default from RichObjectFactory.getDefaultCrossRefResolver() is used. Recursively applies this call to all members. |
void |
setFeature(RichFeature feature)
Sets the feature this location is associated with. If null, that's fine, but you won't be able to persist it to the database until you give it a not-null value. Passes the call on to each of its members in turn. |
void |
setNoteSet(Set notes)
Clears the notes associated with this object and replaces them with the contents of this set. Would normally delegate call to internal RichAnnotation instance. Warning this method gives access to the original Collection not a copy. NOT IMPLEMENTED |
void |
setTerm(ComparableTerm term)
Sets the term for this location. |
void |
sort()
Sorts the member locations of a compound location. Does nothing for non-compound locations. Sorting depends on the compareTo() method of the member locations - usually they will be sorted by their start position. This might be useful when used with the location returned by a union or intersection, or when setting the term of a compound location to ORDER_TERM. |
SymbolList |
symbols(SymbolList seq)
Return the symbols in a sequence that fall within this range. If the location is circular but the sequence is not, or they are both circular but of different circular lengths, an exception is thrown. This function concatenates the symbols of all its child locations. |
String |
toString()
Form: "start..end" or just "point" for point locations Form: "term:[location,location...]" |
Location |
translate(int dist)
Create a location that is a translation of this location. Recursively translates all members of this location. |
Location |
union(Location l)
Return a Location containing all points in either ranges. A merged SimpleRichLocation is returned if the two locations overlap and are on the same strand. If passed a Location which is not a RichLocation, it converts it first using RichLocation.Tools.enrich(). |
| Methods inherited from class org.biojavax.bio.seq.SimpleRichLocation |
|---|
getCircularLength, getCrossRef, getFeature, getMax, getMaxPosition, getMin, getMinPosition, getRank, getStrand, getTerm, posmax, posmin, setCrossRef, 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 |
|---|
getCircularLength, getCrossRef, getFeature, getMaxPosition, getMinPosition, getRank, getStrand, getTerm, setPositionResolver, setRank |
| Methods inherited from interface org.biojava.bio.symbol.Location |
|---|
getMax, getMin |
| Methods inherited from interface org.biojava.utils.Changeable |
|---|
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener |
| Field Detail |
|---|
protected List members
protected int size
| Constructor Detail |
|---|
public CompoundRichLocation(Collection members)
members - the members to put into the compound location.RichLocation.Tools
public CompoundRichLocation(ComparableTerm term,
Collection members)
term - the term to use when describing the group of members.members - the members to put into the compound location.RichLocation.Toolsprotected CompoundRichLocation()
| Method Detail |
|---|
public static ComparableTerm getJoinTerm()
public static ComparableTerm getOrderTerm()
public static final void reset()
public void sort()
sort in interface RichLocationsort in class SimpleRichLocation
public void setFeature(RichFeature feature)
throws ChangeVetoException
setFeature in interface RichLocationsetFeature in class SimpleRichLocationfeature - the feature.
ChangeVetoExceptionpublic Annotation getAnnotation()
getAnnotation in interface AnnotatablegetAnnotation in class SimpleRichLocationpublic Set getNoteSet()
getNoteSet in interface RichAnnotatablegetNoteSet in class SimpleRichLocationNote
public void setNoteSet(Set notes)
throws ChangeVetoException
setNoteSet in interface RichAnnotatablesetNoteSet in class SimpleRichLocationnotes - the set of Note objects to replace the existing ones with.
ChangeVetoException - ALWAYSNote
public void setCircularLength(int sourceSeqLength)
throws ChangeVetoException
setCircularLength in interface RichLocationsetCircularLength in class SimpleRichLocationsourceSeqLength - the circular length of this location
ChangeVetoException - if it doesn't want to change.public Iterator blockIterator()
Given any location, it can be considered to contain zero or more maximal contiguous blocks of width 1 or greater. The empty location is composed from nothing. A contiguous location is composed from itself. A non-contiguous location is composed from contiguous blocks seperated by gaps.
This method should return an Iterator over these maximally contiguous blocks starting with the left-most block, and finishing at the right-most block.
blockIterator in interface LocationblockIterator in class SimpleRichLocationpublic boolean isContiguous()
isContiguous in interface LocationisContiguous in class SimpleRichLocationtrue if and only if this Location
contains every point from min to
max inclusive.public boolean contains(int p)
contains in interface Locationcontains in class SimpleRichLocationp - the point to check
public Location getDecorator(Class decoratorClass)
The default behavior is to return null. If the current object is a
decorator and is an instance of
getDecorator in interface LocationgetDecorator in class SimpleRichLocationdecoratorClass - the Class to check
public Location newInstance(Location loc)
loc.
The default behavior is to return loc.
ALWAYS RETURNS SELF
newInstance in interface LocationnewInstance in class SimpleRichLocationloc - the Location to use as template
public Location translate(int dist)
translate in interface Locationtranslate in class SimpleRichLocationdist - the distance to translate (to the right)public boolean contains(Location l)
Abstractly, a location contains another if every point in the other location is contained within this one. A location contains another location if it overlaps it, and the coordinates enclose those of the other location at both ends, and they fall on the same strand. Recursively applies this call to all members. If passed a Location which is not a RichLocation, it converts it first using RichLocation.Tools.enrich().
contains in interface Locationcontains in class SimpleRichLocationl - the Location to check
Location
wholey contains l.RichLocation.Toolspublic boolean overlaps(Location l)
Abstractly, two locations overlap if they both contain any point. A location overlaps another location if it is on the same sequence, and the coordinates overlap, and both are of the same circularity. Recursively applies this call to all members.
overlaps in interface Locationoverlaps in class SimpleRichLocationl - the Location to check
lpublic Location union(Location l)
union in interface Locationunion in class SimpleRichLocationl - the Location to union with
CompoundLocation if the components of the union
cannot be merged else a SimpleRichLocationRichLocation.Toolspublic Location intersection(Location l)
intersection in interface Locationintersection in class SimpleRichLocationl - the Location to intersect with
CompoundLocation if there is more than one region
of intersection that cannot be merged. Else a SimpleRichLocation.public void setCrossRefResolver(CrossReferenceResolver r)
setCrossRefResolver in interface RichLocationsetCrossRefResolver in class SimpleRichLocationr - the resolver to use.public SymbolList symbols(SymbolList seq)
The most obvious application of this method to a CompoundRichLocation
is the contatenation of the components of a gene with multiple exons.
symbols in interface Locationsymbols in class SimpleRichLocationseq - the SymbolList to process
public void setTerm(ComparableTerm term)
throws ChangeVetoException
setTerm in interface RichLocationsetTerm in class SimpleRichLocationterm - the term this location should adopt.
ChangeVetoException - in case of error.public int hashCode()
hashCode in class SimpleRichLocationpublic boolean equals(Object o)
Abstractly, a location is equal to another if for every point in one it is also in the other. This is equivalent to a.contains(b) && b.contains(a). You should call LocationTools.areEqual after casting l to Location. Locations are equal if their term, min, max, strand, and crossref are the same, and if their rank is the same too. Compound locations are only equal to other Locations if all their components are equal.
equals in interface Locationequals in class SimpleRichLocationo - the Object to check
public int compareTo(Object o)
compareTo in interface ComparablecompareTo in class SimpleRichLocationpublic String toString()
toString in class SimpleRichLocation
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||