sm_blosum62.c
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:5k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: sm_blosum62.c,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 16:04:09  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: sm_blosum62.c,v 1000.0 2003/10/29 16:04:09 gouriano Exp $
  10. * ===========================================================================
  11. *
  12. *                            PUBLIC DOMAIN NOTICE
  13. *               National Center for Biotechnology Information
  14. *
  15. *  This software/database is a "United States Government Work" under the
  16. *  terms of the United States Copyright Act.  It was written as part of
  17. *  the author's official duties as a United States Government employee and
  18. *  thus cannot be copyrighted.  This software/database is freely available
  19. *  to the public for use. The National Library of Medicine and the U.S.
  20. *  Government have not placed any restriction on its use or reproduction.
  21. *
  22. *  Although all reasonable efforts have been taken to ensure the accuracy
  23. *  and reliability of the software and data, the NLM and the U.S.
  24. *  Government do not and cannot warrant the performance or results that
  25. *  may be obtained by using this software or data. The NLM and the U.S.
  26. *  Government disclaim all warranties, express or implied, including
  27. *  warranties of performance, merchantability or fitness for any particular
  28. *  purpose.
  29. *
  30. *  Please cite the author in any work or product based on this material.
  31. *
  32. * ===========================================================================
  33. *
  34. * Author:  Aaron Ucko (via ./convert_scoremat.pl)
  35. *
  36. * File Description:
  37. *   Protein alignment score matrices; shared between the two toolkits.
  38. *
  39. * ===========================================================================
  40. */
  41. #include <util/tables/raw_scoremat.h>
  42. /* Matrix made by matblas from blosum62.iij */
  43. /* * column uses minimum score */
  44. /* BLOSUM Clustered Scoring Matrix in 1/2 Bit Units */
  45. /* Blocks Database = /data/blocks_5.0/blocks.dat */
  46. /* Cluster Percentage: >= 62 */
  47. /* Entropy =   0.6979, Expected =  -0.5209 */
  48. static const TNCBIScore s_Blosum62PSM[24][24] = {
  49.     /*       A,  R,  N,  D,  C,  Q,  E,  G,  H,  I,  L,  K,
  50.              M,  F,  P,  S,  T,  W,  Y,  V,  B,  Z,  X,  * */
  51.     /*A*/ {  4, -1, -2, -2,  0, -1, -1,  0, -2, -1, -1, -1,
  52.             -1, -2, -1,  1,  0, -3, -2,  0, -2, -1,  0, -4 },
  53.     /*R*/ { -1,  5,  0, -2, -3,  1,  0, -2,  0, -3, -2,  2,
  54.             -1, -3, -2, -1, -1, -3, -2, -3, -1,  0, -1, -4 },
  55.     /*N*/ { -2,  0,  6,  1, -3,  0,  0,  0,  1, -3, -3,  0,
  56.             -2, -3, -2,  1,  0, -4, -2, -3,  3,  0, -1, -4 },
  57.     /*D*/ { -2, -2,  1,  6, -3,  0,  2, -1, -1, -3, -4, -1,
  58.             -3, -3, -1,  0, -1, -4, -3, -3,  4,  1, -1, -4 },
  59.     /*C*/ {  0, -3, -3, -3,  9, -3, -4, -3, -3, -1, -1, -3,
  60.             -1, -2, -3, -1, -1, -2, -2, -1, -3, -3, -2, -4 },
  61.     /*Q*/ { -1,  1,  0,  0, -3,  5,  2, -2,  0, -3, -2,  1,
  62.              0, -3, -1,  0, -1, -2, -1, -2,  0,  3, -1, -4 },
  63.     /*E*/ { -1,  0,  0,  2, -4,  2,  5, -2,  0, -3, -3,  1,
  64.             -2, -3, -1,  0, -1, -3, -2, -2,  1,  4, -1, -4 },
  65.     /*G*/ {  0, -2,  0, -1, -3, -2, -2,  6, -2, -4, -4, -2,
  66.             -3, -3, -2,  0, -2, -2, -3, -3, -1, -2, -1, -4 },
  67.     /*H*/ { -2,  0,  1, -1, -3,  0,  0, -2,  8, -3, -3, -1,
  68.             -2, -1, -2, -1, -2, -2,  2, -3,  0,  0, -1, -4 },
  69.     /*I*/ { -1, -3, -3, -3, -1, -3, -3, -4, -3,  4,  2, -3,
  70.              1,  0, -3, -2, -1, -3, -1,  3, -3, -3, -1, -4 },
  71.     /*L*/ { -1, -2, -3, -4, -1, -2, -3, -4, -3,  2,  4, -2,
  72.              2,  0, -3, -2, -1, -2, -1,  1, -4, -3, -1, -4 },
  73.     /*K*/ { -1,  2,  0, -1, -3,  1,  1, -2, -1, -3, -2,  5,
  74.             -1, -3, -1,  0, -1, -3, -2, -2,  0,  1, -1, -4 },
  75.     /*M*/ { -1, -1, -2, -3, -1,  0, -2, -3, -2,  1,  2, -1,
  76.              5,  0, -2, -1, -1, -1, -1,  1, -3, -1, -1, -4 },
  77.     /*F*/ { -2, -3, -3, -3, -2, -3, -3, -3, -1,  0,  0, -3,
  78.              0,  6, -4, -2, -2,  1,  3, -1, -3, -3, -1, -4 },
  79.     /*P*/ { -1, -2, -2, -1, -3, -1, -1, -2, -2, -3, -3, -1,
  80.             -2, -4,  7, -1, -1, -4, -3, -2, -2, -1, -2, -4 },
  81.     /*S*/ {  1, -1,  1,  0, -1,  0,  0,  0, -1, -2, -2,  0,
  82.             -1, -2, -1,  4,  1, -3, -2, -2,  0,  0,  0, -4 },
  83.     /*T*/ {  0, -1,  0, -1, -1, -1, -1, -2, -2, -1, -1, -1,
  84.             -1, -2, -1,  1,  5, -2, -2,  0, -1, -1,  0, -4 },
  85.     /*W*/ { -3, -3, -4, -4, -2, -2, -3, -2, -2, -3, -2, -3,
  86.             -1,  1, -4, -3, -2, 11,  2, -3, -4, -3, -2, -4 },
  87.     /*Y*/ { -2, -2, -2, -3, -2, -1, -2, -3,  2, -1, -1, -2,
  88.             -1,  3, -3, -2, -2,  2,  7, -1, -3, -2, -1, -4 },
  89.     /*V*/ {  0, -3, -3, -3, -1, -2, -2, -3, -3,  3,  1, -2,
  90.              1, -1, -2, -2,  0, -3, -1,  4, -3, -2, -1, -4 },
  91.     /*B*/ { -2, -1,  3,  4, -3,  0,  1, -1,  0, -3, -4,  0,
  92.             -3, -3, -2,  0, -1, -4, -3, -3,  4,  1, -1, -4 },
  93.     /*Z*/ { -1,  0,  0,  1, -3,  3,  4, -2,  0, -3, -3,  1,
  94.             -1, -3, -1,  0, -1, -3, -2, -2,  1,  4, -1, -4 },
  95.     /*X*/ {  0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1,
  96.             -1, -1, -2,  0,  0, -2, -1, -1, -1, -1, -1, -4 },
  97.     /***/ { -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
  98.             -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,  1 }
  99. };
  100. const SNCBIPackedScoreMatrix NCBISM_Blosum62 = {
  101.     "ARNDCQEGHILKMFPSTWYVBZX*",
  102.     s_Blosum62PSM[0],
  103.     -4
  104. };