Class SimpleAlignedSequence<S extends Sequence<C>,​C extends Compound>

    • Constructor Detail

      • SimpleAlignedSequence

        public SimpleAlignedSequence​(S original,
                                     java.util.List<AlignedSequence.Step> steps)
        Creates an AlignedSequence for the given Sequence in a global alignment.
        Parameters:
        original - the original Sequence before alignment
        steps - lists whether the sequence aligns a Compound or gap at each index of the alignment
        Throws:
        java.lang.IllegalArgumentException - if given sequence does not fit in alignment
      • SimpleAlignedSequence

        public SimpleAlignedSequence​(S original,
                                     java.util.List<AlignedSequence.Step> steps,
                                     int numBefore,
                                     int numAfter)
        Creates an AlignedSequence for the given Sequence in a local alignment.
        Parameters:
        original - the original Sequence before alignment
        steps - lists whether the sequence aligns a Compound or gap at each index of the alignment
        numBefore - number of Compounds before a local alignment
        numAfter - number of Compounds after a local alignment
        Throws:
        java.lang.IllegalArgumentException - if given sequence does not fit in alignment
      • SimpleAlignedSequence

        public SimpleAlignedSequence​(AlignedSequence<S,​C> prev,
                                     java.util.List<AlignedSequence.Step> steps)
        Creates a new AlignedSequence for the given AlignedSequence in a global alignment.
        Parameters:
        prev - the previous AlignedSequence before this alignment
        steps - lists whether the sequence aligns a Compound or gap at each index of the alignment
        Throws:
        java.lang.IllegalArgumentException - if given sequence does not fit in alignment
      • SimpleAlignedSequence

        public SimpleAlignedSequence​(AlignedSequence<S,​C> prev,
                                     java.util.List<AlignedSequence.Step> steps,
                                     int numBefore,
                                     int numAfter)
        Creates a new AlignedSequence for the given AlignedSequence in a local alignment.
        Parameters:
        prev - the previous AlignedSequence before this alignment
        steps - lists whether the sequence aligns a Compound or gap at each index of the alignment
        numBefore - number of Compounds before a local alignment
        numAfter - number of Compounds after a local alignment
        Throws:
        java.lang.IllegalArgumentException - if given sequence does not fit in alignment
    • Method Detail

      • getAlignmentIndexAt

        public int getAlignmentIndexAt​(int sequenceIndex)
        Description copied from interface: AlignedSequence
        Returns the column index within an alignment corresponding to the given index in the original Sequence. Both indices are 1-indexed and inclusive.
        Specified by:
        getAlignmentIndexAt in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Parameters:
        sequenceIndex - index in the original Sequence
        Returns:
        column index within an alignment
      • getNumGaps

        public int getNumGaps()
        Description copied from interface: AlignedSequence
        Returns number of gaps (gap openings) in the sequence. This could be determined from the Location information or from gap Compounds, which may not necessarily result in the same number.
        Specified by:
        getNumGaps in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Returns:
        number of gaps in the sequence
      • getOverlapCount

        public int getOverlapCount()
        Description copied from interface: AlignedSequence
        Returns the maximum number of elements contributed to a column of an alignment by this Sequence. If this Sequence is circular, this number is >= 1. If not, this overlap count is definitely 1.
        Specified by:
        getOverlapCount in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Returns:
        the most elements contributed to any alignment column
      • getSequenceIndexAt

        public int getSequenceIndexAt​(int alignmentIndex)
        Description copied from interface: AlignedSequence
        Returns the index in the original Sequence corresponding to the given index within an alignment. Both indices are 1-indexed and inclusive.
        Specified by:
        getSequenceIndexAt in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Parameters:
        alignmentIndex - column index within an alignment
        Returns:
        index in the original Sequence
      • isCircular

        public boolean isCircular()
        Description copied from interface: AlignedSequence
        Returns true if this Sequence wraps around from the last alignment column back to the first. This makes overlap possible, but does not require an overlap count > 1.
        Specified by:
        isCircular in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Returns:
        true for circular alignment elements
      • isGap

        public boolean isGap​(int alignmentIndex)
        Description copied from interface: AlignedSequence
        Returns true if this Sequence has a gap at a particular alignment column.
        Specified by:
        isGap in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Parameters:
        alignmentIndex - column index within an alignment
        Returns:
        true if this column has a gap
      • countCompounds

        public int countCompounds​(C... compounds)
        Description copied from interface: Sequence
        Returns the number of times we found a compound in the Sequence
        Specified by:
        countCompounds in interface Sequence<S extends Sequence<C>>
        Parameters:
        compounds - Vargs of the compounds to count
        Returns:
        Number of times a compound was found
      • getAsList

        public java.util.List<C> getAsList()
        Description copied from interface: Sequence
        Returns the Sequence as a List of compounds
        Specified by:
        getAsList in interface Sequence<S extends Sequence<C>>
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public C getCompoundAt​(int alignmentIndex)
        Description copied from interface: Sequence
        Returns the Compound at the given biological index
        Specified by:
        getCompoundAt in interface Sequence<S extends Sequence<C>>
        Parameters:
        alignmentIndex - Biological index (1 to n)
        Returns:
        Compound at the specified position
      • getIndexOf

        public int getIndexOf​(C compound)
        Description copied from interface: Sequence
        Scans through the Sequence looking for the first occurrence of the given compound
        Specified by:
        getIndexOf in interface Sequence<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

        public int getLastIndexOf​(C compound)
        Description copied from interface: Sequence
        Scans through the Sequence looking for the last occurrence of the given compound
        Specified by:
        getLastIndexOf in interface Sequence<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: Sequence
        Returns the length of the Sequence
        Specified by:
        getLength in interface Sequence<S extends Sequence<C>>
      • getSequenceAsString

        public java.lang.String getSequenceAsString()
        Description copied from interface: Sequence
        Returns the String representation of the Sequence
        Specified by:
        getSequenceAsString in interface Sequence<S extends Sequence<C>>
      • getSubSequence

        public SequenceView<C> getSubSequence​(java.lang.Integer start,
                                              java.lang.Integer end)
        Description copied from interface: Sequence
        Returns a portion of the sequence from the different positions. This is indexed from 1
        Specified by:
        getSubSequence in interface Sequence<S extends Sequence<C>>
        Parameters:
        start - Biological index start; must be greater than 0
        end - Biological end; must be less than length + 1
        Returns:
        A SequenceView of the offset
      • iterator

        public java.util.Iterator<C> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<S extends Sequence<C>>
      • toString

        public java.lang.String toString()
        Provides standard Java language access to results of getSequenceAsString().
        Overrides:
        toString in class java.lang.Object
      • getInverse

        public SequenceView<C> getInverse()
        Description copied from interface: Sequence
        Does the right thing to get the inverse of the current Sequence. This means either reversing the Sequence and optionally complementing the Sequence.
        Specified by:
        getInverse in interface Sequence<S extends Sequence<C>>
      • getNumGapPositions

        public int getNumGapPositions()
        Description copied from interface: AlignedSequence
        Returns number of gap positions (gap openings and extensions) in the sequence. This could be determined from the Location information or from gap Compounds, which may not necessarily result in the same number.
        Specified by:
        getNumGapPositions in interface AlignedSequence<S extends Sequence<C>,​C extends Compound>
        Returns:
        number of gap positions in the sequence