pal.alignment
Class MultiLocusAnnotatedAlignment

java.lang.Object
  |
  +--pal.alignment.AbstractAlignment
        |
        +--pal.alignment.SimpleAlignment
              |
              +--pal.alignment.MultiLocusAnnotatedAlignment
All Implemented Interfaces:
Alignment, AnnotationAlignment, IdGroup, Report, java.io.Serializable

public class MultiLocusAnnotatedAlignment
extends SimpleAlignment
implements AnnotationAlignment

MultiLocusAnnotatedAlignment is an extension of the SimpleAlignment that includes Annotation, and is designed for multiple loci. Separate annotation information is stored from each sites. This would be good SNP SSR type of data, but it would be inefficient for single gene data.

See Also:
Serialized Form

Field Summary
 int[] chromosome
          used to designate chromosome
 float[] chromosomePosition
          used to designate position along chromosome
 java.lang.String[] locusName
          used to designate locus name
 int[] locusPosition
          used to designate position; do not account for gaps
 char[] positionType
          used to designate position Type
 DataType[] siteDataType
          provides datatype for each locus separately
 float[] weightedPosition
          used to designate weighted position; accounts for gaps
 
Fields inherited from class pal.alignment.AbstractAlignment
dataType, frequency, idGroup, numSeqs, numSites
 
Fields inherited from interface pal.alignment.Alignment
GAP
 
Constructor Summary
MultiLocusAnnotatedAlignment()
          null constructor.
MultiLocusAnnotatedAlignment(Alignment a)
          Basic constructor.
MultiLocusAnnotatedAlignment(AnnotationAlignment a)
          Clone constructor for Annotated alignment
MultiLocusAnnotatedAlignment(AnnotationAlignment a, IdGroup newGroup)
          This constructor will subset the alignment based on the taxa in IdGroup
MultiLocusAnnotatedAlignment(Identifier[] ids, java.lang.String[] sequences, java.lang.String gaps)
           
MultiLocusAnnotatedAlignment(IdGroup group, java.lang.String[] sequences)
           
MultiLocusAnnotatedAlignment(IdGroup group, java.lang.String[] sequences, java.lang.String gaps)
           
 
Method Summary
 int getChromosome(int site)
          Returns chromosome
 float getChromosomePosition(int site)
          Return the position along chromosome
 DataType getDataType(int site)
          Returns the datatype
 java.lang.String getLocusName(int site)
          Returns the name of the locus
 int getLocusPosition(int site)
          Return the position along the locus (ignores gaps)
 char getPositionType(int site)
          Returns position type (eg.
 float getWeightedLocusPosition(int site)
          Return the weighted position along the gene (handles gaps)
protected  void init(IdGroup group, java.lang.String[] sequences)
           
protected  void initMatrices()
           
 void setChromosome(int chromosome, int site)
          Sets chromosome
 void setChromosomePosition(float position, int site)
          Set the position along chromosome
 void setLocusName(java.lang.String locusName, int site)
          Sets the name of the locus
 void setLocusPosition(int position, int site)
          Set the position within the locus
 void setPositionType(int site, char posType)
          Set thes position type (eg.
 void setWeightedLocusPosition(int site, float weightedPos)
          Sets the weighted position along the gene (handles gaps)
 
Methods inherited from class pal.alignment.SimpleAlignment
getAlignedSequenceString, getData
 
Methods inherited from class pal.alignment.AbstractAlignment
getDataType, getFrequency, getIdCount, getIdentifier, getLength, getSequenceCount, getSiteCount, getStates, guessDataType, isGap, report, setDataType, setFrequency, setIdentifier, toString, whichIdNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pal.alignment.AnnotationAlignment
report
 
Methods inherited from interface pal.alignment.Alignment
getAlignedSequenceString, getData, getDataType, getFrequency, getSequenceCount, getSiteCount, setDataType, setFrequency
 
Methods inherited from interface pal.misc.IdGroup
getIdCount, getIdentifier, setIdentifier, whichIdNumber
 

Field Detail

chromosomePosition

public float[] chromosomePosition
used to designate position along chromosome

chromosome

public int[] chromosome
used to designate chromosome

weightedPosition

public float[] weightedPosition
used to designate weighted position; accounts for gaps

locusPosition

public int[] locusPosition
used to designate position; do not account for gaps

positionType

public char[] positionType
used to designate position Type

locusName

public java.lang.String[] locusName
used to designate locus name

siteDataType

public DataType[] siteDataType
provides datatype for each locus separately
Constructor Detail

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(Alignment a)
Basic constructor.

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment()
null constructor.

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(AnnotationAlignment a)
Clone constructor for Annotated alignment

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(Identifier[] ids,
                                    java.lang.String[] sequences,
                                    java.lang.String gaps)

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(IdGroup group,
                                    java.lang.String[] sequences)

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(IdGroup group,
                                    java.lang.String[] sequences,
                                    java.lang.String gaps)

MultiLocusAnnotatedAlignment

public MultiLocusAnnotatedAlignment(AnnotationAlignment a,
                                    IdGroup newGroup)
This constructor will subset the alignment based on the taxa in IdGroup
Method Detail

initMatrices

protected void initMatrices()

init

protected void init(IdGroup group,
                    java.lang.String[] sequences)

getChromosomePosition

public float getChromosomePosition(int site)
Return the position along chromosome
Specified by:
getChromosomePosition in interface AnnotationAlignment

setChromosomePosition

public void setChromosomePosition(float position,
                                  int site)
Set the position along chromosome

getChromosome

public int getChromosome(int site)
Returns chromosome
Specified by:
getChromosome in interface AnnotationAlignment

setChromosome

public void setChromosome(int chromosome,
                          int site)
Sets chromosome

getWeightedLocusPosition

public float getWeightedLocusPosition(int site)
Return the weighted position along the gene (handles gaps)
Specified by:
getWeightedLocusPosition in interface AnnotationAlignment

setWeightedLocusPosition

public void setWeightedLocusPosition(int site,
                                     float weightedPos)
Sets the weighted position along the gene (handles gaps)

getLocusPosition

public int getLocusPosition(int site)
Return the position along the locus (ignores gaps)
Specified by:
getLocusPosition in interface AnnotationAlignment

setLocusPosition

public void setLocusPosition(int position,
                             int site)
Set the position within the locus

getPositionType

public char getPositionType(int site)
Returns position type (eg. I=intron, E-exon, P=promoter, 1=first, 2=second, 3=third, etc.
Specified by:
getPositionType in interface AnnotationAlignment

setPositionType

public void setPositionType(int site,
                            char posType)
Set thes position type (eg. I=intron, E-exon, P=promoter, 1=first, 2=second, 3=third, etc.

getLocusName

public java.lang.String getLocusName(int site)
Returns the name of the locus
Specified by:
getLocusName in interface AnnotationAlignment

setLocusName

public void setLocusName(java.lang.String locusName,
                         int site)
Sets the name of the locus

getDataType

public DataType getDataType(int site)
Returns the datatype
Specified by:
getDataType in interface AnnotationAlignment