Package org.biojava.nbio.core.alignment
Class SimpleAlignedSequence<S extends Sequence<C>,C extends Compound> 
java.lang.Object
org.biojava.nbio.core.alignment.SimpleAlignedSequence<S,C> 
- All Implemented Interfaces:
 Serializable,Iterable<C>,AlignedSequence<S,,C> Accessioned,Sequence<C>
public class SimpleAlignedSequence<S extends Sequence<C>,C extends Compound> 
extends Object
implements Serializable, AlignedSequence<S,C> 
Implements a data structure for a 
Sequence within an alignment.- Author:
 - Mark Chapman
 - See Also:
 
- 
Nested Class Summary
Nested classes/interfaces inherited from interface org.biojava.nbio.core.alignment.template.AlignedSequence
AlignedSequence.Step - 
Constructor Summary
ConstructorsConstructorDescriptionSimpleAlignedSequence(AlignedSequence<S, C> prev, List<AlignedSequence.Step> steps) Creates a newAlignedSequencefor the givenAlignedSequencein a global alignment.SimpleAlignedSequence(AlignedSequence<S, C> prev, List<AlignedSequence.Step> steps, int numBefore, int numAfter) Creates a newAlignedSequencefor the givenAlignedSequencein a local alignment.SimpleAlignedSequence(S original, List<AlignedSequence.Step> steps) Creates anAlignedSequencefor the givenSequencein a global alignment.SimpleAlignedSequence(S original, List<AlignedSequence.Step> steps, int numBefore, int numAfter) Creates anAlignedSequencefor the givenSequencein a local alignment. - 
Method Summary
Modifier and TypeMethodDescriptionvoidNullifies cached arrays/objects.intcountCompounds(C... compounds) Returns the number of times we found a compound in the SequencebooleanReturns the AccessionID this location is currently bound withint[]Returns the alignment.intgetAlignmentIndexAt(int sequenceIndex) Returns the column index within an alignment corresponding to the given index in the originalSequence.Returns the Sequence as a List of compoundsgetCompoundAt(int alignmentIndex) Returns the Compound at the given biological indexGets the compound set used to back this SequencedoubleReturns the coverage, as a fraction between 0 and 1, of thisAlignedSequencewith respect to the original sequence.getEnd()intgetIndexOf(C compound) Scans through the Sequence looking for the first occurrence of the given compoundDoes the right thing to get the inverse of the current Sequence.intgetLastIndexOf(C compound) Scans through the Sequence looking for the last occurrence of the given compoundintReturns the length of the SequenceintReturns number of gap positions (gap openings and extensions) in the sequence.intReturns number of gaps in the sequence.Returns the originalSequencebefore alignment.intReturns the maximum number of elements contributed to a column of an alignment by thisSequence.Returns the String representation of the Sequenceint[]Returns the sequence positions at each alignment indexintgetSequenceIndexAt(int alignmentIndex) Returns the index in the originalSequencecorresponding to the given index within an alignment.getStart()getSubSequence(Integer start, Integer end) Returns a portion of the sequence from the different positions.inthashCode()booleanReturns true if thisSequencewraps around from the last alignment column back to the first.booleanisGap(int alignmentIndex) Returns true if thisSequencehas a gap at a particular alignment column.iterator()toString()Provides standard Java language access to results ofgetSequenceAsString().Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator 
- 
Constructor Details
- 
SimpleAlignedSequence
Creates anAlignedSequencefor the givenSequencein a global alignment.- Parameters:
 original- the originalSequencebefore alignmentsteps- lists whether the sequence aligns aCompoundor gap at each index of the alignment- Throws:
 IllegalArgumentException- if given sequence does not fit in alignment
 - 
