gov.lbl.genome.common.features
Class ChromSegment

java.lang.Object
  extended by gov.lbl.genome.common.features.ChromSegment
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
Cns, Contig, Exon, Gene, PValue, Repeat, SuperContig, Utr

public class ChromSegment
extends java.lang.Object
implements java.lang.Comparable, java.lang.Cloneable

ChromSegment represents a specific chromosome coordinate span.


Constructor Summary
ChromSegment(java.lang.String inChromosome, long inStart, long inEnd)
          ChromSegment
ChromSegment(java.lang.String inChromosome, long inStart, long inEnd, int rEnd)
          ChromSegment
ChromSegment(java.lang.String inName, java.lang.String inChromosome, long inStart, long inEnd)
          ChromSegment
ChromSegment(java.lang.String inChrom, java.lang.String inStart, java.lang.String inEnd)
          ChromSegment
ChromSegment(java.lang.String inChrom, java.lang.String neg, java.lang.String inStart, java.lang.String inEnd)
          ChromSegment
 
Method Summary
 void add(ChromSegment segment)
          Merges the specified chromosome segment with this segment
 java.lang.Object cloneSegment()
          clone Segment
 int compareTo(java.lang.Object obj)
          compare 2 segments
 boolean contains(ChromPosition position)
          Returns true if the specified Chromosome position falls within this segment.
 boolean contains(ChromSegment segment)
          Returns true if the specified chromosome segment overlaps at all with this segment.
 boolean contains(long coordinate)
          Returns true if the specified Chromosome position falls within this segment.
 java.lang.String getChromName()
          get Chromosome Name
 java.lang.String getChromosome()
          get Chromosome
 java.lang.String getChromosome(boolean alter)
          get Chromosome
 long getEnd()
          get End
 java.lang.String getName()
          get Name
 java.lang.String getPos()
          get formatted Position string
 int getRealEnd()
          get Real Segment End
 long getStart()
          get Start
 int hashCode()
           
 ChromSegment intersect(ChromSegment segment)
          Returns a new ChromSegment which is the intersection of this segment and the provided segment.
 boolean isRealChrom()
          return true if segment is a Real Chromosome
static ChromSegment parsePos(java.lang.String pos)
          build ChromSegment from the position string
static long[] parseSpan(java.lang.String span)
          return array with start and end
static boolean positionFormat(java.lang.String pos)
          return true if position is like chr9:10000-20000
 void setChromosome(int chromosome)
          set Chromosome
 void setChromosome(java.lang.String chromosome)
          set Chromosome
 void setEnd(long end)
          set End
 void setRealChrom(boolean realChrom)
          set Real Chromosome mode
 void setStart(long start)
          set Start
 java.lang.String toString()
          return XML formatted summary string
 java.lang.String toString(long offset)
          return XML formatted summary string
 boolean touches(ChromSegment segment)
          Returns true if the specified Chromosome segment either intersects or is adjacent to this Segment.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChromSegment

public ChromSegment(java.lang.String inChromosome,
                    long inStart,
                    long inEnd,
                    int rEnd)
ChromSegment

Parameters:
inChromosome - String
inStart - long
inEnd - long
rEnd - int

ChromSegment

public ChromSegment(java.lang.String inChromosome,
                    long inStart,
                    long inEnd)
ChromSegment

Parameters:
inChromosome - String
inStart - long
inEnd - long

ChromSegment

public ChromSegment(java.lang.String inChrom,
                    java.lang.String inStart,
                    java.lang.String inEnd)
ChromSegment

Parameters:
inChrom - String
inStart - String
inEnd - String

ChromSegment

public ChromSegment(java.lang.String inChrom,
                    java.lang.String neg,
                    java.lang.String inStart,
                    java.lang.String inEnd)
ChromSegment

Parameters:
inChrom - String
neg - String
inStart - String
inEnd - String

ChromSegment

public ChromSegment(java.lang.String inName,
                    java.lang.String inChromosome,
                    long inStart,
                    long inEnd)
ChromSegment

Parameters:
inName - String
inChromosome - String
inStart - long
inEnd - long
Method Detail

setRealChrom

public void setRealChrom(boolean realChrom)
set Real Chromosome mode

Parameters:
realChrom - boolean

isRealChrom

public boolean isRealChrom()
return true if segment is a Real Chromosome

Returns:
boolean

parsePos

public static ChromSegment parsePos(java.lang.String pos)
                             throws VGBException
build ChromSegment from the position string

Parameters:
pos - String
Returns:
ChromSegment
Throws:
VGBException

parseSpan

public static long[] parseSpan(java.lang.String span)
return array with start and end

Parameters:
span - String
Returns:
long[]

getName

public java.lang.String getName()
get Name

Returns:
String

getChromosome

public java.lang.String getChromosome()
get Chromosome

Returns:
String

getChromosome

public java.lang.String getChromosome(boolean alter)
get Chromosome

Parameters:
alter - boolean
Returns:
String

setChromosome

public void setChromosome(int chromosome)
set Chromosome

Parameters:
chromosome - int

setChromosome

public void setChromosome(java.lang.String chromosome)
set Chromosome

Parameters:
chromosome - String

getChromName

public java.lang.String getChromName()
get Chromosome Name

Returns:
String

getStart

public long getStart()
get Start

Returns:
long

getEnd

public long getEnd()
get End

Returns:
long

setStart

public void setStart(long start)
set Start

Parameters:
start - long

setEnd

public void setEnd(long end)
set End

Parameters:
end - long

getPos

public java.lang.String getPos()
get formatted Position string

Returns:
String

positionFormat

public static boolean positionFormat(java.lang.String pos)
return true if position is like chr9:10000-20000

Parameters:
pos - String
Returns:
boolean

add

public void add(ChromSegment segment)
Merges the specified chromosome segment with this segment


contains

public boolean contains(ChromSegment segment)
Returns true if the specified chromosome segment overlaps at all with this segment.


contains

public boolean contains(ChromPosition position)
Returns true if the specified Chromosome position falls within this segment.


contains

public boolean contains(long coordinate)
Returns true if the specified Chromosome position falls within this segment.


touches

public boolean touches(ChromSegment segment)
Returns true if the specified Chromosome segment either intersects or is adjacent to this Segment.


intersect

public ChromSegment intersect(ChromSegment segment)
Returns a new ChromSegment which is the intersection of this segment and the provided segment.


toString

public java.lang.String toString()
return XML formatted summary string

Overrides:
toString in class java.lang.Object
Returns:
String

toString

public java.lang.String toString(long offset)
return XML formatted summary string

Parameters:
offset - long
Returns:
String

hashCode

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

compareTo

public int compareTo(java.lang.Object obj)
compare 2 segments

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
obj - Object
Returns:
int

cloneSegment

public java.lang.Object cloneSegment()
clone Segment

Returns:
Object

getRealEnd

public int getRealEnd()
get Real Segment End

Returns:
int