Class SymbolListViews

java.lang.Object
org.biojava.bio.symbol.SymbolListViews

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

    • 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

      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
    • alignment

      public static Alignment alignment(Map labelToSymList) throws IllegalArgumentException
      Construct an alignment of the SymbolLists contained in the values collection of labelToSymList.
      Parameters:
      labelToSymList - A Map containing label -> SymbolList mappings
      Throws:
      IllegalArgumentException
    • alignment

      public static Alignment alignment(List labels, SymbolList symList) throws IllegalArgumentException
      View a SymbolList over a cross-product Alphabet as an Alignment.
      Parameters:
      labels - a List of labels, which should be the same length as the order symList's Alphabet.
      symList - a SymbolList over a cross-product alphabet.
      Throws:
      IllegalArgumentException
    • 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