001    package org.biojava3.core.sequence.compound;
002    
003    
004    /**
005     *
006     * @author Andy Yates
007     */
008    public class AmbiguityDNACompoundSet extends DNACompoundSet {
009    
010      private static class InitaliseOnDemand {
011        public static final AmbiguityDNACompoundSet INSTANCE = new AmbiguityDNACompoundSet();
012      }
013    
014      public static AmbiguityDNACompoundSet getDNACompoundSet() {
015        return InitaliseOnDemand.INSTANCE;
016      }
017    
018      public AmbiguityDNACompoundSet() {
019        super();
020    
021        addNucleotideCompound("M", "K",
022            "A", "C");
023        addNucleotideCompound("R", "Y",
024            "A", "G");
025        addNucleotideCompound("W", "W",
026            "A", "T");
027        addNucleotideCompound("S", "S",
028            "C", "G");
029        addNucleotideCompound("Y", "R",
030            "C", "T");
031        addNucleotideCompound("K", "M",
032            "G", "T");
033        addNucleotideCompound("V", "B",
034            "A", "C", "G");
035        addNucleotideCompound("H", "D",
036            "A", "C", "T");
037        addNucleotideCompound("D", "H",
038            "A", "G", "T");
039        addNucleotideCompound("B", "V",
040            "C", "G", "T");
041        addNucleotideCompound("N", "N", "A", "C", "G", "T");
042    
043        calculateIndirectAmbiguities();
044      }
045    }