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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Mod.hpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 18:08:51  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Mod.hpp,v 1000.1 2004/06/01 18:08:51 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:  .......
  35.  *
  36.  * File Description:
  37.  *   .......
  38.  *
  39.  * Remark:
  40.  *   This code was originally generated by application DATATOOL
  41.  *   using specifications from the data definition file
  42.  *   'omssa.asn'.
  43.  */
  44. #ifndef OBJECTS_OMSSA_MOD_HPP
  45. #define OBJECTS_OMSSA_MOD_HPP
  46. // generated includes
  47. #include <objects/omssa/MSMod.hpp>
  48. #include <objects/omssa/MSRequest.hpp>
  49. // generated classes
  50. BEGIN_NCBI_SCOPE
  51. BEGIN_objects_SCOPE // namespace ncbi::objects::
  52. ///
  53. /// the number of mods defined in asn.1 spec
  54. ///
  55. const int kNumMods = 9;
  56. ///
  57. /// Modification types
  58. /// there are five kinds of mods:
  59. /// 1. specific to an AA
  60. /// 2. N terminus, not specific to an AA
  61. /// 3. N terminus, specific to an AA
  62. /// 4. C terminus, not specific to an AA
  63. /// 5. C terminus, specific to an AA
  64. ///
  65. const int kNumModType = 5;
  66. enum EMSModType {
  67.     eModAA = 0,
  68.     eModN,
  69.     eModNAA,
  70.     eModC,
  71.     eModCAA
  72. };
  73. /////////////////////////////////////////////////////////////////////////////
  74. //
  75. //  Informational arrays for mods
  76. //
  77. //  These are separate arrays for speed considerations
  78. //
  79. ///
  80. /// categorizes existing mods as the types listed above
  81. ///
  82. const EMSModType ModTypes[kNumMods] = {
  83.     eModN,
  84.     eModAA,
  85.     eModNAA,
  86.     eModAA,
  87.     eModAA
  88. };
  89. ///
  90. /// the names of the various modifications codified in the asn.1
  91. ///
  92. char const * const kModNames[kNumMods] = {
  93.     "methylation of K",
  94.     "oxidation of methionine",
  95.     "carboxymethyl cysteine",
  96.     "carbamidomethyl cysteine",
  97.     "deamidation of K and Q",
  98.     "propionamide cysteine",
  99.     "phosphorylation of S",
  100.     "phosphorylation of T",
  101.     "phosphorylation of Y"
  102. };    
  103.  
  104. ///
  105. /// the characters to compare
  106. /// rows are indexed by mod
  107. /// column are the AA's modified (if any)
  108. ///
  109. const char ModChar [3][kNumMods] = {
  110.     {'x0a','x0c','x03','x03','x0d','x03','x11','x12','x16' },
  111.     {'x00','x00','x00','x00','x0f','x00','x00','x00','x00' },
  112.     {'x00','x00','x00','x00','x00','x00','x00','x00','x00' }
  113. };
  114. ///
  115. /// the number of characters to compare
  116. ///
  117. const int NumModChars[] = { 1, 1, 1, 1, 2, 1, 1, 1, 1 };
  118. ///
  119. /// the modification masses
  120. ///
  121. const int ModMass[] = { 1403, 1600, 5801, 5702, 98, 7104, 7997, 7997, 7997};
  122. /////////////////////////////////////////////////////////////////////////////
  123. //
  124. //  CMSMod::
  125. //
  126. //  Given a set of variable mods, sorts them into categories for quick access
  127. //
  128. class NCBI_XOMSSA_EXPORT CMSMod {
  129. public:
  130.     CMSMod(void) {};
  131.     CMSMod(const CMSRequest::TVariable &Mods);
  132.     // initialize variable mod type array
  133.     void Init(const CMSRequest::TVariable &Mods);
  134.     CMSRequest::TVariable &GetAAMods(EMSModType Type);    
  135. private:
  136.     CMSRequest::TVariable ModLists[kNumModType];
  137. };
  138. ///////////////////  CMSMod  inline methods
  139. inline CMSRequest::TVariable & CMSMod::GetAAMods(EMSModType Type) 
  140.     return ModLists[Type]; 
  141. }
  142. END_objects_SCOPE // namespace ncbi::objects::
  143. END_NCBI_SCOPE
  144. /*
  145. * ===========================================================================
  146. *
  147. * $Log: Mod.hpp,v $
  148. * Revision 1000.1  2004/06/01 18:08:51  gouriano
  149. * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3
  150. *
  151. * Revision 1.3  2004/05/27 20:52:15  lewisg
  152. * better exception checking, use of AutoPtr, command line parsing
  153. *
  154. * Revision 1.2  2004/03/04 02:22:49  lewisg
  155. * add msvc defines
  156. *
  157. * Revision 1.1  2004/03/01 18:24:07  lewisg
  158. * better mod handling
  159. *
  160. *
  161. * ===========================================================================
  162. */
  163. #endif // OBJECTS_OMSSA_MSMOD_HPP
  164. /* Original file checksum: lines: 63, chars: 1907, CRC32: 6c23d0ae */