pal.alignment
Class AlignmentUtils

java.lang.Object
  |
  +--pal.alignment.AlignmentUtils

public class AlignmentUtils
extends java.lang.Object

Helper utilities for alignments.


Constructor Summary
AlignmentUtils()
           
 
Method Summary
static Alignment concatAlignments(Alignment[] alignments, DataType dt)
          Concatenates an array of alignments such that the resulting alignment is all of the sub alignments place along side each other
static int countUnknowns(Alignment a, DataType dt)
          Tests the characters of an alignment to see if there are any characters that are not within a data type.
static double[] estimateFrequencies(Alignment a)
          count states (creates dataType if not yet specified)
static void getAlignedSequenceIndices(Alignment a, int i, int[] indices, DataType dataType)
          Returns state indices for a sequence.
static double getAlignmentPenalty(Alignment a, DataType dataType, TransitionPenaltyTable penalties, double gapCreation, double gapExtension, boolean local)
          Returns total sum of pairs alignment distance using gap creation and extension penalties and transition penalties as defined in the TransitionPenaltyTable provided.
static double getAlignmentPenalty(Alignment a, TransitionPenaltyTable penalties, double gapCreation, double gapExtension)
          Returns total sum of pairs alignment penalty using gap creation and extension penalties and transition penalties in the TransitionPenaltyTable provided.
static Alignment getChangedDataType(Alignment a, DataType dt)
          Returns an alignment which follows the pattern of the input alignment except that all sites which do not contain states in dt (excluding the gap character) are removed.
static Alignment getNucleotideAlignment(Alignment base)
          Translates an alignment to an alignment using Nucleotide characters.
