package beast.evolution.datatype; import beast.core.Description; import beast.evolution.datatype.DataType.Base; @Description("Nucleotide datatype for DNA sequences") public class Nucleotide extends Base { int[][] x = { {0}, // A {1}, // C {2}, // G {3}, // T {3}, // U {0, 2}, // R {1, 3}, // Y {0, 1}, // M {0, 3}, // W {1, 2}, // S {2, 3}, // K {1, 2, 3}, // B {0, 2, 3}, // D {0, 1, 3}, // H {0, 1, 2}, // V {0, 1, 2, 3}, // N {0, 1, 2, 3}, // X {0, 1, 2, 3}, // - {0, 1, 2, 3}, // ? }; public Nucleotide() { stateCount = 4; mapCodeToStateSet = x; codeLength = 1; codeMap = "ACGTURYMWSKBDHVNX" + GAP_CHAR + MISSING_CHAR; } @Override public String getTypeDescription() { return "nucleotide"; } }