Class SymbolListViews


  • public final class SymbolListViews
    extends Object
    Tools class for constructing views of SymbolList objects.
    Since:
    1.2
    • Method Detail

      • orderNSymbolList

        public static SymbolList orderNSymbolList​(SymbolList source,
                                                  int order)
                                           throws IllegalAlphabetException
        An n-th order view of another SymbolList.

        In practice, what this means is that you can view a DNA sequence into an overlapping dinucleotide sequence without having to do any work yourself.

        Parameters:
        source - The underlying SymbolList to view
        order - The window size
        Throws:
        IllegalAlphabetException
      • windowedSymbolList

        public static SymbolList windowedSymbolList​(SymbolList source,
                                                    int wsize)
                                             throws IllegalArgumentException
        A view of windows onto another SymbolList.

        In practice, what this means is that you can view a DNA sequence as codons which do not overlap.

        Parameters:
        source - The underlying SymbolList to view
        wsize - The window size.
        Throws:
        IllegalArgumentException - if the symbollist length isn't an integer multiple of wsize.
      • reverse

        public static SymbolList reverse​(SymbolList symbols)
        A reversed view onto a SymbolList.
        Parameters:
        symbols - the SymbolList to reverse.
      • translate

        public static SymbolList translate​(SymbolList symbols,
                                           TranslationTable table)
                                    throws IllegalAlphabetException
        Provides a 'translated' view of an underlying SymbolList.

        This method allows you to translate from one alphabet into another, so for example, you could translate from DNA-triplets into amino-acids. You could also translate from DNA-dinucleotide into the 'twist' structural metric, or any other translation that takes your fancy.

        The actual mapping from source to view Symbol is encapsulated in a TranslationTable object.

        The translated SymbolList will be the same length as the source, and each Symbol in the view will correspond to a single Symbol in the source.

        Parameters:
        symbols - a SymbolList to translate.
        table - a translation table for mapping symbols.
        Throws:
        IllegalAlphabetException
      • subList

        public static SymbolList subList​(SymbolList parent,
                                         int start,
                                         int end)
                                  throws IllegalArgumentException
        View a portion of a SymbolList. Unlike SymbolList.subList, this method is guarenteed to return a view, which will change when the underlying SymbolList is modified.
        Parameters:
        parent - the SymbolList to view
        start - the first index to include in the view
        end - the last index to include in the view
        Throws:
        IllegalArgumentException - if the start or end points fall outside the parent SymbolList.
        Since:
        1.4
      • emptyList

        public static SymbolList emptyList​(Alphabet alpha)
        Get a new immutable, empty symbol list with the given alphabet.
        Parameters:
        alpha - the Alphabet this symbol list is over
        Returns:
        a new empty SymbolList
        Since:
        1.4