SimpleAlignedSequence
public SimpleAlignedSequence(S original, List<AlignedSequence.Step> steps, int numBefore, int numAfter) Creates anAlignedSequencefor the givenSequencein a local alignment.- Parameters:
 original- the originalSequencebefore alignmentsteps- lists whether the sequence aligns aCompoundor gap at each index of the alignmentnumBefore- number ofCompounds before a local alignmentnumAfter- number ofCompounds after a local alignment- Throws:
 IllegalArgumentException- if given sequence does not fit in alignment
 - 
SimpleAlignedSequence
Creates a newAlignedSequencefor the givenAlignedSequencein a global alignment.- Parameters:
 prev- the previousAlignedSequencebefore this alignmentsteps- lists whether the sequence aligns aCompoundor gap at each index of the alignment- Throws:
 IllegalArgumentException- if given sequence does not fit in alignment
 - 
SimpleAlignedSequence
public SimpleAlignedSequence(AlignedSequence<S, C> prev, List<AlignedSequence.Step> steps, int numBefore, int numAfter) Creates a newAlignedSequencefor the givenAlignedSequencein a local alignment.- Parameters:
 prev- the previousAlignedSequencebefore this alignmentsteps- lists whether the sequence aligns aCompoundor gap at each index of the alignmentnumBefore- number ofCompounds before a local alignmentnumAfter- number ofCompounds after a local alignment- Throws:
 IllegalArgumentException- if given sequence does not fit in alignment
 
 - 
 - 
Method Details
- 
clearCache
public void clearCache()Description copied from interface:AlignedSequenceNullifies cached arrays/objects.- Specified by:
 clearCachein interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> 
 - 
getAlignmentFromSequence
public int[] getAlignmentFromSequence()Description copied from interface:AlignedSequenceReturns the alignment.- Specified by:
 getAlignmentFromSequencein interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - the alignment
 
 - 
getAlignmentIndexAt
public int getAlignmentIndexAt(int sequenceIndex) Description copied from interface:AlignedSequenceReturns the column index within an alignment corresponding to the given index in the originalSequence. Both indices are 1-indexed and inclusive.- Specified by:
 getAlignmentIndexAtin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Parameters:
 sequenceIndex- index in the originalSequence- Returns:
 - column index within an alignment
 
 - 
getEnd
Description copied from interface:AlignedSequence - 
getLocationInAlignment
Description copied from interface:AlignedSequenceReturns theLocationof the originalSequencewithin an alignment. This provides access to additional substructure beyond start and end points.- Specified by:
 getLocationInAlignmentin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - location within an alignment
 
 - 
getNumGaps
public int getNumGaps()Description copied from interface:AlignedSequenceReturns number of gaps in the sequence. This could be determined from theLocationinformation or from gapCompounds, which may not necessarily result in the same number.- Specified by:
 getNumGapsin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - number of gaps in the sequence
 
 - 
getOriginalSequence
Description copied from interface:AlignedSequenceReturns the originalSequencebefore alignment.- Specified by:
 getOriginalSequencein interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - the original sequence
 
 - 
getOverlapCount
public int getOverlapCount()Description copied from interface:AlignedSequenceReturns the maximum number of elements contributed to a column of an alignment by thisSequence. If thisSequenceis circular, this number is >= 1. If not, this overlap count is definitely 1.- Specified by:
 getOverlapCountin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - the most elements contributed to any alignment column
 
 - 
getSequenceFromAlignment
public int[] getSequenceFromAlignment()Description copied from interface:AlignedSequenceReturns the sequence positions at each alignment index- Specified by:
 getSequenceFromAlignmentin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - array of the sequence positions
 
 - 
getSequenceIndexAt
public int getSequenceIndexAt(int alignmentIndex) Description copied from interface:AlignedSequenceReturns the index in the originalSequencecorresponding to the given index within an alignment. Both indices are 1-indexed and inclusive.- Specified by:
 getSequenceIndexAtin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Parameters:
 alignmentIndex- column index within an alignment- Returns:
 - index in the original 
Sequence 
 - 
