calhoun.analysis.crf.io
Class IntervalInputSequence

java.lang.Object
  extended by calhoun.analysis.crf.io.IntervalInputSequence
All Implemented Interfaces:
InputSequence<IntervalInputSequence.IntervalPosition>

public class IntervalInputSequence
extends java.lang.Object
implements InputSequence<IntervalInputSequence.IntervalPosition>

an input sequence made up of intervals of constant valued features. Each position is represented by an IntervalInputSequence.IntervalPosition object.


Nested Class Summary
 class IntervalInputSequence.IntervalPosition
          provides interval based queries for a particular position in the input sequence for an IntervalInputSequence.
static class IntervalInputSequence.IntervalRangeMapValue
           
 
Constructor Summary
IntervalInputSequence(RangeMap rmplus, RangeMap rmminus, java.lang.String inputName, int inputLength)
          constructs an input sequence from the necessary data
 
Method Summary
 InputSequence getComponent(java.lang.String name)
          For input sequences that are a composite of several different input objects, returns a particular component of the input.
 IntervalInputSequence.IntervalPosition getX(int ix)
          retrieves the input value at a position in the input sequence.
 int length()
          Returns the length of this sequence
 java.util.Collection<java.lang.String> listComponents()
          For input sequences that are a composite of several different input objects, returns a list of the names of the components in this input sequence.
 IntervalInputSequence subSequence(int start, int end)
          tTakes a subinterval of the input sequence with given start-end coordinates which are relative coordinates, 1-based, and inclusive.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntervalInputSequence

public IntervalInputSequence(RangeMap rmplus,
                             RangeMap rmminus,
                             java.lang.String inputName,
                             int inputLength)
constructs an input sequence from the necessary data

Parameters:
rmplus - range map of values on the positive strand
rmminus - range map of values on the negative strand
inputName - name of the input sequence
inputLength - length of the input sequence. Requires since the intervals may not cover the whole sequence.
Method Detail

getX

public IntervalInputSequence.IntervalPosition getX(int ix)
Description copied from interface: InputSequence
retrieves the input value at a position in the input sequence.

Specified by:
getX in interface InputSequence<IntervalInputSequence.IntervalPosition>
Parameters:
ix - the index position at which to get the input. This is a zero-based index.
Returns:
the object at this position in the input.

length

public int length()
Description copied from interface: InputSequence
Returns the length of this sequence

Specified by:
length in interface InputSequence<IntervalInputSequence.IntervalPosition>
Returns:
length

subSequence

public IntervalInputSequence subSequence(int start,
                                         int end)
Description copied from interface: InputSequence
tTakes a subinterval of the input sequence with given start-end coordinates which are relative coordinates, 1-based, and inclusive. Thus 1-10 will mean returning a new InputSequence which is the first 10 positions of the current one.

An implementation that does not support subsetting should throw an UnsupportedOperationException

Specified by:
subSequence in interface InputSequence<IntervalInputSequence.IntervalPosition>
Parameters:
start - the 1-based index of the first position of the input to retrieve.
end - the 1-based index of the last position of the input to retrieve.
Returns:
an input sequence which is a sbusequence of the original sequence.

getComponent

public InputSequence getComponent(java.lang.String name)
Description copied from interface: InputSequence
For input sequences that are a composite of several different input objects, returns a particular component of the input. For simple input sequences that just return an object, this method should throw UnsupportedOperationException.

Specified by:
getComponent in interface InputSequence<IntervalInputSequence.IntervalPosition>
Parameters:
name - the name of the input component to return
Returns:
the input sequence representing this component

listComponents

public java.util.Collection<java.lang.String> listComponents()
Description copied from interface: InputSequence
For input sequences that are a composite of several different input objects, returns a list of the names of the components in this input sequence. For simple input sequences that just return an object, this method should throw UnsupportedOperationException.

Specified by:
listComponents in interface InputSequence<IntervalInputSequence.IntervalPosition>
Returns:
a collection containing the component names