Class Interval

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Interval>
    Direct Known Subclasses:
    Marker

    public class Interval
    extends java.lang.Object
    implements java.lang.Comparable<Interval>, java.io.Serializable, java.lang.Cloneable
    A genomic interval. Note: Intervals are assumed to be zero-based and inclusive i.e. an interval including the first base up to base X would be [0,X] NOT [1,X]
    Author:
    pcingola
    See Also:
    Serialized Form
    • Field Detail

      • start

        protected int start
      • end

        protected int end
      • strandMinus

        protected boolean strandMinus
      • id

        protected java.lang.String id
      • chromosomeNameOri

        protected java.lang.String chromosomeNameOri
    • Constructor Detail

      • Interval

        protected Interval()
      • Interval

        public Interval​(Interval parent,
                        int start,
                        int end,
                        boolean strandMinus,
                        java.lang.String id)
    • Method Detail

      • clone

        public Interval clone()
        Overrides:
        clone in class java.lang.Object
      • compareTo

        public int compareTo​(Interval i2)
        Compare by start and end
        Specified by:
        compareTo in interface java.lang.Comparable<Interval>
      • equals

        public boolean equals​(Interval interval)
      • findParent

        public Interval findParent​(java.lang.Class clazz)
        Go up (parent) until we find an instance of 'clazz'
      • getChromosome

        public Chromosome getChromosome()
      • getChromosomeName

        public java.lang.String getChromosomeName()
        Find chromosome name
      • getChromosomeNameOri

        public java.lang.String getChromosomeNameOri()
      • getChromosomeNum

        public double getChromosomeNum()
        Find chromosome and return it's number
        Returns:
        Chromosome number if found, -1 otherwise
      • getEnd

        public int getEnd()
      • getGenome

        public Genome getGenome()
        Find genome
      • getGenomeName

        public java.lang.String getGenomeName()
        Find genome name
      • getId

        public java.lang.String getId()
      • getParent

        public Interval getParent()
      • getStart

        public int getStart()
      • getStrand

        public java.lang.String getStrand()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • intersects

        public boolean intersects​(int iStart,
                                  int iEnd)
        Return true if this intersects '[iStart, iEnd]'
      • intersects

        public boolean intersects​(Interval interval)
        Return true if this intersects 'interval'
      • intersects

        public boolean intersects​(long point)
        Returns:
        true if this interval contains point (inclusive)
      • intersects

        public boolean intersects​(Marker interval)
        Do the intervals intersect?
        Returns:
        return true if this intersects 'interval'
      • intersectSize

        public int intersectSize​(Marker interval)
        How much do intervals intersect?
        Returns:
        number of bases these intervals intersect
      • isCircular

        public boolean isCircular()
        Is this interval part of a circular chromosome and it spans the 'chromosome zero / chromosome end' line?
      • isSameChromo

        public boolean isSameChromo​(Marker interval)
      • isStrandMinus

        public boolean isStrandMinus()
      • isStrandPlus

        public boolean isStrandPlus()
      • isValid

        public boolean isValid()
      • setChromosomeNameOri

        public void setChromosomeNameOri​(java.lang.String chromosomeNameOri)
      • setEnd

        public void setEnd​(int end)
      • setId

        public void setId​(java.lang.String id)
      • setParent

        public void setParent​(Interval parent)
      • setStart

        public void setStart​(int start)
      • setStrandMinus

        public void setStrandMinus​(boolean strand)
      • shiftCoordinates

        public void shiftCoordinates​(int shift)
      • size

        public int size()
      • toStr

        public java.lang.String toStr()
        To string as a simple "chr:start-end" format
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toStringAsciiArt

        public java.lang.String toStringAsciiArt​(int maxLen)
        Show it as an ASCII art