001package com.hfg.bio.seq.translation;
002
003//------------------------------------------------------------------------------
004/**
005 Interface for mapping codons to amino acids.
006 <div>
007 @author J. Alex Taylor, hairyfatguy.com
008 </div>
009 */
010//------------------------------------------------------------------------------
011// com.hfg Library
012//
013// This library is free software; you can redistribute it and/or
014// modify it under the terms of the GNU Lesser General Public
015// License as published by the Free Software Foundation; either
016// version 2.1 of the License, or (at your option) any later version.
017//
018// This library is distributed in the hope that it will be useful,
019// but WITHOUT ANY WARRANTY; without even the implied warranty of
020// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
021// Lesser General Public License for more details.
022//
023// You should have received a copy of the GNU Lesser General Public
024// License along with this library; if not, write to the Free Software
025// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
026//
027// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
028// jataylor@hairyfatguy.com
029//------------------------------------------------------------------------------
030
031public interface TranslationTable
032{
033   //---------------------------------------------------------------------------
034   /**
035    Converts the specified codon (3 nucleotides) into a character representing
036    the corresponding amino acid.
037    @param inCodon 3-letter nucleotide (DNA or RNA) string to be translated
038    @return single letter amino acid
039    */
040   public char translateCodon(String inCodon);
041
042   //---------------------------------------------------------------------------
043   public default boolean isStopCodon(String inCodon)
044   {
045      return translateCodon(inCodon) == '*';
046   }
047}