sequtil_tables.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:138k
- /*
- * ===========================================================================
- * PRODUCTION $Log: sequtil_tables.cpp,v $
- * PRODUCTION Revision 1000.1 2004/06/01 19:42:27 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.2
- * PRODUCTION
- * ===========================================================================
- */
- /* $Id: sequtil_tables.cpp,v 1000.1 2004/06/01 19:42:27 gouriano Exp $
- * ===========================================================================
- *
- * PUBLIC DOMAIN NOTICE
- * National Center for Biotechnology Information
- *
- * This software/database is a "United States Government Work" under the
- * terms of the United States Copyright Act. It was written as part of
- * the author's official duties as a United States Government employee and
- * thus cannot be copyrighted. This software/database is freely available
- * to the public for use. The National Library of Medicine and the U.S.
- * Government have not placed any restriction on its use or reproduction.
- *
- * Although all reasonable efforts have been taken to ensure the accuracy
- * and reliability of the software and data, the NLM and the U.S.
- * Government do not and cannot warrant the performance or results that
- * may be obtained by using this software or data. The NLM and the U.S.
- * Government disclaim all warranties, express or implied, including
- * warranties of performance, merchantability or fitness for any particular
- * purpose.
- *
- * Please cite the author in any work or product based on this material.
- *
- * ===========================================================================
- *
- * Author: Mati Shomrat
- *
- * File Description:
- * Shared utility functions for the various sequtil classes.
- */
- #include <ncbi_pch.hpp>
- #include "sequtil_tables.hpp"
- BEGIN_NCBI_SCOPE
- /////////////////////////////////////////////////////////////////////////////
- //
- // Conversion Tables
- // IUPACna to IUPACna
- const Uint1 CIupacnaToIupacna::scm_Table[256] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x41, 0x42, 0x43, 0x44, 0xff, 0xff, 0x47,
- 0x48, 0xff, 0xff, 0x4b, 0xff, 0x4d, 0x4e, 0xff,
- 0xff, 0xff, 0x52, 0x53, 0x54, 0x54, 0x56, 0x57,
- 0xff, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x41, 0x42, 0x43, 0x44, 0xff, 0xff, 0x47,
- 0x48, 0xff, 0xff, 0x4b, 0xff, 0x4d, 0x4e, 0xff,
- 0xff, 0xff, 0x52, 0x53, 0x54, 0x54, 0x56, 0x57,
- 0xff, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- };
- // IUPACna to NCBI2na
- // A -> 0x0 A
- // B -> 0x1 C
- // C -> 0x1 C
- // D -> 0x2 G
- // G -> 0x2 G
- // H -> 0x0 A
- // K -> 0x2 G
- // M -> 0x1 C
- // N -> 0x0 A
- // R -> 0x2 G
- // S -> 0x1 C
- // T -> 0x3 T
- // V -> 0x0 A
- // W -> 0x3 T
- // Y -> 0x3 T
- // U -> 0x3 T
- const Uint1 CIupacnaTo2na::scm_Table[1024] = {
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x10, 0x04, 0x01,
- 0x40, 0x10, 0x04, 0x01,
- 0x80, 0x20, 0x08, 0x02,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0xff, 0xff, 0xff, 0xff,
- 0x40, 0x10, 0x04, 0x01,
- 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0x40, 0x10, 0x04, 0x01,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xc0, 0x30, 0x0c, 0x03,
- 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xff, 0xff, 0xff, 0xff,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00,
- 0x40, 0x10, 0x04, 0x01,
- 0x40, 0x10, 0x04, 0x01,
- 0x80, 0x20, 0x08, 0x02,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0xff, 0xff, 0xff, 0xff,
- 0x40, 0x10, 0x04, 0x01,
- 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0x80, 0x20, 0x08, 0x02,
- 0x40, 0x10, 0x04, 0x01,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xc0, 0x30, 0x0c, 0x03,
- 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xff, 0xff, 0xff, 0xff,
- 0xc0, 0x30, 0x0c, 0x03,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff
- };
- // IUPACna to NCBI2na_expand
- const Uint1 CIupacnaTo2naExpand::scm_Table[256] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x0, 0x1, 0x1, 0x2, 0xff, 0xff, 0x2,
- 0x0, 0xff, 0xff, 0x2, 0xff, 0x1, 0x0, 0xff,
- 0xff, 0xff, 0x2, 0x1, 0x3, 0x3, 0x0, 0x3,
- 0xff, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x0, 0x1, 0x1, 0x2, 0xff, 0xff, 0x2,
- 0x0, 0xff, 0xff, 0x2, 0xff, 0x1, 0x0, 0xff,
- 0xff, 0xff, 0x2, 0x1, 0x3, 0x3, 0x0, 0x3,
- 0xff, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- };
- // IUPACna to NCBI4na
- const Uint1 CIupacnaTo4na::scm_Table[512] = {
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0x10,0x1, 0xe0,0xe, 0x20,0x2,
- 0xd0,0xd, 0xff,0xff, 0xff,0xff, 0x40,0x4,
- 0xb0,0xb, 0xff,0xff, 0xff,0xff, 0xc0,0xc,
- 0xff,0xff, 0x30,0x3, 0xf0,0xf, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0x50,0x5, 0x60,0x6,
- 0x80,0x8, 0x80,0x8, 0x70,0x7, 0x90,0x9,
- 0xff,0xff, 0xa0,0xa, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0x10,0x1, 0xe0,0xe, 0x20,0x2,
- 0xd0,0xd, 0xff,0xff, 0xff,0xff, 0x40,0x4,
- 0xb0,0xb, 0xff,0xff, 0xff,0xff, 0xc0,0xc,
- 0xff,0xff, 0x30,0x3, 0xf0,0xf, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0x50,0x5, 0x60,0x6,
- 0x80,0x8, 0x80,0x8, 0x70,0x7, 0x90,0x9,
- 0xff,0xff, 0xa0,0xa, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff,
- 0xff,0xff, 0xff,0xff, 0xff,0xff, 0xff,0xff
- };
- // IUPACna to NCBI8na
- const Uint1 CIupacnaTo8na::scm_Table[256] = {
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x1, 0xe, 0x2, 0xd, 0xff, 0xff, 0x4,
- 0xb, 0xff, 0xff, 0xc, 0xff, 0x3, 0xf, 0xff,
- 0xff, 0xff, 0x5, 0x6, 0x8, 0x8, 0x7, 0x9,
- 0xff, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x1, 0xe, 0x2, 0xd, 0xff, 0xff, 0x4,
- 0xb, 0xff, 0xff, 0xc, 0xff, 0x3, 0xf, 0xff,
- 0xff, 0xff, 0x5, 0x6, 0x8, 0x8, 0x7, 0x9,
- 0xff, 0xa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- };
- // NCBI2na to IUPACna
- const Uint1 C2naToIupacna::scm_Table[1024] = {
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,
- 0x41, 0x41, 0x41, 0x47, 0x41, 0x41, 0x41, 0x54,
- 0x41, 0x41, 0x43, 0x41, 0x41, 0x41, 0x43, 0x43,
- 0x41, 0x41, 0x43, 0x47, 0x41, 0x41, 0x43, 0x54,
- 0x41, 0x41, 0x47, 0x41, 0x41, 0x41, 0x47, 0x43,
- 0x41, 0x41, 0x47, 0x47, 0x41, 0x41, 0x47, 0x54,
- 0x41, 0x41, 0x54, 0x41, 0x41, 0x41, 0x54, 0x43,
- 0x41, 0x41, 0x54, 0x47, 0x41, 0x41, 0x54, 0x54,
- 0x41, 0x43, 0x41, 0x41, 0x41, 0x43, 0x41, 0x43,
- 0x41, 0x43, 0x41, 0x47, 0x41, 0x43, 0x41, 0x54,
- 0x41, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43,
- 0x41, 0x43, 0x43, 0x47, 0x41, 0x43, 0x43, 0x54,
- 0x41, 0x43, 0x47, 0x41, 0x41, 0x43, 0x47, 0x43,
- 0x41, 0x43, 0x47, 0x47, 0x41, 0x43, 0x47, 0x54,
- 0x41, 0x43, 0x54, 0x41, 0x41, 0x43, 0x54, 0x43,
- 0x41, 0x43, 0x54, 0x47, 0x41, 0x43, 0x54, 0x54,
- 0x41, 0x47, 0x41, 0x41, 0x41, 0x47, 0x41, 0x43,
- 0x41, 0x47, 0x41, 0x47, 0x41, 0x47, 0x41, 0x54,
- 0x41, 0x47, 0x43, 0x41, 0x41, 0x47, 0x43, 0x43,
- 0x41, 0x47, 0x43, 0x47, 0x41, 0x47, 0x43, 0x54,
- 0x41, 0x47, 0x47, 0x41, 0x41, 0x47, 0x47, 0x43,
- 0x41, 0x47, 0x47, 0x47, 0x41, 0x47, 0x47, 0x54,
- 0x41, 0x47, 0x54, 0x41, 0x41, 0x47, 0x54, 0x43,
- 0x41, 0x47, 0x54, 0x47, 0x41, 0x47, 0x54, 0x54,
- 0x41, 0x54, 0x41, 0x41, 0x41, 0x54, 0x41, 0x43,
- 0x41, 0x54, 0x41, 0x47, 0x41, 0x54, 0x41, 0x54,
- 0x41, 0x54, 0x43, 0x41, 0x41, 0x54, 0x43, 0x43,
- 0x41, 0x54, 0x43, 0x47, 0x41, 0x54, 0x43, 0x54,
- 0x41, 0x54, 0x47, 0x41, 0x41, 0x54, 0x47, 0x43,
- 0x41, 0x54, 0x47, 0x47, 0x41, 0x54, 0x47, 0x54,
- 0x41, 0x54, 0x54, 0x41, 0x41, 0x54, 0x54, 0x43,
- 0x41, 0x54, 0x54, 0x47, 0x41, 0x54, 0x54, 0x54,
- 0x43, 0x41, 0x41, 0x41, 0x43, 0x41, 0x41, 0x43,
- 0x43, 0x41, 0x41, 0x47, 0x43, 0x41, 0x41, 0x54,
- 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x43,
- 0x43, 0x41, 0x43, 0x47, 0x43, 0x41, 0x43, 0x54,
- 0x43, 0x41, 0x47, 0x41, 0x43, 0x41, 0x47, 0x43,
- 0x43, 0x41, 0x47, 0x47, 0x43, 0x41, 0x47, 0x54,
- 0x43, 0x41, 0x54, 0x41, 0x43, 0x41, 0x54, 0x43,
- 0x43, 0x41, 0x54, 0x47, 0x43, 0x41, 0x54, 0x54,
- 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x41, 0x43,
- 0x43, 0x43, 0x41, 0x47, 0x43, 0x43, 0x41, 0x54,
- 0x43, 0x43, 0x43, 0x41, 0x43, 0x43, 0x43, 0x43,
- 0x43, 0x43, 0x43, 0x47, 0x43, 0x43, 0x43, 0x54,
- 0x43, 0x43, 0x47, 0x41, 0x43, 0x43, 0x47, 0x43,
- 0x43, 0x43, 0x47, 0x47, 0x43, 0x43, 0x47, 0x54,
- 0x43, 0x43, 0x54, 0x41, 0x43, 0x43, 0x54, 0x43,
- 0x43, 0x43, 0x54, 0x47, 0x43, 0x43, 0x54, 0x54,
- 0x43, 0x47, 0x41, 0x41, 0x43, 0x47, 0x41, 0x43,
- 0x43, 0x47, 0x41, 0x47, 0x43, 0x47, 0x41, 0x54,
- 0x43, 0x47, 0x43, 0x41, 0x43, 0x47, 0x43, 0x43,
- 0x43, 0x47, 0x43, 0x47, 0x43, 0x47, 0x43, 0x54,
- 0x43, 0x47, 0x47, 0x41, 0x43, 0x47, 0x47, 0x43,
- 0x43, 0x47, 0x47, 0x47, 0x43, 0x47, 0x47, 0x54,
- 0x43, 0x47, 0x54, 0x41, 0x43, 0x47, 0x54, 0x43,
- 0x43, 0x47, 0x54, 0x47, 0x43, 0x47, 0x54, 0x54,
- 0x43, 0x54, 0x41, 0x41, 0x43, 0x54, 0x41, 0x43,
- 0x43, 0x54, 0x41, 0x47, 0x43, 0x54, 0x41, 0x54,
- 0x43, 0x54, 0x43, 0x41, 0x43, 0x54, 0x43, 0x43,
- 0x43, 0x54, 0x43, 0x47, 0x43, 0x54, 0x43, 0x54,
- 0x43, 0x54, 0x47, 0x41, 0x43, 0x54, 0x47, 0x43,
- 0x43, 0x54, 0x47, 0x47, 0x43, 0x54, 0x47, 0x54,
- 0x43, 0x54, 0x54, 0x41, 0x43, 0x54, 0x54, 0x43,
- 0x43, 0x54, 0x54, 0x47, 0x43, 0x54, 0x54, 0x54,
- 0x47, 0x41, 0x41, 0x41, 0x47, 0x41, 0x41, 0x43,
- 0x47, 0x41, 0x41, 0x47, 0x47, 0x41, 0x41, 0x54,
- 0x47, 0x41, 0x43, 0x41, 0x47, 0x41, 0x43, 0x43,
- 0x47, 0x41, 0x43, 0x47, 0x47, 0x41, 0x43, 0x54,
- 0x47, 0x41, 0x47, 0x41, 0x47, 0x41, 0x47, 0x43,
- 0x47, 0x41, 0x47, 0x47, 0x47, 0x41, 0x47, 0x54,
- 0x47, 0x41, 0x54, 0x41, 0x47, 0x41, 0x54, 0x43,
- 0x47, 0x41, 0x54, 0x47, 0x47, 0x41, 0x54, 0x54,
- 0x47, 0x43, 0x41, 0x41, 0x47, 0x43, 0x41, 0x43,
- 0x47, 0x43, 0x41, 0x47, 0x47, 0x43, 0x41, 0x54,
- 0x47, 0x43, 0x43, 0x41, 0x47, 0x43, 0x43, 0x43,
- 0x47, 0x43, 0x43, 0x47, 0x47, 0x43, 0x43, 0x54,
- 0x47, 0x43, 0x47, 0x41, 0x47, 0x43, 0x47, 0x43,
- 0x47, 0x43, 0x47, 0x47, 0x47, 0x43, 0x47, 0x54,
- 0x47, 0x43, 0x54, 0x41, 0x47, 0x43, 0x54, 0x43,
- 0x47, 0x43, 0x54, 0x47, 0x47, 0x43, 0x54, 0x54,
- 0x47, 0x47, 0x41, 0x41, 0x47, 0x47, 0x41, 0x43,
- 0x47, 0x47, 0x41, 0x47, 0x47, 0x47, 0x41, 0x54,
- 0x47, 0x47, 0x43, 0x41, 0x47, 0x47, 0x43, 0x43,
- 0x47, 0x47, 0x43, 0x47, 0x47, 0x47, 0x43, 0x54,
- 0x47, 0x47, 0x47, 0x41, 0x47, 0x47, 0x47, 0x43,
- 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x54,
- 0x47, 0x47, 0x54, 0x41, 0x47, 0x47, 0x54, 0x43,
- 0x47, 0x47, 0x54, 0x47, 0x47, 0x47, 0x54, 0x54,
- 0x47, 0x54, 0x41, 0x41, 0x47, 0x54, 0x41, 0x43,
- 0x47, 0x54, 0x41, 0x47, 0x47, 0x54, 0x41, 0x54,
- 0x47, 0x54, 0x43, 0x41, 0x47, 0x54, 0x43, 0x43,
- 0x47, 0x54, 0x43, 0x47, 0x47, 0x54, 0x43, 0x54,
- 0x47, 0x54, 0x47, 0x41, 0x47, 0x54, 0x47, 0x43,
- 0x47, 0x54, 0x47, 0x47, 0x47, 0x54, 0x47, 0x54,
- 0x47, 0x54, 0x54, 0x41, 0x47, 0x54, 0x54, 0x43,
- 0x47, 0x54, 0x54, 0x47, 0x47, 0x54, 0x54, 0x54,
- 0x54, 0x41, 0x41, 0x41, 0x54, 0x41, 0x41, 0x43,
- 0x54, 0x41, 0x41, 0x47, 0x54, 0x41, 0x41, 0x54,
- 0x54, 0x41, 0x43, 0x41, 0x54, 0x41, 0x43, 0x43,
- 0x54, 0x41, 0x43, 0x47, 0x54, 0x41, 0x43, 0x54,
- 0x54, 0x41, 0x47, 0x41, 0x54, 0x41, 0x47, 0x43,
- 0x54, 0x41, 0x47, 0x47, 0x54, 0x41, 0x47, 0x54,
- 0x54, 0x41, 0x54, 0x41, 0x54, 0x41, 0x54, 0x43,
- 0x54, 0x41, 0x54, 0x47, 0x54, 0x41, 0x54, 0x54,
- 0x54, 0x43, 0x41, 0x41, 0x54, 0x43, 0x41, 0x43,
- 0x54, 0x43, 0x41, 0x47, 0x54, 0x43, 0x41, 0x54,
- 0x54, 0x43, 0x43, 0x41, 0x54, 0x43, 0x43, 0x43,
- 0x54, 0x43, 0x43, 0x47, 0x54, 0x43, 0x43, 0x54,
- 0x54, 0x43, 0x47, 0x41, 0x54, 0x43, 0x47, 0x43,
- 0x54, 0x43, 0x47, 0x47, 0x54, 0x43, 0x47, 0x54,
- 0x54, 0x43, 0x54, 0x41, 0x54, 0x43, 0x54, 0x43,
- 0x54, 0x43, 0x54, 0x47, 0x54, 0x43, 0x54, 0x54,
- 0x54, 0x47, 0x41, 0x41, 0x54, 0x47, 0x41, 0x43,
- 0x54, 0x47, 0x41, 0x47, 0x54, 0x47, 0x41, 0x54,
- 0x54, 0x47, 0x43, 0x41, 0x54, 0x47, 0x43, 0x43,
- 0x54, 0x47, 0x43, 0x47, 0x54, 0x47, 0x43, 0x54,
- 0x54, 0x47, 0x47, 0x41, 0x54, 0x47, 0x47, 0x43,
- 0x54, 0x47, 0x47, 0x47, 0x54, 0x47, 0x47, 0x54,
- 0x54, 0x47, 0x54, 0x41, 0x54, 0x47, 0x54, 0x43,
- 0x54, 0x47, 0x54, 0x47, 0x54, 0x47, 0x54, 0x54,
- 0x54, 0x54, 0x41, 0x41, 0x54, 0x54, 0x41, 0x43,
- 0x54, 0x54, 0x41, 0x47, 0x54, 0x54, 0x41, 0x54,
- 0x54, 0x54, 0x43, 0x41, 0x54, 0x54, 0x43, 0x43,
- 0x54, 0x54, 0x43, 0x47, 0x54, 0x54, 0x43, 0x54,
- 0x54, 0x54, 0x47, 0x41, 0x54, 0x54, 0x47, 0x43,
- 0x54, 0x54, 0x47, 0x47, 0x54, 0x54, 0x47, 0x54,
- 0x54, 0x54, 0x54, 0x41, 0x54, 0x54, 0x54, 0x43,
- 0x54, 0x54, 0x54, 0x47, 0x54, 0x54, 0x54, 0x54
- };
- // NCBI2na to NCBI2na_expand
- //
- //for ( bases[0] = 0; bases[0] < 4; ++bases[0] ) {
- // for ( bases[1] = 0; bases[1] < 4; ++bases[1] ) {
- // for ( bases[2] = 0; bases[2] < 4; ++bases[2] ) {
- // for ( bases[3] = 0; bases[3] < 4; ++bases[3] ) {
- // Uint1 index = (bases[0] << 6) | (bases[1] << 4) |
- // (bases[2] << 2) | bases[3];
- // for ( int i = 0; i < 4; ++i ) {
- // s_Table[index*4 + i] = bases[i];
- // }
- // }
- // }
- // }
- // }
- //
- const Uint1 C2naTo2naExpand::scm_Table[1024] = {
- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
- 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x3,
- 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1,
- 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x3,
- 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x1,
- 0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x2, 0x3,
- 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x1,
- 0x0, 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x3,
- 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1,
- 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x3,
- 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1,
- 0x0, 0x1, 0x1, 0x2, 0x0, 0x1, 0x1, 0x3,
- 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x2, 0x1,
- 0x0, 0x1, 0x2, 0x2, 0x0, 0x1, 0x2, 0x3,
- 0x0, 0x1, 0x3, 0x0, 0x0, 0x1, 0x3, 0x1,
- 0x0, 0x1, 0x3, 0x2, 0x0, 0x1, 0x3, 0x3,
- 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1,
- 0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x3,
- 0x0, 0x2, 0x1, 0x0, 0x0, 0x2, 0x1, 0x1,
- 0x0, 0x2, 0x1, 0x2, 0x0, 0x2, 0x1, 0x3,
- 0x0, 0x2, 0x2, 0x0, 0x0, 0x2, 0x2, 0x1,
- 0x0, 0x2, 0x2, 0x2, 0x0, 0x2, 0x2, 0x3,
- 0x0, 0x2, 0x3, 0x0, 0x0, 0x2, 0x3, 0x1,
- 0x0, 0x2, 0x3, 0x2, 0x0, 0x2, 0x3, 0x3,
- 0x0, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1,
- 0x0, 0x3, 0x0, 0x2, 0x0, 0x3, 0x0, 0x3,
- 0x0, 0x3, 0x1, 0x0, 0x0, 0x3, 0x1, 0x1,
- 0x0, 0x3, 0x1, 0x2, 0x0, 0x3, 0x1, 0x3,
- 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x2, 0x1,
- 0x0, 0x3, 0x2, 0x2, 0x0, 0x3, 0x2, 0x3,
- 0x0, 0x3, 0x3, 0x0, 0x0, 0x3, 0x3, 0x1,
- 0x0, 0x3, 0x3, 0x2, 0x0, 0x3, 0x3, 0x3,
- 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1,
- 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x0, 0x3,
- 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1,
- 0x1, 0x0, 0x1, 0x2, 0x1, 0x0, 0x1, 0x3,
- 0x1, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x1,
- 0x1, 0x0, 0x2, 0x2, 0x1, 0x0, 0x2, 0x3,
- 0x1, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x1,
- 0x1, 0x0, 0x3, 0x2, 0x1, 0x0, 0x3, 0x3,
- 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1,
- 0x1, 0x1, 0x0, 0x2, 0x1, 0x1, 0x0, 0x3,
- 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1,
- 0x1, 0x1, 0x1, 0x2, 0x1, 0x1, 0x1, 0x3,
- 0x1, 0x1, 0x2, 0x0, 0x1, 0x1, 0x2, 0x1,
- 0x1, 0x1, 0x2, 0x2, 0x1, 0x1, 0x2, 0x3,
- 0x1, 0x1, 0x3, 0x0, 0x1, 0x1, 0x3, 0x1,
- 0x1, 0x1, 0x3, 0x2, 0x1, 0x1, 0x3, 0x3,
- 0x1, 0x2, 0x0, 0x0, 0x1, 0x2, 0x0, 0x1,
- 0x1, 0x2, 0x0, 0x2, 0x1, 0x2, 0x0, 0x3,
- 0x1, 0x2, 0x1, 0x0, 0x1, 0x2, 0x1, 0x1,
- 0x1, 0x2, 0x1, 0x2, 0x1, 0x2, 0x1, 0x3,
- 0x1, 0x2, 0x2, 0x0, 0x1, 0x2, 0x2, 0x1,
- 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x2, 0x3,
- 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x3, 0x1,
- 0x1, 0x2, 0x3, 0x2, 0x1, 0x2, 0x3, 0x3,
- 0x1, 0x3, 0x0, 0x0, 0x1, 0x3, 0x0, 0x1,
- 0x1, 0x3, 0x0, 0x2, 0x1, 0x3, 0x0, 0x3,
- 0x1, 0x3, 0x1, 0x0, 0x1, 0x3, 0x1, 0x1,
- 0x1, 0x3, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3,
- 0x1, 0x3, 0x2, 0x0, 0x1, 0x3, 0x2, 0x1,
- 0x1, 0x3, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3,
- 0x1, 0x3, 0x3, 0x0, 0x1, 0x3, 0x3, 0x1,
- 0x1, 0x3, 0x3, 0x2, 0x1, 0x3, 0x3, 0x3,
- 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x1,
- 0x2, 0x0, 0x0, 0x2, 0x2, 0x0, 0x0, 0x3,
- 0x2, 0x0, 0x1, 0x0, 0x2, 0x0, 0x1, 0x1,
- 0x2, 0x0, 0x1, 0x2, 0x2, 0x0, 0x1, 0x3,
- 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x1,
- 0x2, 0x0, 0x2, 0x2, 0x2, 0x0, 0x2, 0x3,
- 0x2, 0x0, 0x3, 0x0, 0x2, 0x0, 0x3, 0x1,
- 0x2, 0x0, 0x3, 0x2, 0x2, 0x0, 0x3, 0x3,
- 0x2, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1,
- 0x2, 0x1, 0x0, 0x2, 0x2, 0x1, 0x0, 0x3,
- 0x2, 0x1, 0x1, 0x0, 0x2, 0x1, 0x1, 0x1,
- 0x2, 0x1, 0x1, 0x2, 0x2, 0x1, 0x1, 0x3,
- 0x2, 0x1, 0x2, 0x0, 0x2, 0x1, 0x2, 0x1,
- 0x2, 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3,
- 0x2, 0x1, 0x3, 0x0, 0x2, 0x1, 0x3, 0x1,
- 0x2, 0x1, 0x3, 0x2, 0x2, 0x1, 0x3, 0x3,
- 0x2, 0x2, 0x0, 0x0, 0x2, 0x2, 0x0, 0x1,
- 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, 0x0, 0x3,
- 0x2, 0x2, 0x1, 0x0, 0x2, 0x2, 0x1, 0x1,
- 0x2, 0x2, 0x1, 0x2, 0x2, 0x2, 0x1, 0x3,
- 0x2, 0x2, 0x2, 0x0, 0x2, 0x2, 0x2, 0x1,
- 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3,
- 0x2, 0x2, 0x3, 0x0, 0x2, 0x2, 0x3, 0x1,
- 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x3, 0x3,
- 0x2, 0x3, 0x0, 0x0, 0x2, 0x3, 0x0, 0x1,
- 0x2, 0x3, 0x0, 0x2, 0x2, 0x3, 0x0, 0x3,
- 0x2, 0x3, 0x1, 0x0, 0x2, 0x3, 0x1, 0x1,
- 0x2, 0x3, 0x1, 0x2, 0x2, 0x3, 0x1, 0x3,
- 0x2, 0x3, 0x2, 0x0, 0x2, 0x3, 0x2, 0x1,
- 0x2, 0x3, 0x2, 0x2, 0x2, 0x3, 0x2, 0x3,
- 0x2, 0x3, 0x3, 0x0, 0x2, 0x3, 0x3, 0x1,
- 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3, 0x3,
- 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1,
- 0x3, 0x0, 0x0, 0x2, 0x3, 0x0, 0x0, 0x3,
- 0x3, 0x0, 0x1, 0x0, 0x3, 0x0, 0x1, 0x1,
- 0x3, 0x0, 0x1, 0x2, 0x3, 0x0, 0x1, 0x3,
- 0x3, 0x0, 0x2, 0x0, 0x3, 0x0, 0x2, 0x1,
- 0x3, 0x0, 0x2, 0x2, 0x3, 0x0, 0x2, 0x3,
- 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x1,
- 0x3, 0x0, 0x3, 0x2, 0x3, 0x0, 0x3, 0x3,
- 0x3, 0x1, 0x0, 0x0, 0x3, 0x1, 0x0, 0x1,
- 0x3, 0x1, 0x0, 0x2, 0x3, 0x1, 0x0, 0x3,
- 0x3, 0x1, 0x1, 0x0, 0x3, 0x1, 0x1, 0x1,
- 0x3, 0x1, 0x1, 0x2, 0x3, 0x1, 0x1, 0x3,
- 0x3, 0x1, 0x2, 0x0, 0x3, 0x1, 0x2, 0x1,
- 0x3, 0x1, 0x2, 0x2, 0x3, 0x1, 0x2, 0x3,
- 0x3, 0x1, 0x3, 0x0, 0x3, 0x1, 0x3, 0x1,
- 0x3, 0x1, 0x3, 0x2, 0x3, 0x1, 0x3, 0x3,
- 0x3, 0x2, 0x0, 0x0, 0x3, 0x2, 0x0, 0x1,
- 0x3, 0x2, 0x0, 0x2, 0x3, 0x2, 0x0, 0x3,
- 0x3, 0x2, 0x1, 0x0, 0x3, 0x2, 0x1, 0x1,
- 0x3, 0x2, 0x1, 0x2, 0x3, 0x2, 0x1, 0x3,
- 0x3, 0x2, 0x2, 0x0, 0x3, 0x2, 0x2, 0x1,
- 0x3, 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x3,
- 0x3, 0x2, 0x3, 0x0, 0x3, 0x2, 0x3, 0x1,
- 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3,
- 0x3, 0x3, 0x0, 0x0, 0x3, 0x3, 0x0, 0x1,
- 0x3, 0x3, 0x0, 0x2, 0x3, 0x3, 0x0, 0x3,
- 0x3, 0x3, 0x1, 0x0, 0x3, 0x3, 0x1, 0x1,
- 0x3, 0x3, 0x1, 0x2, 0x3, 0x3, 0x1, 0x3,
- 0x3, 0x3, 0x2, 0x0, 0x3, 0x3, 0x2, 0x1,
- 0x3, 0x3, 0x2, 0x2, 0x3, 0x3, 0x2, 0x3,
- 0x3, 0x3, 0x3, 0x0, 0x3, 0x3, 0x3, 0x1,
- 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3
- };
- // NCBI2na to NCBI4na
- /*
- static Uint1 convert[4] = { 0x1, 0x2, 0x4, 0x8 };
- for ( base[0] = 0; base[0] < 4; ++base[0] ) {
- for ( base[1] = 0; base[1] < 4; ++base[1] ) {
- for ( base[2] = 0; base[2] < 4; ++base[2] ) {
- for ( base[3] = 0; base[3] < 4; ++base[3] ) {
- Uint1 index = (base[0] << 6) | (base[1] << 4) |
- (base[2] << 2) | base[3];
- scm_Table0[index * 2] =
- (convert[base[0]] << 4) | convert[base[1]];
- scm_Table0[index * 2 + 1] =
- (convert[base[2]] << 4) | convert[base[3]];
- }
- }
- }
- }
- */
- const Uint1 C2naTo4na::scm_Table0[512] = {
- 0x11, 0x11, 0x11, 0x12, 0x11, 0x14, 0x11, 0x18,
- 0x11, 0x21, 0x11, 0x22, 0x11, 0x24, 0x11, 0x28,
- 0x11, 0x41, 0x11, 0x42, 0x11, 0x44, 0x11, 0x48,
- 0x11, 0x81, 0x11, 0x82, 0x11, 0x84, 0x11, 0x88,
- 0x12, 0x11, 0x12, 0x12, 0x12, 0x14, 0x12, 0x18,
- 0x12, 0x21, 0x12, 0x22, 0x12, 0x24, 0x12, 0x28,
- 0x12, 0x41, 0x12, 0x42, 0x12, 0x44, 0x12, 0x48,
- 0x12, 0x81, 0x12, 0x82, 0x12, 0x84, 0x12, 0x88,
- 0x14, 0x11, 0x14, 0x12, 0x14, 0x14, 0x14, 0x18,
- 0x14, 0x21, 0x14, 0x22, 0x14, 0x24, 0x14, 0x28,
- 0x14, 0x41, 0x14, 0x42, 0x14, 0x44, 0x14, 0x48,
- 0x14, 0x81, 0x14, 0x82, 0x14, 0x84, 0x14, 0x88,
- 0x18, 0x11, 0x18, 0x12, 0x18, 0x14, 0x18, 0x18,
- 0x18, 0x21, 0x18, 0x22, 0x18, 0x24, 0x18, 0x28,
- 0x18, 0x41, 0x18, 0x42, 0x18, 0x44, 0x18, 0x48,
- 0x18, 0x81, 0x18, 0x82, 0x18, 0x84, 0x18, 0x88,
- 0x21, 0x11, 0x21, 0x12, 0x21, 0x14, 0x21, 0x18,
- 0x21, 0x21, 0x21, 0x22, 0x21, 0x24, 0x21, 0x28,
- 0x21, 0x41, 0x21, 0x42, 0x21, 0x44, 0x21, 0x48,
- 0x21, 0x81, 0x21, 0x82, 0x21, 0x84, 0x21, 0x88,
- 0x22, 0x11, 0x22, 0x12, 0x22, 0x14, 0x22, 0x18,
- 0x22, 0x21, 0x22, 0x22, 0x22, 0x24, 0x22, 0x28,
- 0x22, 0x41, 0x22, 0x42, 0x22, 0x44, 0x22, 0x48,
- 0x22, 0x81, 0x22, 0x82, 0x22, 0x84, 0x22, 0x88,
- 0x24, 0x11, 0x24, 0x12, 0x24, 0x14, 0x24, 0x18,
- 0x24, 0x21, 0x24, 0x22, 0x24, 0x24, 0x24, 0x28,
- 0x24, 0x41, 0x24, 0x42, 0x24, 0x44, 0x24, 0x48,
- 0x24, 0x81, 0x24, 0x82, 0x24, 0x84, 0x24, 0x88,
- 0x28, 0x11, 0x28, 0x12, 0x28, 0x14, 0x28, 0x18,
- 0x28, 0x21, 0x28, 0x22, 0x28, 0x24, 0x28, 0x28,
- 0x28, 0x41, 0x28, 0x42, 0x28, 0x44, 0x28, 0x48,
- 0x28, 0x81, 0x28, 0x82, 0x28, 0x84, 0x28, 0x88,
- 0x41, 0x11, 0x41, 0x12, 0x41, 0x14, 0x41, 0x18,
- 0x41, 0x21, 0x41, 0x22, 0x41, 0x24, 0x41, 0x28,
- 0x41, 0x41, 0x41, 0x42, 0x41, 0x44, 0x41, 0x48,
- 0x41, 0x81, 0x41, 0x82, 0x41, 0x84, 0x41, 0x88,
- 0x42, 0x11, 0x42, 0x12, 0x42, 0x14, 0x42, 0x18,
- 0x42, 0x21, 0x42, 0x22, 0x42, 0x24, 0x42, 0x28,
- 0x42, 0x41, 0x42, 0x42, 0x42, 0x44, 0x42, 0x48,
- 0x42, 0x81, 0x42, 0x82, 0x42, 0x84, 0x42, 0x88,
- 0x44, 0x11, 0x44, 0x12, 0x44, 0x14, 0x44, 0x18,
- 0x44, 0x21, 0x44, 0x22, 0x44, 0x24, 0x44, 0x28,
- 0x44, 0x41, 0x44, 0x42, 0x44, 0x44, 0x44, 0x48,
- 0x44, 0x81, 0x44, 0x82, 0x44, 0x84, 0x44, 0x88,
- 0x48, 0x11, 0x48, 0x12, 0x48, 0x14, 0x48, 0x18,
- 0x48, 0x21, 0x48, 0x22, 0x48, 0x24, 0x48, 0x28,
- 0x48, 0x41, 0x48, 0x42, 0x48, 0x44, 0x48, 0x48,
- 0x48, 0x81, 0x48, 0x82, 0x48, 0x84, 0x48, 0x88,
- 0x81, 0x11, 0x81, 0x12, 0x81, 0x14, 0x81, 0x18,
- 0x81, 0x21, 0x81, 0x22, 0x81, 0x24, 0x81, 0x28,
- 0x81, 0x41, 0x81, 0x42, 0x81, 0x44, 0x81, 0x48,
- 0x81, 0x81, 0x81, 0x82, 0x81, 0x84, 0x81, 0x88,
- 0x82, 0x11, 0x82, 0x12, 0x82, 0x14, 0x82, 0x18,
- 0x82, 0x21, 0x82, 0x22, 0x82, 0x24, 0x82, 0x28,
- 0x82, 0x41, 0x82, 0x42, 0x82, 0x44, 0x82, 0x48,
- 0x82, 0x81, 0x82, 0x82, 0x82, 0x84, 0x82, 0x88,
- 0x84, 0x11, 0x84, 0x12, 0x84, 0x14, 0x84, 0x18,
- 0x84, 0x21, 0x84, 0x22, 0x84, 0x24, 0x84, 0x28,
- 0x84, 0x41, 0x84, 0x42, 0x84, 0x44, 0x84, 0x48,
- 0x84, 0x81, 0x84, 0x82, 0x84, 0x84, 0x84, 0x88,
- 0x88, 0x11, 0x88, 0x12, 0x88, 0x14, 0x88, 0x18,
- 0x88, 0x21, 0x88, 0x22, 0x88, 0x24, 0x88, 0x28,
- 0x88, 0x41, 0x88, 0x42, 0x88, 0x44, 0x88, 0x48,
- 0x88, 0x81, 0x88, 0x82, 0x88, 0x84, 0x88, 0x88
- };
- /*
- static Uint1 convert[4] = { 0x1, 0x2, 0x4, 0x8 };
- for ( base[0] = 0; base[0] < 4; ++base[0] ) {
- for ( base[1] = 0; base[1] < 4; ++base[1] ) {
- for ( base[2] = 0; base[2] < 4; ++base[2] ) {
- for ( base[3] = 0; base[3] < 4; ++base[3] ) {
- Uint1 index = (base[0] << 6) | (base[1] << 4) |
- (base[2] << 2) | base[3];
- sm_TableOffset1[index * 3] =
- 0x0F & convert[base[0]];
- sm_TableOffset1[index * 3 + 1] =
- (convert[base[1]] << 4) | convert[base[2]];
- sm_TableOffset1[index * 3 + 2] =
- (convert[base[3]] << 4) & 0xF0;
- }
- }
- }
- }
- */
- const Uint1 C2naTo4na::scm_Table1[768] = {
- 0x1, 0x11, 0x10, 0x1, 0x11, 0x20, 0x1, 0x11, 0x40, 0x1, 0x11, 0x80,
- 0x1, 0x12, 0x10, 0x1, 0x12, 0x20, 0x1, 0x12, 0x40, 0x1, 0x12, 0x80,
- 0x1, 0x14, 0x10, 0x1, 0x14, 0x20, 0x1, 0x14, 0x40, 0x1, 0x14, 0x80,
- 0x1, 0x18, 0x10, 0x1, 0x18, 0x20, 0x1, 0x18, 0x40, 0x1, 0x18, 0x80,
- 0x1, 0x21, 0x10, 0x1, 0x21, 0x20, 0x1, 0x21, 0x40, 0x1, 0x21, 0x80,
- 0x1, 0x22, 0x10, 0x1, 0x22, 0x20, 0x1, 0x22, 0x40, 0x1, 0x22, 0x80,
- 0x1, 0x24, 0x10, 0x1, 0x24, 0x20, 0x1, 0x24, 0x40, 0x1, 0x24, 0x80,
- 0x1, 0x28, 0x10, 0x1, 0x28, 0x20, 0x1, 0x28, 0x40, 0x1, 0x28, 0x80,
- 0x1, 0x41, 0x10, 0x1, 0x41, 0x20, 0x1, 0x41, 0x40, 0x1, 0x41, 0x80,
- 0x1, 0x42, 0x10, 0x1, 0x42, 0x20, 0x1, 0x42, 0x40, 0x1, 0x42, 0x80,
- 0x1, 0x44, 0x10, 0x1, 0x44, 0x20, 0x1, 0x44, 0x40, 0x1, 0x44, 0x80,
- 0x1, 0x48, 0x10, 0x1, 0x48, 0x20, 0x1, 0x48, 0x40, 0x1, 0x48, 0x80,
- 0x1, 0x81, 0x10, 0x1, 0x81, 0x20, 0x1, 0x81, 0x40, 0x1, 0x81, 0x80,
- 0x1, 0x82, 0x10, 0x1, 0x82, 0x20, 0x1, 0x82, 0x40, 0x1, 0x82, 0x80,
- 0x1, 0x84, 0x10, 0x1, 0x84, 0x20, 0x1, 0x84, 0x40, 0x1, 0x84, 0x80,
- 0x1, 0x88, 0x10, 0x1, 0x88, 0x20, 0x1, 0x88, 0x40, 0x1, 0x88, 0x80,
- 0x2, 0x11, 0x10, 0x2, 0x11, 0x20, 0x2, 0x11, 0x40, 0x2, 0x11, 0x80,
- 0x2, 0x12, 0x10, 0x2, 0x12, 0x20, 0x2, 0x12, 0x40, 0x2, 0x12, 0x80,
- 0x2, 0x14, 0x10, 0x2, 0x14, 0x20, 0x2, 0x14, 0x40, 0x2, 0x14, 0x80,
- 0x2, 0x18, 0x10, 0x2, 0x18, 0x20, 0x2, 0x18, 0x40, 0x2, 0x18, 0x80,
- 0x2, 0x21, 0x10, 0x2, 0x21, 0x20, 0x2, 0x21, 0x40, 0x2, 0x21, 0x80,
- 0x2, 0x22, 0x10, 0x2, 0x22, 0x20, 0x2, 0x22, 0x40, 0x2, 0x22, 0x80,
- 0x2, 0x24, 0x10, 0x2, 0x24, 0x20, 0x2, 0x24, 0x40, 0x2, 0x24, 0x80,
- 0x2, 0x28, 0x10, 0x2, 0x28, 0x20, 0x2, 0x28, 0x40, 0x2, 0x28, 0x80,
- 0x2, 0x41, 0x10, 0x2, 0x41, 0x20, 0x2, 0x41, 0x40, 0x2, 0x41, 0x80,
- 0x2, 0x42, 0x10, 0x2, 0x42, 0x20, 0x2, 0x42, 0x40, 0x2, 0x42, 0x80,
- 0x2, 0x44, 0x10, 0x2, 0x44, 0x20, 0x2, 0x44, 0x40, 0x2, 0x44, 0x80,
- 0x2, 0x48, 0x10, 0x2, 0x48, 0x20, 0x2, 0x48, 0x40, 0x2, 0x48, 0x80,
- 0x2, 0x81, 0x10, 0x2, 0x81, 0x20, 0x2, 0x81, 0x40, 0x2, 0x81, 0x80,
- 0x2, 0x82, 0x10, 0x2, 0x82, 0x20, 0x2, 0x82, 0x40, 0x2, 0x82, 0x80,
- 0x2, 0x84, 0x10, 0x2, 0x84, 0x20, 0x2, 0x84, 0x40, 0x2, 0x84, 0x80,
- 0x2, 0x88, 0x10, 0x2, 0x88, 0x20, 0x2, 0x88, 0x40, 0x2, 0x88, 0x80,
- 0x4, 0x11, 0x10, 0x4, 0x11, 0x20, 0x4, 0x11, 0x40, 0x4, 0x11, 0x80,
- 0x4, 0x12, 0x10, 0x4, 0x12, 0x20, 0x4, 0x12, 0x40, 0x4, 0x12, 0x80,
- 0x4, 0x14, 0x10, 0x4, 0x14, 0x20, 0x4, 0x14, 0x40, 0x4, 0x14, 0x80,
- 0x4, 0x18, 0x10, 0x4, 0x18, 0x20, 0x4, 0x18, 0x40, 0x4, 0x18, 0x80,
- 0x4, 0x21, 0x10, 0x4, 0x21, 0x20, 0x4, 0x21, 0x40, 0x4, 0x21, 0x80,
- 0x4, 0x22, 0x10, 0x4, 0x22, 0x20, 0x4, 0x22, 0x40, 0x4, 0x22, 0x80,
- 0x4, 0x24, 0x10, 0x4, 0x24, 0x20, 0x4, 0x24, 0x40, 0x4, 0x24, 0x80,
- 0x4, 0x28, 0x10, 0x4, 0x28, 0x20, 0x4, 0x28, 0x40, 0x4, 0x28, 0x80,
- 0x4, 0x41, 0x10, 0x4, 0x41, 0x20, 0x4, 0x41, 0x40, 0x4, 0x41, 0x80,
- 0x4, 0x42, 0x10, 0x4, 0x42, 0x20, 0x4, 0x42, 0x40, 0x4, 0x42, 0x80,
- 0x4, 0x44, 0x10, 0x4, 0x44, 0x20, 0x4, 0x44, 0x40, 0x4, 0x44, 0x80,
- 0x4, 0x48, 0x10, 0x4, 0x48, 0x20, 0x4, 0x48, 0x40, 0x4, 0x48, 0x80,
- 0x4, 0x81, 0x10, 0x4, 0x81, 0x20, 0x4, 0x81, 0x40, 0x4, 0x81, 0x80,
- 0x4, 0x82, 0x10, 0x4, 0x82, 0x20, 0x4, 0x82, 0x40, 0x4, 0x82, 0x80,
- 0x4, 0x84, 0x10, 0x4, 0x84, 0x20, 0x4, 0x84, 0x40, 0x4, 0x84, 0x80,
- 0x4, 0x88, 0x10, 0x4, 0x88, 0x20, 0x4, 0x88, 0x40, 0x4, 0x88, 0x80,
- 0x8, 0x11, 0x10, 0x8, 0x11, 0x20, 0x8, 0x11, 0x40, 0x8, 0x11, 0x80,
- 0x8, 0x12, 0x10, 0x8, 0x12, 0x20, 0x8, 0x12, 0x40, 0x8, 0x12, 0x80,
- 0x8, 0x14, 0x10, 0x8, 0x14, 0x20, 0x8, 0x14, 0x40, 0x8, 0x14, 0x80,
- 0x8, 0x18, 0x10, 0x8, 0x18, 0x20, 0x8, 0x18, 0x40, 0x8, 0x18, 0x80,
- 0x8, 0x21, 0x10, 0x8, 0x21, 0x20, 0x8, 0x21, 0x40, 0x8, 0x21, 0x80,
- 0x8, 0x22, 0x10, 0x8, 0x22, 0x20, 0x8, 0x22, 0x40, 0x8, 0x22, 0x80,
- 0x8, 0x24, 0x10, 0x8, 0x24, 0x20, 0x8, 0x24, 0x40, 0x8, 0x24, 0x80,
- 0x8, 0x28, 0x10, 0x8, 0x28, 0x20, 0x8, 0x28, 0x40, 0x8, 0x28, 0x80,
- 0x8, 0x41, 0x10, 0x8, 0x41, 0x20, 0x8, 0x41, 0x40, 0x8, 0x41, 0x80,
- 0x8, 0x42, 0x10, 0x8, 0x42, 0x20, 0x8, 0x42, 0x40, 0x8, 0x42, 0x80,
- 0x8, 0x44, 0x10, 0x8, 0x44, 0x20, 0x8, 0x44, 0x40, 0x8, 0x44, 0x80,
- 0x8, 0x48, 0x10, 0x8, 0x48, 0x20, 0x8, 0x48, 0x40, 0x8, 0x48, 0x80,
- 0x8, 0x81, 0x10, 0x8, 0x81, 0x20, 0x8, 0x81, 0x40, 0x8, 0x81, 0x80,
- 0x8, 0x82, 0x10, 0x8, 0x82, 0x20, 0x8, 0x82, 0x40, 0x8, 0x82, 0x80,
- 0x8, 0x84, 0x10, 0x8, 0x84, 0x20, 0x8, 0x84, 0x40, 0x8, 0x84, 0x80,
- 0x8, 0x88, 0x10, 0x8, 0x88, 0x20, 0x8, 0x88, 0x40, 0x8, 0x88, 0x80
- };
- // NCBI2na to NCBI8na (NCBI4na_expand)
- /*
- static Uint1 convert[] = { 0x01, 0x02, 0x04, 0x08 };
- Uint1 base[4];
- for ( base[0] = 0; base[0] < 4; ++(base[0]) ) {
- for ( base[1] = 0; base[1] < 4; ++(base[1]) ) {
- for ( base[2] = 0; base[2] < 4; ++(base[2]) ) {
- for ( base[3] = 0; base[3] < 4; ++(base[3]) ) {
- Uint1 index =
- (base[0] << 6) | (base[1] << 4) | (base[2] << 2) | base[3];
- for ( size_t i = 0; i < 4; ++i ) {
- sm_Table[index * 4 + i] = convert[base[i]];
- }
- }
- }
- }
- }
- */
- const Uint1 C2naTo8na::scm_Table[1024] = {
- 0x1,0x1,0x1,0x1, 0x1,0x1,0x1,0x2, 0x1,0x1,0x1,0x4, 0x1,0x1,0x1,0x8,
- 0x1,0x1,0x2,0x1, 0x1,0x1,0x2,0x2, 0x1,0x1,0x2,0x4, 0x1,0x1,0x2,0x8,
- 0x1,0x1,0x4,0x1, 0x1,0x1,0x4,0x2, 0x1,0x1,0x4,0x4, 0x1,0x1,0x4,0x8,
- 0x1,0x1,0x8,0x1, 0x1,0x1,0x8,0x2, 0x1,0x1,0x8,0x4, 0x1,0x1,0x8,0x8,
- 0x1,0x2,0x1,0x1, 0x1,0x2,0x1,0x2, 0x1,0x2,0x1,0x4, 0x1,0x2,0x1,0x8,
- 0x1,0x2,0x2,0x1, 0x1,0x2,0x2,0x2, 0x1,0x2,0x2,0x4, 0x1,0x2,0x2,0x8,
- 0x1,0x2,0x4,0x1, 0x1,0x2,0x4,0x2, 0x1,0x2,0x4,0x4, 0x1,0x2,0x4,0x8,
- 0x1,0x2,0x8,0x1, 0x1,0x2,0x8,0x2, 0x1,0x2,0x8,0x4, 0x1,0x2,0x8,0x8,
- 0x1,0x4,0x1,0x1, 0x1,0x4,0x1,0x2, 0x1,0x4,0x1,0x4, 0x1,0x4,0x1,0x8,
- 0x1,0x4,0x2,0x1, 0x1,0x4,0x2,0x2, 0x1,0x4,0x2,0x4, 0x1,0x4,0x2,0x8,
- 0x1,0x4,0x4,0x1, 0x1,0x4,0x4,0x2, 0x1,0x4,0x4,0x4, 0x1,0x4,0x4,0x8,
- 0x1,0x4,0x8,0x1, 0x1,0x4,0x8,0x2, 0x1,0x4,0x8,0x4, 0x1,0x4,0x8,0x8,
- 0x1,0x8,0x1,0x1, 0x1,0x8,0x1,0x2, 0x1,0x8,0x1,0x4, 0x1,0x8,0x1,0x8,
- 0x1,0x8,0x2,0x1, 0x1,0x8,0x2,0x2, 0x1,0x8,0x2,0x4, 0x1,0x8,0x2,0x8,
- 0x1,0x8,0x4,0x1, 0x1,0x8,0x4,0x2, 0x1,0x8,0x4,0x4, 0x1,0x8,0x4,0x8,
- 0x1,0x8,0x8,0x1, 0x1,0x8,0x8,0x2, 0x1,0x8,0x8,0x4, 0x1,0x8,0x8,0x8,
- 0x2,0x1,0x1,0x1, 0x2,0x1,0x1,0x2, 0x2,0x1,0x1,0x4, 0x2,0x1,0x1,0x8,
- 0x2,0x1,0x2,0x1, 0x2,0x1,0x2,0x2, 0x2,0x1,0x2,0x4, 0x2,0x1,0x2,0x8,
- 0x2,0x1,0x4,0x1, 0x2,0x1,0x4,0x2, 0x2,0x1,0x4,0x4, 0x2,0x1,0x4,0x8,
- 0x2,0x1,0x8,0x1, 0x2,0x1,0x8,0x2, 0x2,0x1,0x8,0x4, 0x2,0x1,0x8,0x8,
- 0x2,0x2,0x1,0x1, 0x2,0x2,0x1,0x2, 0x2,0x2,0x1,0x4, 0x2,0x2,0x1,0x8,
- 0x2,0x2,0x2,0x1, 0x2,0x2,0x2,0x2, 0x2,0x2,0x2,0x4, 0x2,0x2,0x2,0x8,
- 0x2,0x2,0x4,0x1, 0x2,0x2,0x4,0x2, 0x2,0x2,0x4,0x4, 0x2,0x2,0x4,0x8,
- 0x2,0x2,0x8,0x1, 0x2,0x2,0x8,0x2, 0x2,0x2,0x8,0x4, 0x2,0x2,0x8,0x8,
- 0x2,0x4,0x1,0x1, 0x2,0x4,0x1,0x2, 0x2,0x4,0x1,0x4, 0x2,0x4,0x1,0x8,
- 0x2,0x4,0x2,0x1, 0x2,0x4,0x2,0x2, 0x2,0x4,0x2,0x4, 0x2,0x4,0x2,0x8,
- 0x2,0x4,0x4,0x1, 0x2,0x4,0x4,0x2, 0x2,0x4,0x4,0x4, 0x2,0x4,0x4,0x8,
- 0x2,0x4,0x8,0x1, 0x2,0x4,0x8,0x2, 0x2,0x4,0x8,0x4, 0x2,0x4,0x8,0x8,
- 0x2,0x8,0x1,0x1, 0x2,0x8,0x1,0x2, 0x2,0x8,0x1,0x4, 0x2,0x8,0x1,0x8,
- 0x2,0x8,0x2,0x1, 0x2,0x8,0x2,0x2, 0x2,0x8,0x2,0x4, 0x2,0x8,0x2,0x8,
- 0x2,0x8,0x4,0x1, 0x2,0x8,0x4,0x2, 0x2,0x8,0x4,0x4, 0x2,0x8,0x4,0x8,
- 0x2,0x8,0x8,0x1, 0x2,0x8,0x8,0x2, 0x2,0x8,0x8,0x4, 0x2,0x8,0x8,0x8,
- 0x4,0x1,0x1,0x1, 0x4,0x1,0x1,0x2, 0x4,0x1,0x1,0x4, 0x4,0x1,0x1,0x8,
- 0x4,0x1,0x2,0x1, 0x4,0x1,0x2,0x2, 0x4,0x1,0x2,0x4, 0x4,0x1,0x2,0x8,
- 0x4,0x1,0x4,0x1, 0x4,0x1,0x4,0x2, 0x4,0x1,0x4,0x4, 0x4,0x1,0x4,0x8,
- 0x4,0x1,0x8,0x1, 0x4,0x1,0x8,0x2, 0x4,0x1,0x8,0x4, 0x4,0x1,0x8,0x8,
- 0x4,0x2,0x1,0x1, 0x4,0x2,0x1,0x2, 0x4,0x2,0x1,0x4, 0x4,0x2,0x1,0x8,
- 0x4,0x2,0x2,0x1, 0x4,0x2,0x2,0x2, 0x4,0x2,0x2,0x4, 0x4,0x2,0x2,0x8,
- 0x4,0x2,0x4,0x1, 0x4,0x2,0x4,0x2, 0x4,0x2,0x4,0x4, 0x4,0x2,0x4,0x8,
- 0x4,0x2,0x8,0x1, 0x4,0x2,0x8,0x2, 0x4,0x2,0x8,0x4, 0x4,0x2,0x8,0x8,
- 0x4,0x4,0x1,0x1, 0x4,0x4,0x1,0x2, 0x4,0x4,0x1,0x4, 0x4,0x4,0x1,0x8,
- 0x4,0x4,0x2,0x1, 0x4,0x4,0x2,0x2, 0x4,0x4,0x2,0x4, 0x4,0x4,0x2,0x8,
- 0x4,0x4,0x4,0x1, 0x4,0x4,0x4,0x2, 0x4,0x4,0x4,0x4, 0x4,0x4,0x4,0x8,
- 0x4,0x4,0x8,0x1, 0x4,0x4,0x8,0x2, 0x4,0x4,0x8,0x4, 0x4,0x4,0x8,0x8,
- 0x4,0x8,0x1,0x1, 0x4,0x8,0x1,0x2, 0x4,0x8,0x1,0x4, 0x4,0x8,0x1,0x8,
- 0x4,0x8,0x2,0x1, 0x4,0x8,0x2,0x2, 0x4,0x8,0x2,0x4, 0x4,0x8,0x2,0x8,
- 0x4,0x8,0x4,0x1, 0x4,0x8,0x4,0x2, 0x4,0x8,0x4,0x4, 0x4,0x8,0x4,0x8,
- 0x4,0x8,0x8,0x1, 0x4,0x8,0x8,0x2, 0x4,0x8,0x8,0x4, 0x4,0x8,0x8,0x8,
- 0x8,0x1,0x1,0x1, 0x8,0x1,0x1,0x2, 0x8,0x1,0x1,0x4, 0x8,0x1,0x1,0x8,
- 0x8,0x1,0x2,0x1, 0x8,0x1,0x2,0x2, 0x8,0x1,0x2,0x4, 0x8,0x1,0x2,0x8,
- 0x8,0x1,0x4,0x1, 0x8,0x1,0x4,0x2, 0x8,0x1,0x4,0x4, 0x8,0x1,0x4,0x8,
- 0x8,0x1,0x8,0x1, 0x8,0x1,0x8,0x2, 0x8,0x1,0x8,0x4, 0x8,0x1,0x8,0x8,
- 0x8,0x2,0x1,0x1, 0x8,0x2,0x1,0x2, 0x8,0x2,0x1,0x4, 0x8,0x2,0x1,0x8,
- 0x8,0x2,0x2,0x1, 0x8,0x2,0x2,0x2, 0x8,0x2,0x2,0x4, 0x8,0x2,0x2,0x8,
- 0x8,0x2,0x4,0x1, 0x8,0x2,0x4,0x2, 0x8,0x2,0x4,0x4, 0x8,0x2,0x4,0x8,
- 0x8,0x2,0x8,0x1, 0x8,0x2,0x8,0x2, 0x8,0x2,0x8,0x4, 0x8,0x2,0x8,0x8,
- 0x8,0x4,0x1,0x1, 0x8,0x4,0x1,0x2, 0x8,0x4,0x1,0x4, 0x8,0x4,0x1,0x8,
- 0x8,0x4,0x2,0x1, 0x8,0x4,0x2,0x2, 0x8,0x4,0x2,0x4, 0x8,0x4,0x2,0x8,
- 0x8,0x4,0x4,0x1, 0x8,0x4,0x4,0x2, 0x8,0x4,0x4,0x4, 0x8,0x4,0x4,0x8,
- 0x8,0x4,0x8,0x1, 0x8,0x4,0x8,0x2, 0x8,0x4,0x8,0x4, 0x8,0x4,0x8,0x8,
- 0x8,0x8,0x1,0x1, 0x8,0x8,0x1,0x2, 0x8,0x8,0x1,0x4, 0x8,0x8,0x1,0x8,
- 0x8,0x8,0x2,0x1, 0x8,0x8,0x2,0x2, 0x8,0x8,0x2,0x4, 0x8,0x8,0x2,0x8,
- 0x8,0x8,0x4,0x1, 0x8,0x8,0x4,0x2, 0x8,0x8,0x4,0x4, 0x8,0x8,0x4,0x8,
- 0x8,0x8,0x8,0x1, 0x8,0x8,0x8,0x2, 0x8,0x8,0x8,0x4, 0x8,0x8,0x8,0x8
- };
- // NCBI2na_expand to IUPACna
- // 0 -> A
- // 1 -> C
- // 2 -> G
- // 3 -> T
- const Uint1 C2naExpandToIupacna::scm_Table[256] = {
- 0x41, 0x43, 0x47, 0x54, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- };
- // NCBI4na to IUPACna
- // 0 '-' -> N
- // 1 'A' -> N
- // 2 'C' -> N
- // 3 'M' -> N
- // 4 'G' -> N
- // 5 'R' -> N
- // 6 'S' -> N
- // 7 'V' -> N
- // 8 'T' -> N
- // 9 'W' -> N
- // 10 'Y' -> N
- // 11 'H' -> N
- // 12 'K' -> N
- // 13 'D' -> N
- // 14 'B' -> N
- // 15 'N' -> N
- const Uint1 C4naToIupacna::scm_Table[512] = {
- 0x4e,0x4e, 0x4e,0x41, 0x4e,0x43, 0x4e,0x4d,
- 0x4e,0x47, 0x4e,0x52, 0x4e,0x53, 0x4e,0x56,
- 0x4e,0x54, 0x4e,0x57, 0x4e,0x59, 0x4e,0x48,
- 0x4e,0x4b, 0x4e,0x44, 0x4e,0x42, 0x4e,0x4e,
- 0x41,0x4e, 0x41,0x41, 0x41,0x43, 0x41,0x4d,
- 0x41,0x47, 0x41,0x52, 0x41,0x53, 0x41,0x56,
- 0x41,0x54, 0x41,0x57, 0x41,0x59, 0x41,0x48,
- 0x41,0x4b, 0x41,0x44, 0x41,0x42, 0x41,0x4e,
- 0x43,0x4e, 0x43,0x41, 0x43,0x43, 0x43,0x4d,
- 0x43,0x47, 0x43,0x52, 0x43,0x53, 0x43,0x56,
- 0x43,0x54, 0x43,0x57, 0x43,0x59, 0x43,0x48,
- 0x43,0x4b, 0x43,0x44, 0x43,0x42, 0x43,0x4e,
- 0x4d,0x4e, 0x4d,0x41, 0x4d,0x43, 0x4d,0x4d,
- 0x4d,0x47, 0x4d,0x52, 0x4d,0x53, 0x4d,0x56,
- 0x4d,0x54, 0x4d,0x57, 0x4d,0x59, 0x4d,0x48,
- 0x4d,0x4b, 0x4d,0x44, 0x4d,0x42, 0x4d,0x4e,
- 0x47,0x4e, 0x47,0x41, 0x47,0x43, 0x47,0x4d,
- 0x47,0x47, 0x47,0x52, 0x47,0x53, 0x47,0x56,
- 0x47,0x54, 0x47,0x57, 0x47,0x59, 0x47,0x48,
- 0x47,0x4b, 0x47,0x44, 0x47,0x42, 0x47,0x4e,
- 0x52,0x4e, 0x52,0x41, 0x52,0x43, 0x52,0x4d,
- 0x52,0x47, 0x52,0x52, 0x52,0x53, 0x52,0x56,
- 0x52,0x54, 0x52,0x57, 0x52,0x59, 0x52,0x48,
- 0x52,0x4b, 0x52,0x44, 0x52,0x42, 0x52,0x4e,
- 0x53,0x4e, 0x53,0x41, 0x53,0x43, 0x53,0x4d,
- 0x53,0x47, 0x53,0x52, 0x53,0x53, 0x53,0x56,
- 0x53,0x54, 0x53,0x57, 0x53,0x59, 0x53,0x48,
- 0x53,0x4b, 0x53,0x44, 0x53,0x42, 0x53,0x4e,
- 0x56,0x4e, 0x56,0x41, 0x56,0x43, 0x56,0x4d,
- 0x56,0x47, 0x56,0x52, 0x56,0x53, 0x56,0x56,
- 0x56,0x54, 0x56,0x57, 0x56,0x59, 0x56,0x48,
- 0x56,0x4b, 0x56,0x44, 0x56,0x42, 0x56,0x4e,
- 0x54,0x4e, 0x54,0x41, 0x54,0x43, 0x54,0x4d,
- 0x54,0x47, 0x54,0x52, 0x54,0x53, 0x54,0x56,
- 0x54,0x54, 0x54,0x57, 0x54,0x59, 0x54,0x48,
- 0x54,0x4b, 0x54,0x44, 0x54,0x42, 0x54,0x4e,
- 0x57,0x4e, 0x57,0x41, 0x57,0x43, 0x57,0x4d,
- 0x57,0x47, 0x57,0x52, 0x57,0x53, 0x57,0x56,
- 0x57,0x54, 0x57,0x57, 0x57,0x59, 0x57,0x48,
- 0x57,0x4b, 0x57,0x44, 0x57,0x42, 0x57,0x4e,
- 0x59,0x4e, 0x59,0x41, 0x59,0x43, 0x59,0x4d,
- 0x59,0x47, 0x59,0x52, 0x59,0x53, 0x59,0x56,
- 0x59,0x54, 0x59,0x57, 0x59,0x59, 0x59,0x48,
- 0x59,0x4b, 0x59,0x44, 0x59,0x42, 0x59,0x4e,
- 0x48,0x4e, 0x48,0x41, 0x48,0x43, 0x48,0x4d,
- 0x48,0x47, 0x48,0x52, 0x48,0x53, 0x48,0x56,
- 0x48,0x54, 0x48,0x57, 0x48,0x59, 0x48,0x48,
- 0x48,0x4b, 0x48,0x44, 0x48,0x42, 0x48,0x4e,
- 0x4b,0x4e, 0x4b,0x41, 0x4b,0x43, 0x4b,0x4d,
- 0x4b,0x47, 0x4b,0x52, 0x4b,0x53, 0x4b,0x56,
- 0x4b,0x54, 0x4b,0x57, 0x4b,0x59, 0x4b,0x48,
- 0x4b,0x4b, 0x4b,0x44, 0x4b,0x42, 0x4b,0x4e,
- 0x44,0x4e, 0x44,0x41, 0x44,0x43, 0x44,0x4d,
- 0x44,0x47, 0x44,0x52, 0x44,0x53, 0x44,0x56,
- 0x44,0x54, 0x44,0x57, 0x44,0x59, 0x44,0x48,
- 0x44,0x4b, 0x44,0x44, 0x44,0x42, 0x44,0x4e,
- 0x42,0x4e, 0x42,0x41, 0x42,0x43, 0x42,0x4d,
- 0x42,0x47, 0x42,0x52, 0x42,0x53, 0x42,0x56,
- 0x42,0x54, 0x42,0x57, 0x42,0x59, 0x42,0x48,
- 0x42,0x4b, 0x42,0x44, 0x42,0x42, 0x42,0x4e,
- 0x4e,0x4e, 0x4e,0x41, 0x4e,0x43, 0x4e,0x4d,
- 0x4e,0x47, 0x4e,0x52, 0x4e,0x53, 0x4e,0x56,
- 0x4e,0x54, 0x4e,0x57, 0x4e,0x59, 0x4e,0x48,
- 0x4e,0x4b, 0x4e,0x44, 0x4e,0x42, 0x4e,0x4e
- };
- // NCBI4na to NCBI2na
- // 0 -> 3 (gap -> T)
- // 1 -> 0 (A -> A)
- // 2 -> 1 (C -> C)
- // 3 -> 1 (M -> C)
- // 4 -> 2 (G -> G)
- // 5 -> 2 (R -> G)
- // 6 -> 1 (S -> C)
- // 7 -> 0 (V -> A)
- // 8 -> 3 (T -> T)
- // 9 -> 3 (W -> T)
- // 10 -> 3 (Y -> T)
- // 11 -> 0 (H -> A)
- // 12 -> 2 (K -> G)
- // 13 -> 2 (D -> G)
- // 14 -> 1 (B -> C)
- // 15 -> 0 (N -> A)
- /*
- for ( base[0] = 0; base[0] < 16; ++base[0] ) {
- for ( base[1] = 0; base[1] < 16; ++base[1] ) {
- Uint1 index = base[0] << 4 | base[1];
- sm_TableOffset0[index * 2] =
- (convert[base[0]] << 6) | (convert[base[1]] << 4);
- sm_TableOffset0[index * 2 + 1] =
- (convert[base[0]] << 2) | convert[base[1]];
- }
- }
- */
- const Uint1 C4naTo2na::scm_Table0[512] = {
- 0xf0,0xf, 0xc0,0xc, 0xd0,0xd, 0xd0,0xd,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xf0,0xf, 0xf0,0xf, 0xc0,0xc,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0x30,0x3, 0x0,0x0, 0x10,0x1, 0x10,0x1,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0x30,0x3, 0x30,0x3, 0x30,0x3, 0x0,0x0,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0x70,0x7, 0x40,0x4, 0x50,0x5, 0x50,0x5,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x70,0x7, 0x70,0x7, 0x70,0x7, 0x40,0x4,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x70,0x7, 0x40,0x4, 0x50,0x5, 0x50,0x5,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x70,0x7, 0x70,0x7, 0x70,0x7, 0x40,0x4,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0xb0,0xb, 0x80,0x8, 0x90,0x9, 0x90,0x9,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0xb0,0xb, 0xb0,0xb, 0x80,0x8,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0x80,0x8, 0x90,0x9, 0x90,0x9,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0xb0,0xb, 0xb0,0xb, 0x80,0x8,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0x70,0x7, 0x40,0x4, 0x50,0x5, 0x50,0x5,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x70,0x7, 0x70,0x7, 0x70,0x7, 0x40,0x4,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x30,0x3, 0x0,0x0, 0x10,0x1, 0x10,0x1,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0x30,0x3, 0x30,0x3, 0x30,0x3, 0x0,0x0,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0xf0,0xf, 0xc0,0xc, 0xd0,0xd, 0xd0,0xd,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xf0,0xf, 0xf0,0xf, 0xc0,0xc,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xc0,0xc, 0xd0,0xd, 0xd0,0xd,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xf0,0xf, 0xf0,0xf, 0xc0,0xc,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xc0,0xc, 0xd0,0xd, 0xd0,0xd,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0xf0,0xf, 0xf0,0xf, 0xf0,0xf, 0xc0,0xc,
- 0xe0,0xe, 0xe0,0xe, 0xd0,0xd, 0xc0,0xc,
- 0x30,0x3, 0x0,0x0, 0x10,0x1, 0x10,0x1,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0x30,0x3, 0x30,0x3, 0x30,0x3, 0x0,0x0,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0xb0,0xb, 0x80,0x8, 0x90,0x9, 0x90,0x9,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0xb0,0xb, 0xb0,0xb, 0x80,0x8,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0x80,0x8, 0x90,0x9, 0x90,0x9,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0xb0,0xb, 0xb0,0xb, 0xb0,0xb, 0x80,0x8,
- 0xa0,0xa, 0xa0,0xa, 0x90,0x9, 0x80,0x8,
- 0x70,0x7, 0x40,0x4, 0x50,0x5, 0x50,0x5,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x70,0x7, 0x70,0x7, 0x70,0x7, 0x40,0x4,
- 0x60,0x6, 0x60,0x6, 0x50,0x5, 0x40,0x4,
- 0x30,0x3, 0x0,0x0, 0x10,0x1, 0x10,0x1,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0,
- 0x30,0x3, 0x30,0x3, 0x30,0x3, 0x0,0x0,
- 0x20,0x2, 0x20,0x2, 0x10,0x1, 0x0,0x0
- };
- /*
- for ( base[0] = 0; base[0] < 16; ++base[0] ) {
- for ( base[1] = 0; base[1] < 16; ++base[1] ) {
- Uint1 index = base[0] << 4 | base[1];
- sm_TableOffset1[index * 3] =
- convert[base[1]] << 6;
- sm_TableOffset1[index * 3 + 1] =
- (convert[base[0]] << 4) | (convert[base[1]] << 2);
- sm_TableOffset1[index * 3 + 2] =
- convert[base[0]];
- }
- }
- */
- const Uint1 C4naTo2na::scm_Table1[768] = {
- 0xc0,0x3c,0x3, 0x0,0x30,0x3, 0x40,0x34,0x3, 0x40,0x34,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0x0,0x30,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0xc,0x0, 0x0,0x0,0x0, 0x40,0x4,0x0, 0x40,0x4,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0x0,0x0,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0x1c,0x1, 0x0,0x10,0x1, 0x40,0x14,0x1, 0x40,0x14,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0x0,0x10,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x1c,0x1, 0x0,0x10,0x1, 0x40,0x14,0x1, 0x40,0x14,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0x0,0x10,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x2c,0x2, 0x0,0x20,0x2, 0x40,0x24,0x2, 0x40,0x24,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0x0,0x20,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0x0,0x20,0x2, 0x40,0x24,0x2, 0x40,0x24,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0x0,0x20,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x1c,0x1, 0x0,0x10,0x1, 0x40,0x14,0x1, 0x40,0x14,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0x0,0x10,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0xc,0x0, 0x0,0x0,0x0, 0x40,0x4,0x0, 0x40,0x4,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0x0,0x0,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0x3c,0x3, 0x0,0x30,0x3, 0x40,0x34,0x3, 0x40,0x34,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0x0,0x30,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0x0,0x30,0x3, 0x40,0x34,0x3, 0x40,0x34,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0x0,0x30,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0x0,0x30,0x3, 0x40,0x34,0x3, 0x40,0x34,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0xc0,0x3c,0x3, 0x0,0x30,0x3,
- 0x80,0x38,0x3, 0x80,0x38,0x3, 0x40,0x34,0x3, 0x0,0x30,0x3,
- 0xc0,0xc,0x0, 0x0,0x0,0x0, 0x40,0x4,0x0, 0x40,0x4,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0x0,0x0,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0x2c,0x2, 0x0,0x20,0x2, 0x40,0x24,0x2, 0x40,0x24,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0x0,0x20,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0x0,0x20,0x2, 0x40,0x24,0x2, 0x40,0x24,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0xc0,0x2c,0x2, 0x0,0x20,0x2,
- 0x80,0x28,0x2, 0x80,0x28,0x2, 0x40,0x24,0x2, 0x0,0x20,0x2,
- 0xc0,0x1c,0x1, 0x0,0x10,0x1, 0x40,0x14,0x1, 0x40,0x14,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0xc0,0x1c,0x1, 0x0,0x10,0x1,
- 0x80,0x18,0x1, 0x80,0x18,0x1, 0x40,0x14,0x1, 0x0,0x10,0x1,
- 0xc0,0xc,0x0, 0x0,0x0,0x0, 0x40,0x4,0x0, 0x40,0x4,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0,
- 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0xc0,0xc,0x0, 0x0,0x0,0x0,
- 0x80,0x8,0x0, 0x80,0x8,0x0, 0x40,0x4,0x0, 0x0,0x0,0x0
- };
- // NCBI4na to NCBI2na_expand
- // gap -> 3 T
- // A -> 0 A
- // C -> 1 C
- // M -> 1 C
- // G -> 2 G
- // R -> 2 G
- // S -> 1 C
- // V -> 0 A
- // T -> 3 T
- // W -> 3 T
- // Y -> 3 T
- // H -> 0 A
- // K -> 2 G
- // D -> 2 G
- // B -> 1 C
- // N -> 0 A
- const Uint1 C4naTo2naExpand::scm_Table[512] = {
- 0x3,0x3, 0x3,0x0, 0x3,0x1, 0x3,0x1,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x3, 0x3,0x3, 0x3,0x0,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x0,0x3, 0x0,0x0, 0x0,0x1, 0x0,0x1,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x0,0x3, 0x0,0x3, 0x0,0x3, 0x0,0x0,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x1,0x3, 0x1,0x0, 0x1,0x1, 0x1,0x1,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x1,0x3, 0x1,0x3, 0x1,0x3, 0x1,0x0,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x1,0x3, 0x1,0x0, 0x1,0x1, 0x1,0x1,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x1,0x3, 0x1,0x3, 0x1,0x3, 0x1,0x0,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x2,0x3, 0x2,0x0, 0x2,0x1, 0x2,0x1,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x3, 0x2,0x3, 0x2,0x0,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x0, 0x2,0x1, 0x2,0x1,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x3, 0x2,0x3, 0x2,0x0,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x1,0x3, 0x1,0x0, 0x1,0x1, 0x1,0x1,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x1,0x3, 0x1,0x3, 0x1,0x3, 0x1,0x0,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x0,0x3, 0x0,0x0, 0x0,0x1, 0x0,0x1,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x0,0x3, 0x0,0x3, 0x0,0x3, 0x0,0x0,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x3,0x3, 0x3,0x0, 0x3,0x1, 0x3,0x1,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x3, 0x3,0x3, 0x3,0x0,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x0, 0x3,0x1, 0x3,0x1,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x3, 0x3,0x3, 0x3,0x0,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x0, 0x3,0x1, 0x3,0x1,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x3,0x3, 0x3,0x3, 0x3,0x3, 0x3,0x0,
- 0x3,0x2, 0x3,0x2, 0x3,0x1, 0x3,0x0,
- 0x0,0x3, 0x0,0x0, 0x0,0x1, 0x0,0x1,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x0,0x3, 0x0,0x3, 0x0,0x3, 0x0,0x0,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x2,0x3, 0x2,0x0, 0x2,0x1, 0x2,0x1,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x3, 0x2,0x3, 0x2,0x0,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x0, 0x2,0x1, 0x2,0x1,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x2,0x3, 0x2,0x3, 0x2,0x3, 0x2,0x0,
- 0x2,0x2, 0x2,0x2, 0x2,0x1, 0x2,0x0,
- 0x1,0x3, 0x1,0x0, 0x1,0x1, 0x1,0x1,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x1,0x3, 0x1,0x3, 0x1,0x3, 0x1,0x0,
- 0x1,0x2, 0x1,0x2, 0x1,0x1, 0x1,0x0,
- 0x0,0x3, 0x0,0x0, 0x0,0x1, 0x0,0x1,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0,
- 0x0,0x3, 0x0,0x3, 0x0,0x3, 0x0,0x0,
- 0x0,0x2, 0x0,0x2, 0x0,0x1, 0x0,0x0
- };
- // NCBI4na to NCBI8na (NCBI4na_expand)
- /*
- for ( base[0] = 0; base[0] < 16; ++base[0] ) {
- for ( base[1] = 0; base[1] < 16; ++base[1] ) {
- Uint1 index = (base[0] << 4) | base[1];
- for( int i = 0; i < 2; ++i ) {
- sm_Table[index * 2 + i] = base[i];
- }
- }
- }
- */
- const Uint1 C4naTo8na::scm_Table[512] = {
- 0x0,0x0, 0x0,0x1, 0x0,0x2, 0x0,0x3,
- 0x0,0x4, 0x0,0x5, 0x0,0x6, 0x0,0x7,
- 0x0,0x8, 0x0,0x9, 0x0,0xa, 0x0,0xb,
- 0x0,0xc, 0x0,0xd, 0x0,0xe, 0x0,0xf,
- 0x1,0x0, 0x1,0x1, 0x1,0x2, 0x1,0x3,
- 0x1,0x4, 0x1,0x5, 0x1,0x6, 0x1,0x7,
- 0x1,0x8, 0x1,0x9, 0x1,0xa, 0x1,0xb,
- 0x1,0xc, 0x1,0xd, 0x1,0xe, 0x1,0xf,
- 0x2,0x0, 0x2,0x1, 0x2,0x2, 0x2,0x3,
- 0x2,0x4, 0x2,0x5, 0x2,0x6, 0x2,0x7,
- 0x2,0x8, 0x2,0x9, 0x2,0xa, 0x2,0xb,
- 0x2,0xc, 0x2,0xd, 0x2,0xe, 0x2,0xf,
- 0x3,0x0, 0x3,0x1, 0x3,0x2, 0x3,0x3,
- 0x3,0x4, 0x3,0x5, 0x3,0x6, 0x3,0x7,
- 0x3,0x8, 0x3,0x9, 0x3,0xa, 0x3,0xb,
- 0x3,0xc, 0x3,0xd, 0x3,0xe, 0x3,0xf,
- 0x4,0x0, 0x4,0x1, 0x4,0x2, 0x4,0x3,
- 0x4,0x4, 0x4,0x5, 0x4,0x6, 0x4,0x7,
- 0x4,0x8, 0x4,0x9, 0x4,0xa, 0x4,0xb,
- 0x4,0xc, 0x4,0xd, 0x4,0xe, 0x4,0xf,
- 0x5,0x0, 0x5,0x1, 0x5,0x2, 0x5,0x3,
- 0x5,0x4, 0x5,0x5, 0x5,0x6, 0x5,0x7,
- 0x5,0x8, 0x5,0x9, 0x5,0xa, 0x5,0xb,
- 0x5,0xc, 0x5,0xd, 0x5,0xe, 0x5,0xf,
- 0x6,0x0, 0x6,0x1, 0x6,0x2, 0x6,0x3,
- 0x6,0x4, 0x6,0x5, 0x6,0x6, 0x6,0x7,
- 0x6,0x8, 0x6,0x9, 0x6,0xa, 0x6,0xb,
- 0x6,0xc, 0x6,0xd, 0x6,0xe, 0x6,0xf,
- 0x7,0x0, 0x7,0x1, 0x7,0x2, 0x7,0x3,
- 0x7,0x4, 0x7,0x5, 0x7,0x6, 0x7,0x7,
- 0x7,0x8, 0x7,0x9, 0x7,0xa, 0x7,0xb,
- 0x7,0xc, 0x7,0xd, 0x7,0xe, 0x7,0xf,
- 0x8,0x0, 0x8,0x1, 0x8,0x2, 0x8,0x3,
- 0x8,0x4, 0x8,0x5, 0x8,0x6, 0x8,0x7,
- 0x8,0x8, 0x8,0x9, 0x8,0xa, 0x8,0xb,
- 0x8,0xc, 0x8,0xd, 0x8,0xe, 0x8,0xf,
- 0x9,0x0, 0x9,0x1, 0x9,0x2, 0x9,0x3,
- 0x9,0x4, 0x9,0x5, 0x9,0x6, 0x9,0x7,
- 0x9,0x8, 0x9,0x9, 0x9,0xa, 0x9,0xb,
- 0x9,0xc, 0x9,0xd, 0x9,0xe, 0x9,0xf,
- 0xa,0x0, 0xa,0x1, 0xa,0x2, 0xa,0x3,
- 0xa,0x4, 0xa,0x5, 0xa,0x6, 0xa,0x7,
- 0xa,0x8, 0xa,0x9, 0xa,0xa, 0xa,0xb,
- 0xa,0xc, 0xa,0xd, 0xa,0xe, 0xa,0xf,
- 0xb,0x0, 0xb,0x1, 0xb,0x2, 0xb,0x3,