edu.uconn.mcb.lineageevolver
Interface Gene

All Superinterfaces:
java.lang.Cloneable
All Known Implementing Classes:
ASRVByteAAGene

public interface Gene
extends java.lang.Cloneable

Common interface for models of genes.

Author:
Hasan Khalil, Lina Pezzella

Method Summary
 java.lang.Object clone()
          All genes must be cloneable.
 Gene duplicate(int paralogID)
          Generates an paralog of this gene.
 AminoAcid getAminoAcid(int index)
          Returns the AminoAcid at the given index.
 float getEvolutionSpeed()
          Returns the currently employed evolution speed for this Gene
 int getID()
          Return the ID number for this gene.
 int getParalogID()
          Returns the paralog number for this gene.
 int getSize()
          Returns the number of AminoAcids in this Gene.
 void reverse()
          Reverses the amino acid positions in this gene.
 void setEvolutionSpeed(float fltNewEvolutionSpeed)
          Sets the evolution speed for this Gene.
 void substitute()
          Processes substitution according to the currently employed substitution matrix for this Gene.
 

Method Detail

getID

public int getID()
Return the ID number for this gene.

Returns:
the ID number for this gene.

getParalogID

public int getParalogID()
Returns the paralog number for this gene.

Returns:
the paralog number for this gene.

getEvolutionSpeed

public float getEvolutionSpeed()
Returns the currently employed evolution speed for this Gene

Returns:
the currently employed evolution speed for this gene

setEvolutionSpeed

public void setEvolutionSpeed(float fltNewEvolutionSpeed)
Sets the evolution speed for this Gene.

Parameters:
fltNewEvolutionSpeed - the new evolution speed for this gene

getAminoAcid

public AminoAcid getAminoAcid(int index)
Returns the AminoAcid at the given index.

Parameters:
index - the index of the AminoAcid to return.
Returns:
the AminoAcid at the given index.

getSize

public int getSize()
Returns the number of AminoAcids in this Gene.

Returns:
the number of AminoAcids in this Gene.

substitute

public void substitute()
Processes substitution according to the currently employed substitution matrix for this Gene. Calculates overall substitution probabilities on the amino acid level on the fly from specific amino acid substitution probabilities and the currently employed Among Site Rate Variation (ASRV) distrubtion curve for this Gene.


duplicate

public Gene duplicate(int paralogID)
Generates an paralog of this gene.

Parameters:
paralogID - the paralog ID for the duplicated gene.
Returns:
the generated paralog of this gene.

reverse

public void reverse()
Reverses the amino acid positions in this gene.


clone

public java.lang.Object clone()
All genes must be cloneable.

Returns:
a clone of this gene.