001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 */ 021package org.biojava.nbio.core.sequence.compound; 022 023 024/** 025 * 026 * @author Andy Yates 027 */ 028public class AmbiguityRNACompoundSet extends RNACompoundSet { 029 030 private static class InitaliseOnDemand { 031 public static final AmbiguityRNACompoundSet INSTANCE = new AmbiguityRNACompoundSet(); 032 } 033 034 public static AmbiguityRNACompoundSet getRNACompoundSet() { 035 return InitaliseOnDemand.INSTANCE; 036 } 037 038 public AmbiguityRNACompoundSet() { 039 040 addNucleotideCompound("A", "U"); 041 addNucleotideCompound("U", "A"); 042 addNucleotideCompound("G", "C"); 043 addNucleotideCompound("C", "G"); 044 045 addNucleotideCompound("M", "K", 046 "A", "C"); 047 addNucleotideCompound("R", "Y", 048 "A", "G"); 049 addNucleotideCompound("W", "W", 050 "A", "U"); 051 addNucleotideCompound("S", "S", 052 "C", "G"); 053 addNucleotideCompound("Y", "R", 054 "C", "U"); 055 addNucleotideCompound("K", "M", 056 "G", "U"); 057 addNucleotideCompound("V", "B", 058 "A", "C", "G"); 059 addNucleotideCompound("H", "D", 060 "A", "C", "U"); 061 addNucleotideCompound("D", "H", 062 "A", "G", "U"); 063 addNucleotideCompound("B", "V", 064 "C", "G", "U"); 065 addNucleotideCompound("N", "N", 066 "A", "C", "G", "U", "M", "R", "W", "S", "Y", "K", "V", "H", "D", "B"); 067 068 calculateIndirectAmbiguities(); 069 } 070 071}