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 */
021
022package org.biojava.bio.seq.io;
023
024/**
025 * <code>AlignIOConstants</code> contains constants used to identify
026 * sequence formats, alphabets etc, in the context of reading and
027 * writing alignments.
028 *
029 * <p>An <code>int</code> used to specify symbol alphabet and
030 * sequence format type is derived thus:</p>
031 *
032 * <ul>
033 *   <li>
034 *    The two least significant bytes are reserved for format types
035 *    such as MSF, CLUSTAL etc.
036 *   </li>
037 *
038 *   <li>
039 *    The two most significant bytes are reserved for alphabet and
040 *    symbol information such as AMBIGUOUS, DNA, RNA, AA etc.
041 *   </li>
042 *
043 *   <li>
044 *    Bitwise OR combinations of each component <code>int</code> are used
045 *    to specify combinations of format type and symbol information. To
046 *    derive an <code>int</code> identifier for DNA with ambiguity codes
047 *    in Fasta format, bitwise OR the AMBIGUOUS, DNA and FASTA values.
048 *   </li>
049 * </ul>
050 *
051 * @author Keith James
052 */
053public final class AlignIOConstants
054{
055    /**
056     * <code>UNKNOWN</code> indicates that the alignment format is
057     * unknown.
058     */
059    public static final int UNKNOWN = 100;
060
061    /**
062     * <code>RAW</code> indicates that the alignment format is raw
063     * (symbols only).
064     */
065    public static final int RAW = 101;
066
067    /**
068     * <code>FASTA</code> indicates that the alignment format is
069     * Fasta.
070     */
071    public static final int FASTA = 102;
072
073    /**
074     * <code>CLUSTAL</code> indicates that the alignment format is
075     * Clustal.
076     */
077    public static final int CLUSTAL = 103;
078
079    /**
080     * <code>MSF</code> indicates that the alignment format is MSF.
081     */
082    public static final int MSF = 104;
083
084    /**
085     * <code>RAW_DNA</code> premade RAW | DNA.
086     */
087    public static final int RAW_DNA = RAW | SeqIOConstants.DNA;
088
089    /**
090     * <code>RAW_RNA</code> premade RAW | RNA.
091     */
092    public static final int RAW_RNA = RAW | SeqIOConstants.RNA;
093
094    /**
095     * <code>RAW_AA</code> premade RAW | AA.
096     */
097    public static final int RAW_AA = RAW | SeqIOConstants.AA;
098
099    /**
100     * <code>FASTA_DNA</code> premade FASTA | DNA;
101     */
102    public static final int FASTA_DNA = FASTA | SeqIOConstants.DNA;
103
104    /**
105     * <code>FASTA_RNA</code> premade FASTA | RNA;
106     */
107    public static final int FASTA_RNA = FASTA | SeqIOConstants.RNA;
108
109    /**
110     * <code>FASTA_AA</code> premade FASTA | AA;
111     */
112    public static final int FASTA_AA = FASTA | SeqIOConstants.AA;
113
114    /**
115     * <code>CLUSTAL_DNA</code> premade CLUSTAL | DNA;
116     */
117    public static final int CLUSTAL_DNA = CLUSTAL | SeqIOConstants.DNA;
118
119    /**
120     * <code>CLUSTAL_RNA</code> premade CLUSTAL | RNA;
121     */
122    public static final int CLUSTAL_RNA = CLUSTAL | SeqIOConstants.RNA;
123
124    /**
125     * <code>CLUSTAL_AA</code> premade CLUSTAL | AA;
126     */
127    public static final int CLUSTAL_AA  = CLUSTAL | SeqIOConstants.AA;
128
129    /**
130     * <code>MSF_DNA</code> premade MSF | DNA;
131     */
132    public static final int MSF_DNA = MSF | SeqIOConstants.DNA;
133
134    /**
135     * <code>MSF_DNA</code> premade MSF | RNA;
136     */
137    public static final int MSF_RNA = MSF | SeqIOConstants.RNA;
138
139    /**
140     * <code>MSF_AA</code> premade MSF | AA;
141     */
142    public static final int MSF_AA = MSF | SeqIOConstants.AA;
143}