-
- All Superinterfaces:
Accessioned
,Iterable<C>
,Sequence<C>
- All Known Subinterfaces:
MutableAlignedSequence<S,C>
- All Known Implementing Classes:
SimpleAlignedSequence
public interface AlignedSequence<S extends Sequence<C>,C extends Compound> extends Sequence<C>
Defines a data structure for aSequence
within an alignment.- Author:
- Mark Chapman, Paolo Pavan
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
AlignedSequence.Step
Defines an alignment step in order to pass alignment information from anAligner
to a constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
clearCache()
Nullifies cached arrays/objects.int[]
getAlignmentFromSequence()
Returns the alignment.int
getAlignmentIndexAt(int sequenceIndex)
Returns the column index within an alignment corresponding to the given index in the originalSequence
.double
getCoverage()
Returns the coverage, as a fraction between 0 and 1, of thisAlignedSequence
with respect to the original sequence.Point
getEnd()
Location
getLocationInAlignment()
int
getNumGapPositions()
Returns number of gap positions (gap openings and extensions) in the sequence.int
getNumGaps()
Returns number of gaps (gap openings) in the sequence.S
getOriginalSequence()
Returns the originalSequence
before alignment.int
getOverlapCount()
Returns the maximum number of elements contributed to a column of an alignment by thisSequence
.int[]
getSequenceFromAlignment()
Returns the sequence positions at each alignment indexint
getSequenceIndexAt(int alignmentIndex)
Returns the index in the originalSequence
corresponding to the given index within an alignment.Point
getStart()
boolean
isCircular()
Returns true if thisSequence
wraps around from the last alignment column back to the first.boolean
isGap(int alignmentIndex)
Returns true if thisSequence
has a gap at a particular alignment column.-
Methods inherited from interface org.biojava.nbio.core.sequence.template.Accessioned
getAccession
-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Methods inherited from interface org.biojava.nbio.core.sequence.template.Sequence
countCompounds, getAsList, getCompoundAt, getCompoundSet, getIndexOf, getInverse, getLastIndexOf, getLength, getSequenceAsString, getSubSequence
-
-
-
-
Method Detail
-
clearCache
void clearCache()
Nullifies cached arrays/objects.
-
getAlignmentFromSequence
int[] getAlignmentFromSequence()
Returns the alignment.- Returns:
- the alignment
-
getSequenceFromAlignment
int[] getSequenceFromAlignment()
Returns the sequence positions at each alignment index- Returns:
- array of the sequence positions
-
getAlignmentIndexAt
int getAlignmentIndexAt(int sequenceIndex)
Returns the column index within an alignment corresponding to the given index in the originalSequence
. Both indices are 1-indexed and inclusive.- Parameters:
sequenceIndex
- index in the originalSequence
- Returns:
- column index within an alignment
- Throws:
IndexOutOfBoundsException
- if sequenceIndex < 1 or sequenceIndex >getOriginalSequence()
.Sequence.getLength()
-
getLocationInAlignment
Location getLocationInAlignment()
Returns theLocation
of the originalSequence
within an alignment. This provides access to additional substructure beyond start and end points.- Returns:
- location within an alignment
-
getNumGaps
int getNumGaps()
Returns number of gaps (gap openings) in the sequence. This could be determined from theLocation
information or from gapCompound
s, which may not necessarily result in the same number.- Returns:
- number of gaps in the sequence
-
getNumGapPositions
int getNumGapPositions()
Returns number of gap positions (gap openings and extensions) in the sequence. This could be determined from theLocation
information or from gapCompound
s, which may not necessarily result in the same number.- Returns:
- number of gap positions in the sequence
-
getCoverage
double getCoverage()
Returns the coverage, as a fraction between 0 and 1, of thisAlignedSequence
with respect to the original sequence. This is equivalent to (Sequence.getLength()
-getNumGapPositions()
) / getOriginalSequence().getLength().- Returns:
- coverage of the original sequence by the aligned sequence
-
getOriginalSequence
S getOriginalSequence()
Returns the originalSequence
before alignment.- Returns:
- the original sequence
-
getOverlapCount
int getOverlapCount()
Returns the maximum number of elements contributed to a column of an alignment by thisSequence
. If thisSequence
is circular, this number is >= 1. If not, this overlap count is definitely 1.- Returns:
- the most elements contributed to any alignment column
-
getSequenceIndexAt
int getSequenceIndexAt(int alignmentIndex)
Returns the index in the originalSequence
corresponding to the given index within an alignment. Both indices are 1-indexed and inclusive.- Parameters:
alignmentIndex
- column index within an alignment- Returns:
- index in the original
Sequence
- Throws:
IndexOutOfBoundsException
- if alignmentIndex < 1 or alignmentIndex >Sequence.getLength()
-
isCircular
boolean isCircular()
Returns true if thisSequence
wraps around from the last alignment column back to the first. This makes overlap possible, but does not require an overlap count > 1.- Returns:
- true for circular alignment elements
-
isGap
boolean isGap(int alignmentIndex)
Returns true if thisSequence
has a gap at a particular alignment column.- Parameters:
alignmentIndex
- column index within an alignment- Returns:
- true if this column has a gap
- Throws:
IndexOutOfBoundsException
- if alignmentIndex < 1 or alignmentIndex >Sequence.getLength()
-
-