getStart
Description copied from interface:AlignedSequence - 
isCircular
public boolean isCircular()Description copied from interface:AlignedSequenceReturns true if thisSequencewraps around from the last alignment column back to the first. This makes overlap possible, but does not require an overlap count > 1.- Specified by:
 isCircularin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - true for circular alignment elements
 
 - 
isGap
public boolean isGap(int alignmentIndex) Description copied from interface:AlignedSequenceReturns true if thisSequencehas a gap at a particular alignment column. - 
countCompounds
Description copied from interface:SequenceReturns the number of times we found a compound in the Sequence- Specified by:
 countCompoundsin interfaceSequence<S extends Sequence<C>>- Parameters:
 compounds- Vargs of the compounds to count- Returns:
 - Number of times a compound was found
 
 - 
getAccession
Description copied from interface:AccessionedReturns the AccessionID this location is currently bound with- Specified by:
 getAccessionin interfaceAccessioned
 - 
getAsList
Description copied from interface:SequenceReturns the Sequence as a List of compounds - 
equals
 - 
hashCode
public int hashCode() - 
getCompoundAt
Description copied from interface:SequenceReturns the Compound at the given biological index- Specified by:
 getCompoundAtin interfaceSequence<S extends Sequence<C>>- Parameters:
 alignmentIndex- Biological index (1 to n)- Returns:
 - Compound at the specified position
 
 - 
getCompoundSet
Description copied from interface:SequenceGets the compound set used to back this Sequence- Specified by:
 getCompoundSetin interfaceSequence<S extends Sequence<C>>
 - 
getIndexOf
Description copied from interface:SequenceScans through the Sequence looking for the first occurrence of the given compound- Specified by:
 getIndexOfin interfaceSequence<S extends Sequence<C>>- Parameters:
 compound- Compounds to look for- Returns:
 - Index of the first position of the compound in the sequence (1 to n)
 
 - 
getLastIndexOf
Description copied from interface:SequenceScans through the Sequence looking for the last occurrence of the given compound- Specified by:
 getLastIndexOfin interfaceSequence<S extends Sequence<C>>- Parameters:
 compound- Compounds to look for- Returns:
 - Index of the last position of the compound in the sequence (1 to n)
 
 - 
getLength
public int getLength()Description copied from interface:SequenceReturns the length of the Sequence - 
getSequenceAsString
Description copied from interface:SequenceReturns the String representation of the Sequence- Specified by:
 getSequenceAsStringin interfaceSequence<S extends Sequence<C>>
 - 
getSubSequence
Description copied from interface:SequenceReturns a portion of the sequence from the different positions. This is indexed from 1- Specified by:
 getSubSequencein interfaceSequence<S extends Sequence<C>>- Parameters:
 start- Biological index start; must be greater than 0end- Biological end; must be less than length + 1- Returns:
 - A SequenceView of the offset
 
 - 
iterator
 - 
toString
Provides standard Java language access to results ofgetSequenceAsString(). - 
getInverse
Description copied from interface:SequenceDoes the right thing to get the inverse of the current Sequence. This means either reversing the Sequence and optionally complementing the Sequence.- Specified by:
 getInversein interfaceSequence<S extends Sequence<C>>
 - 
getNumGapPositions
public int getNumGapPositions()Description copied from interface:AlignedSequenceReturns number of gap positions (gap openings and extensions) in the sequence. This could be determined from theLocationinformation or from gapCompounds, which may not necessarily result in the same number.- Specified by:
 getNumGapPositionsin interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - number of gap positions in the sequence
 
 - 
getCoverage
public double getCoverage()Description copied from interface:AlignedSequenceReturns the coverage, as a fraction between 0 and 1, of thisAlignedSequencewith respect to the original sequence. This is equivalent to (Sequence.getLength()-AlignedSequence.getNumGapPositions()) / getOriginalSequence().getLength().- Specified by:
 getCoveragein interfaceAlignedSequence<S extends Sequence<C>,C extends Compound> - Returns:
 - coverage of the original sequence by the aligned sequence
 
 
 -