Package pal.datatype
Class IUPACNucleotides
java.lang.Object
pal.datatype.SimpleDataType
pal.datatype.IUPACNucleotides
- All Implemented Interfaces:
Serializable
,AmbiguousDataType
,DataType
,MolecularDataType
public class IUPACNucleotides
extends SimpleDataType
implements MolecularDataType, AmbiguousDataType
implements DataType for nucleotides with ambiguous characters
- Version:
- $Id: IUPACNucleotides.java,v 1.19 2004/09/13 05:20:47 matt Exp $
- Author:
- Alexei Drummond
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface pal.datatype.DataType
DataType.Utils
Nested classes/interfaces inherited from interface pal.datatype.MolecularDataType
MolecularDataType.Utils
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IUPACNucleotides
static final IUPACNucleotides
static final IUPACNucleotides
Fields inherited from interface pal.datatype.DataType
AMINO_ACID_DESCRIPTION, AMINOACIDS, CODON_DESCRIPTION, CODONS, GAP_BALANCED, GAP_BALANCED_DESCRIPTION, IUPAC_NUCELOTIDES_DESCRIPTION, IUPACNUCLEOTIDES, NUCLEOTIDE_DESCRIPTION, NUCLEOTIDES, NUMERIC, PRIMARY_SUGGESTED_GAP_CHARACTER, SUGGESTED_GAP_CHARACTERS, SUGGESTED_GAP_STATE, SUGGESTED_UNKNOWN_STATE, TWO_STATE_DESCRIPTION, TWOSTATES, UNKNOWN, UNKNOWN_CHARACTER, UNKNOWN_TLA
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
getAmbiguity
(int ambiguousState, boolean[] specificInclusion) Attempts to "resolve" the ambiguity in a state with regard to the specific data type.void
getAmbiguity
(int ambiguousState, double[] specificInclusion) A more accurate attempt to "resolve" the ambiguity in a state with regard to the specific data type.protected char
getCharImpl
(int state) description of data typestatic final int
getIUPACState
(boolean maybeA, boolean maybeC, boolean maybeG, boolean maybeT) static final int
getIUPACState
(int inclusion) final int[]
getMolecularStatesFromIUPACNucleotides
(int[] nucleotideStates, int startingIndex) int[]
getMolecularStatesFromSimpleNucleotides
(int[] nucleotideStates, int startingIndex) final int
int[]
getNucleotideStates
(int[] residueStates) int
Get number of states.int
static final int
getSimpleState
(int state) Converts an IUPAC State to either a A,T,G,C state (eg.static final int[]
getSimpleStates
(int[] states) Converts an IUPAC State array to either a A,T,G,C state (eg.static final int[]
getSimpleStates
(int[] states, int startingIndex) Converts an IUPAC State array to either a A,T,G,C state (eg.int[]
getSpecificStates
(int state) returns an array containing the non-ambiguous states that this state represents.protected final int
getStateImpl
(char c) For sub classes to implement main functionality of getState.int
get numerical code describing the data typeboolean
boolean
static final boolean
isNucleotideState
(int iupacState, int nucleotideState) protected boolean
isUnknownStateImpl
(int state) For subclasses to handle, without regard for gapstoString()
Methods inherited from class pal.datatype.SimpleDataType
getChar, getPreferredChar, getPreferredCharImpl, getRecommendedGapState, getState, hasGap, isGapChar, isGapState, isUnknownChar, isUnknownState
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface pal.datatype.DataType
getChar, getPreferredChar, getRecommendedGapState, getState, hasGap, isGapChar, isGapState, isUnknownChar, isUnknownState
-
Field Details
-
DEFAULT_INSTANCE
-
DNA_INSTANCE
-
RNA_INSTANCE
-
-
Constructor Details
-
IUPACNucleotides
public IUPACNucleotides() -
IUPACNucleotides
public IUPACNucleotides(boolean isRNA)
-
-
Method Details
-
getNumStates
public int getNumStates()Get number of states.- Specified by:
getNumStates
in interfaceDataType
- Returns:
- number of unique states
-
isUnknownStateImpl
protected boolean isUnknownStateImpl(int state) Description copied from class:SimpleDataType
For subclasses to handle, without regard for gaps- Specified by:
isUnknownStateImpl
in classSimpleDataType
-
getStateImpl
protected final int getStateImpl(char c) Description copied from class:SimpleDataType
For sub classes to implement main functionality of getState. Gaps do not need to be considered- Specified by:
getStateImpl
in classSimpleDataType
-
getCharImpl
protected char getCharImpl(int state) - Specified by:
getCharImpl
in classSimpleDataType
-
getDescription
Description copied from interface:DataType
description of data type- Specified by:
getDescription
in interfaceDataType
- Returns:
- string describing the data type
-
getTypeID
public int getTypeID()Description copied from interface:DataType
get numerical code describing the data type -
isNucleotideState
public static final boolean isNucleotideState(int iupacState, int nucleotideState) - Returns:
- true if the iupacState is an state which includes the possibility of being of a nucleotide state
-
getRecommendedUnknownState
public int getRecommendedUnknownState()- Specified by:
getRecommendedUnknownState
in interfaceDataType
- Overrides:
getRecommendedUnknownState
in classSimpleDataType
- Returns:
- -1 (not getNumStates())
-
getIUPACState
public static final int getIUPACState(int inclusion) - Parameters:
inclusion
- should be a number constructed as follows 1. start at zero 2. if maybe A add 1 3. if maybe C add 2 4. if maybe G add 4 5. if maybe T add 8
-
getIUPACState
public static final int getIUPACState(boolean maybeA, boolean maybeC, boolean maybeG, boolean maybeT) -
getSimpleState
public static final int getSimpleState(int state) Converts an IUPAC State to either a A,T,G,C state (eg. if state represents either C or G, state becomes C - an arbitary choice is made to take "lowest" letter) -
getSimpleStates
public static final int[] getSimpleStates(int[] states) Converts an IUPAC State array to either a A,T,G,C state (eg. if state represents either C or G, state becomes C - an arbitary choice is made to take "lowest" letter)- Returns:
- new array containing only simple states (orignal is not altered)
-
getSimpleStates
public static final int[] getSimpleStates(int[] states, int startingIndex) Converts an IUPAC State array to either a A,T,G,C state (eg. if state represents either C or G, state becomes C - an arbitary choice is made to take "lowest" letter)- Parameters:
staringIndex
- amount to skip at beginning of input array- Returns:
- new array containing only simple states (orignal is not altered)
-
toString
- Overrides:
toString
in classSimpleDataType
-
getNucleotideStates
public int[] getNucleotideStates(int[] residueStates) - Specified by:
getNucleotideStates
in interfaceMolecularDataType
- Parameters:
residueStates
- an array of states corresponding to states ofthis datatype- Returns:
- a copy of the input
-
getMolecularStatesFromSimpleNucleotides
public int[] getMolecularStatesFromSimpleNucleotides(int[] nucleotideStates, int startingIndex) - Specified by:
getMolecularStatesFromSimpleNucleotides
in interfaceMolecularDataType
- Returns:
- a copy of the input
-
getMolecularStatesFromIUPACNucleotides
public final int[] getMolecularStatesFromIUPACNucleotides(int[] nucleotideStates, int startingIndex) - Specified by:
getMolecularStatesFromIUPACNucleotides
in interfaceMolecularDataType
- Returns:
- a copy of the input
-
isCreatesIUPACNuecleotides
public boolean isCreatesIUPACNuecleotides()- Specified by:
isCreatesIUPACNuecleotides
in interfaceMolecularDataType
- Returns:
- true
-
getNucleotideLength
public final int getNucleotideLength()- Specified by:
getNucleotideLength
in interfaceMolecularDataType
- Returns:
- 1
-
getSpecificStates
public int[] getSpecificStates(int state) returns an array containing the non-ambiguous states that this state represents.- Specified by:
getSpecificStates
in interfaceAmbiguousDataType
-
isAmbiguous
public boolean isAmbiguous()- Specified by:
isAmbiguous
in interfaceDataType
- Overrides:
isAmbiguous
in classSimpleDataType
- Returns:
- true
-
getAmbiguousVersion
- Specified by:
getAmbiguousVersion
in interfaceDataType
- Overrides:
getAmbiguousVersion
in classSimpleDataType
- Returns:
- this!
-
getSpecificDataType
- Specified by:
getSpecificDataType
in interfaceAmbiguousDataType
- Returns:
- Nucleotides
-
getAmbiguity
public void getAmbiguity(int ambiguousState, boolean[] specificInclusion) Attempts to "resolve" the ambiguity in a state with regard to the specific data type.- Specified by:
getAmbiguity
in interfaceAmbiguousDataType
- Parameters:
ambiguousState
- the state of this data type (the ambiguous one!)specificInclusion
- An array of length equal to or greater than the number of states of the specific DataType. Each state of the specific data type is represented by the corresponding element in this array. The result of this method will be to set the states that the ambiguous state cannot represent to false, and those states that the ambiguous state might represent to true.
-
getAmbiguity
public void getAmbiguity(int ambiguousState, double[] specificInclusion) A more accurate attempt to "resolve" the ambiguity in a state with regard to the specific data type.- Specified by:
getAmbiguity
in interfaceAmbiguousDataType
- Parameters:
ambiguousState
- the state of this data type (the ambiguous one!)specificInclusion
- An array of length equal to or greater than the number of states of the specific DataType. Each state of the specific data type is represented by the corresponding element in this array. The result of this method will be to set the states that the ambiguous state cannot represent to zero, and those states that the ambiguous state might represent to a value representing the frequency that the ambiguous state is actually that specific state. In general this should be one for each specific state covered by the ambiguous state (result should be suitable for use in likelihood calculations).
-