static char[][] getNucleotideAlignment(char[][] base, DataType baseDataType)
          Translates an alignment (as a char array) to an alignment (as a char arrayusing Nucleotide characters.
static void getPositionMisalignmentInfo(Alignment a, java.io.PrintWriter out, int startingCodonPosition)
           
static void getPositionMisalignmentInfo(Alignment a, java.io.PrintWriter out, int startingCodonPosition, CodonTable translator, boolean removeIncompleteCodons)
           
static char[] getSequenceCharArray(Alignment a, int sequence)
          Returns a particular sequence of an alignment as a char array
static java.lang.String getSequenceString(Alignment a, int sequence)
          Returns a particular sequence of an alignment as a String
static DataType getSuitableInstance(Alignment alignment)
          guess data type suitable for a given sequence data set
static boolean isGap(Alignment a, int seq, int site)
          Returns true if the alignment has a gap at the site in the sequence specified.
static boolean isSiteRedundant(Alignment a, int site)
           
static void print(Alignment a, java.io.PrintWriter out)
          print alignment (default format: INTERLEAVED)
static void printCLUSTALW(Alignment a, java.io.PrintWriter out)
          Print alignment (in CLUSTAL W format)
static void printInterleaved(Alignment a, java.io.PrintWriter out)
          print alignment (in PHYLIP 3.4 INTERLEAVED format)
static void printPlain(Alignment a, java.io.PrintWriter out)
          print alignment (in plain format)
static void printPlain(Alignment a, java.io.PrintWriter out, boolean relaxed)
          print alignment (in plain format)
static void printSequential(Alignment a, java.io.PrintWriter out)
          print alignment (in PHYLIP SEQUENTIAL format)
static Alignment removeRedundantSites(Alignment a)
           
static void report(Alignment a, java.io.PrintWriter out)
          report number of sequences, sites, and data type
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlignmentUtils

public AlignmentUtils()
Method Detail

report

public static void report(Alignment a,
                          java.io.PrintWriter out)
report number of sequences, sites, and data type

print

public static void print(Alignment a,
                         java.io.PrintWriter out)
print alignment (default format: INTERLEAVED)

printPlain

public static void printPlain(Alignment a,
                              java.io.PrintWriter out)
print alignment (in plain format)

printPlain

public static void printPlain(Alignment a,
                              java.io.PrintWriter out,
                              boolean relaxed)
print alignment (in plain format)

printSequential

public static void printSequential(Alignment a,
                                   java.io.PrintWriter out)
print alignment (in PHYLIP SEQUENTIAL format)

printInterleaved

public static void printInterleaved(Alignment a,
                                    java.io.PrintWriter out)
print alignment (in PHYLIP 3.4 INTERLEAVED format)

printCLUSTALW

public static void printCLUSTALW(Alignment a,
                                 java.io.PrintWriter out)
Print alignment (in CLUSTAL W format)

getAlignedSequenceIndices

public static final void getAlignedSequenceIndices(Alignment a,
                                                   int i,
                                                   int[] indices,
                                                   DataType dataType)
Returns state indices for a sequence.

getAlignmentPenalty

public static double getAlignmentPenalty(Alignment a,
                                         TransitionPenaltyTable penalties,
                                         double gapCreation,
                                         double gapExtension)
Returns total sum of pairs alignment penalty using gap creation and extension penalties and transition penalties in the TransitionPenaltyTable provided. By default this is end-weighted.

getAlignmentPenalty

public static double getAlignmentPenalty(Alignment a,
                                         DataType dataType,
                                         TransitionPenaltyTable penalties,
                                         double gapCreation,
                                         double gapExtension,
                                         boolean local)
Returns total sum of pairs alignment distance using gap creation and extension penalties and transition penalties as defined in the TransitionPenaltyTable provided.
Parameters:
local - true if end gaps ignored, false otherwise

getSuitableInstance

public static DataType getSuitableInstance(Alignment alignment)
guess data type suitable for a given sequence data set
Parameters:
alignment - alignment
Returns:
suitable DataType object

estimateFrequencies

public static double[] estimateFrequencies(Alignment a)
count states (creates dataType if not yet specified)

isSiteRedundant

public static final boolean isSiteRedundant(Alignment a,
                                            int site)

removeRedundantSites

public static final Alignment removeRedundantSites(Alignment a)

isGap

public static boolean isGap(Alignment a,
                            int seq,
                            int site)
Returns true if the alignment has a gap at the site in the sequence specified.

getPositionMisalignmentInfo

public static void getPositionMisalignmentInfo(Alignment a,
                                               java.io.PrintWriter out,
                                               int startingCodonPosition,
                                               CodonTable translator,
                                               boolean removeIncompleteCodons)
Parameters:
startingCodonPosition - from {0,1,2}, representing codon position of first value in sequences...
translator - the translator to use for converting codons to amino acids.
removeIncompleteCodons - removes end codons that are not complete (due to startingPosition, and sequence length).

getPositionMisalignmentInfo

public static void getPositionMisalignmentInfo(Alignment a,
                                               java.io.PrintWriter out,
                                               int startingCodonPosition)
Parameters:
startingCodonPosition - - from {0,1,2}, representing codon position of first value in sequences...

concatAlignments

public static final Alignment concatAlignments(Alignment[] alignments,
                                               DataType dt)
Concatenates an array of alignments such that the resulting alignment is all of the sub alignments place along side each other

getSequenceCharArray

public static final char[] getSequenceCharArray(Alignment a,
                                                int sequence)
Returns a particular sequence of an alignment as a char array

getSequenceString

public static final java.lang.String getSequenceString(Alignment a,
                                                       int sequence)
Returns a particular sequence of an alignment as a String

getChangedDataType

public static final Alignment getChangedDataType(Alignment a,
                                                 DataType dt)
Returns an alignment which follows the pattern of the input alignment except that all sites which do not contain states in dt (excluding the gap character) are removed. The Datatype of the returned alignment is dt

countUnknowns

public static final int countUnknowns(Alignment a,
                                      DataType dt)
Tests the characters of an alignment to see if there are any characters that are not within a data type.

getNucleotideAlignment

public static final Alignment getNucleotideAlignment(Alignment base)
Translates an alignment to an alignment using Nucleotide characters. If the input is a Nucleotide Alignment returns the input. If it's a codon alignment converts on a one to one basis. If it's an AminoAcid alignment then the first instance of an amino acid is used to determine the three nucleotides substituted.

getNucleotideAlignment

public static final char[][] getNucleotideAlignment(char[][] base,
                                                    DataType baseDataType)
Translates an alignment (as a char array) to an alignment (as a char arrayusing Nucleotide characters. If the input is a Nucleotide Alignment returns the input. If it's a codon alignment converts on a one to one basis. If it's an AminoAcid alignment then the first instance of an amino acid is used to determine the three nucleotides substituted.