this.intersect(that) method added to GenomeLoc (returns intersection of two intervals or dies if the locations do not overlap)
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3852 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
3308d956f4
commit
485023ba8e
|
|
@ -172,6 +172,16 @@ public class GenomeLoc implements Comparable<GenomeLoc>, Cloneable, Serializable
|
||||||
Math.max( getStop(), that.getStop()) );
|
Math.max( getStop(), that.getStop()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GenomeLoc intersect( GenomeLoc that ) throws StingException {
|
||||||
|
if (!(this.overlapsP(that))) {
|
||||||
|
throw new StingException("GenomeLoc::intersect(): The two genome loc's need to overlap");
|
||||||
|
}
|
||||||
|
|
||||||
|
return new GenomeLoc(getContig(), this.contigIndex,
|
||||||
|
Math.max(getStart(), that.getStart()),
|
||||||
|
Math.min( getStop(), that.getStop()) );
|
||||||
|
}
|
||||||
|
|
||||||
public final boolean containsP(GenomeLoc that) {
|
public final boolean containsP(GenomeLoc that) {
|
||||||
return onSameContig(that) && getStart() <= that.getStart() && getStop() >= that.getStop();
|
return onSameContig(that) && getStart() <= that.getStart() && getStop() >= that.getStop();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue