Class NucleotideTools


  • public final class NucleotideTools
    extends java.lang.Object
    Useful functionality for processing nucleotide sequences.
    Author:
    Matthew Pocock, Keith James (docs)
    • Method Detail

      • r

        public static Symbol r()
      • y

        public static Symbol y()
      • m

        public static Symbol m()
      • k

        public static Symbol k()
      • s

        public static Symbol s()
      • w

        public static Symbol w()
      • b

        public static Symbol b()
      • d

        public static Symbol d()
      • h

        public static Symbol h()
      • v

        public static Symbol v()
      • n

        public static Symbol n()
      • getNucleotide

        public static FiniteAlphabet getNucleotide()
        Return the Nucleotide alphabet.
        Returns:
        a flyweight version of the Nucleotide alphabet
      • createNucleotide

        public static SymbolList createNucleotide​(java.lang.String nucleotide)
                                           throws IllegalSymbolException
        Return a new Nucleotide SymbolList for nucleotide.
        Parameters:
        nucleotide - a String to parse into Nucleotide
        Returns:
        a SymbolList created form nucleotide
        Throws:
        IllegalSymbolException - if nucleotide contains any non-Nucleotide characters
      • createNucleotideSequence

        public static Sequence createNucleotideSequence​(java.lang.String nucleotide,
                                                        java.lang.String name)
                                                 throws IllegalSymbolException
        Return a new Nucleotide Sequence for nucleotide.
        Parameters:
        nucleotide - a String to parse into Nucleotide
        name - a String to use as the name
        Returns:
        a Sequence created form nucleotide
        Throws:
        IllegalSymbolException - if nucleotide contains any non-Nucleotide characters
      • index

        public static int index​(Symbol sym)
                         throws IllegalSymbolException
        Return an integer index for a symbol - compatible with forIndex.

        The index for a symbol is stable accross virtual machines & invocations.

        Parameters:
        sym - the Symbol to index
        Returns:
        the index for that symbol
        Throws:
        IllegalSymbolException - if sym is not a member of the Nucleotide alphabet
      • forIndex

        public static Symbol forIndex​(int index)
                               throws java.lang.IndexOutOfBoundsException
        Return the symbol for an index - compatible with index.

        The index for a symbol is stable accross virtual machines & invocations.

        Parameters:
        index - the index to look up
        Returns:
        the symbol at that index
        Throws:
        java.lang.IndexOutOfBoundsException - if index is not between 0 and 3
      • complement

        public static Symbol complement​(Symbol sym)
                                 throws IllegalSymbolException
        Complement the symbol.
        Parameters:
        sym - the symbol to complement
        Returns:
        a Symbol that is the complement of sym
        Throws:
        IllegalSymbolException - if sym is not a member of the Nucleotide alphabet
      • forSymbol

        public static Symbol forSymbol​(char token)
                                throws IllegalSymbolException
        Retrieve the symbol for a symbol.
        Parameters:
        token - the char to look up
        Returns:
        the symbol for that char
        Throws:
        IllegalSymbolException - if the char does not belong to {a, g, c, t, u}
      • complementTable

        public static ReversibleTranslationTable complementTable()
        Get a translation table for complementing Nucleotide symbols.
        Since:
        1.1