001package com.hfg.bio.seq.alignment.blast;
002
003import com.hfg.bio.seq.BioSequenceType;
004
005//==============================================================================
006/**
007 BLAST search programs.
008 <div>
009 @author J. Alex Taylor, hairyfatguy.com
010 </div>
011 */
012//==============================================================================
013// com.hfg XML/HTML Coding Library
014//
015// This library is free software; you can redistribute it and/or
016// modify it under the terms of the GNU Lesser General Public
017// License as published by the Free Software Foundation; either
018// version 2.1 of the License, or (at your option) any later version.
019//
020// This library is distributed in the hope that it will be useful,
021// but WITHOUT ANY WARRANTY; without even the implied warranty of
022// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
023// Lesser General Public License for more details.
024//
025// You should have received a copy of the GNU Lesser General Public
026// License along with this library; if not, write to the Free Software
027// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
028//
029// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
030// jataylor@hairyfatguy.com
031//==============================================================================
032
033public enum BLAST_Program
034{
035   blastn(BioSequenceType.NUCLEIC_ACID,  BioSequenceType.NUCLEIC_ACID, "nucleotide query vs. nucleotide db"),
036   blastp(BioSequenceType.PROTEIN,       BioSequenceType.PROTEIN,      "protein query vs. protein db"),
037   blastx(BioSequenceType.NUCLEIC_ACID,  BioSequenceType.PROTEIN,      "nucleotide query (translated) vs. protein db"),
038   tblastn(BioSequenceType.PROTEIN,      BioSequenceType.NUCLEIC_ACID, "protein query vs. nucleotide db (translated)"),
039   tblastx(BioSequenceType.NUCLEIC_ACID, BioSequenceType.NUCLEIC_ACID, "nucleotide query (translated) vs. nucleotide db (translated)");
040
041   BioSequenceType mQueryBioSequenceType;
042   BioSequenceType mDBBioSequenceType;
043   String mDescription;
044
045   //###########################################################################
046   // CONSTRUCTORS
047   //###########################################################################
048
049   //---------------------------------------------------------------------------
050   private BLAST_Program(BioSequenceType inQueryBioSequenceType, BioSequenceType inDBBioSequenceType, String inDescription)
051   {
052      mQueryBioSequenceType = inQueryBioSequenceType;
053      mDBBioSequenceType    = inDBBioSequenceType;
054      mDescription = inDescription;
055   }
056
057   //###########################################################################
058   // PUBLIC METHODS
059   //###########################################################################
060
061   //---------------------------------------------------------------------------
062   public BioSequenceType getQueryBioSequenceType()
063   {
064      return mQueryBioSequenceType;
065   }
066
067   //---------------------------------------------------------------------------
068   public BioSequenceType getDatabaseBioSequenceType()
069   {
070      return mDBBioSequenceType;
071   }
072
073   //---------------------------------------------------------------------------
074   public String getDescription()
075   {
076      return mDescription;
077   }
078
079}