NCBI C Toolkit Cross Reference

C/biostruc/mmdbapi2.h


  1 /*   mmdbapi2.h
  2 * ===========================================================================
  3 *
  4 *                            PUBLIC DOMAIN NOTICE
  5 *            National Center for Biotechnology Information (NCBI)
  6 *
  7 *  This software/database is a "United States Government Work" under the
  8 *  terms of the United States Copyright Act.  It was written as part of
  9 *  the author's official duties as a United States Government employee and
 10 *  thus cannot be copyrighted.  This software/database is freely available
 11 *  to the public for use. The National Library of Medicine and the U.S.
 12 *  Government do not place any restriction on its use or reproduction.
 13 *  We would, however, appreciate having the NCBI and the author cited in
 14 *  any work or product based on this material
 15 *
 16 *  Although all reasonable efforts have been taken to ensure the accuracy
 17 *  and reliability of the software and data, the NLM and the U.S.
 18 *  Government do not and cannot warrant the performance or results that
 19 *  may be obtained by using this software or data. The NLM and the U.S.
 20 *  Government disclaim all warranties, express or implied, including
 21 *  warranties of performance, merchantability or fitness for any particular
 22 *  purpose.
 23 *
 24 * ===========================================================================
 25 *
 26 * File Name:  mmdbapi2.h
 27 *
 28 * Author:  Christopher Hogue
 29 *
 30 * Version Creation Date:   07/24/95
 31 *
 32 * $Revision: 6.2 $
 33 *
 34 * File Description:  Traversers & Data Lookup
 35 *
 36 * Modifications:  
 37 * --------------------------------------------------------------------------
 38 * Date     Name        Description of modification
 39 * -------  ----------  -----------------------------------------------------
 40 * 95/08/28 C. Hogue    Major change to new Biostruc ASN.1 v4.0,
 41 *                      PDB file generators, Kinemage file moved to 
 42 *                      mmdbapi3.h
 43 *                      Model nodes and Dictionaries altered...
 44 *
 45 *  95/08/30 C. Hogue   Moved globals into mmdbapi2.c
 46 *
 47 *
 48 * $Log: mmdbapi2.h,v $
 49 * Revision 6.2  2000/03/31 22:30:47  lewisg
 50 * fix output of CONECT, create intrabond traverser, misc bugs
 51 *
 52 * Revision 6.1  1999/03/30 22:31:12  ywang
 53 * add GetMGFromMM & GetMMFromMSDBySeqId
 54 *
 55 * Revision 6.0  1997/08/25 18:11:06  madden
 56 * Revision changed to 6.0
 57 *
 58 * Revision 5.4  1997/06/19 18:40:05  vakatov
 59 * [WIN32,MSVC++]  Adopted for the "NCBIOBJ.LIB" DLL'ization
 60 *
 61 * Revision 5.3  1997/03/19 16:48:40  hogue
 62 * Added fn SeqStringFromMol.
 63 *
 64  * Revision 5.2  1997/01/31  21:41:12  hogue
 65  * removed a static function that Denis complained about.
 66  *
 67  * Revision 5.1  1997/01/27  21:41:10  hogue
 68  * Added function to find a chain based on PDB chain code (char)
 69  *
 70  * Revision 5.0  1996/05/28  14:02:09  ostell
 71  * Set to revision 5.0
 72  *
 73  * Revision 1.7  1996/05/22  20:43:48  hogue
 74  * Added new API functions GetFirstGraph, GetNextGraph, GetPrevGraph, GetMainAtom
 75  *
 76  * Revision 1.6  1995/10/07  15:31:31  hogue
 77  * Selenium not an ion...
 78  *
 79  * Revision 1.5  1995/09/05  19:11:08  hogue
 80  * Enlarged virtual bond size for old 1HDS sizes, unknown elements fix.
 81  *
 82  * Revision 1.4  1995/08/30  19:36:44  kans
 83  * numerous changes
 84  *
 85  * Revision 1.3  1995/08/28  19:31:53  kans
 86  * version 4.1
 87  *
 88  * Revision 1.1  1995/08/02  17:07:15  kans
 89  * Initial revision
 90  *
 91 *
 92 * ==========================================================================
 93 */
 94 /*****************************************************************************
 95 *
 96 *  mmdbapi2.h
 97 *   
 98 *  UNDER CONSTRUCTION NOTICE.  
 99 *       SUBJECT TO RADICAL CHANGES...
100 *   
101 *  programmer C.W.V. Hogue
102 *  created: 24 JULY 95
103 *  last mod: 28 AUGUST 95
104 *****************************************************************************/
105 
106 #ifndef _MMDBAPI2_
107 #define _MMDBAPI2_
108 
109 
110 #define TRAVERSE_ALL 0
111 #define TRAVERSE_MOLECULE 1
112 #define TRAVERSE_GRAPH 2
113 #define TRAVERSE_ATOM 3
114 #define TRAVERSE_BOND 4
115 #define TRAVERSE_SOLID  5
116 #define TRAVERSE_IBOND 6
117 /* traverse all intraresidue bonds for a structure */
118 #define TRAVERSE_INTRABOND 7
119 
120 #define VIRTUAL_BOND_CHOICE 7 
121 
122 #define VIRTUAL_BOND_AA_MAX 4.5
123 #define VIRTUAL_BOND_AA_MAX_SQ 20.25
124 
125 #define VIRTUAL_BOND_NA_MAX 7.8
126 #define VIRTUAL_BOND_NA_MAX_SQ 60.84
127  
128 #define MAX_NCBIstdaa 26
129 #define MAX_NCBI4na 17
130 #define USE_UPPERCASE 1
131 #define USE_LOWERCASE 2
132 #define USE_MIXCASE   3
133 #define USE_FULLNAME  4
134 
135 #define MAX_ELEMENTS 105
136 #define MAX_NOT_ION 17
137  
138 
139 
140 /* FUNCTION PROTOTYPES */
141 
142 #undef NLM_EXTERN
143 #ifdef NLM_IMPORT
144 #define NLM_EXTERN NLM_IMPORT
145 #else
146 #define NLM_EXTERN extern
147 #endif
148 
149 #ifdef __cplusplus
150 extern "C" {
151 #endif
152 
153 Int2 LIBCALL TraverseSolids( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
154                           Pointer ptr, pNodeFunc pfnCallMe);
155 Int2 LIBCALL TraverseIntraBonds( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex,
156                           Pointer ptr, pNodeFunc pfnCallMe);
157 Int2 LIBCALL TraverseBonds( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
158                           Pointer ptr, pNodeFunc pfnCallMe);
159 Int2 LIBCALL TraverseIBonds( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
160                           Pointer ptr, pNodeFunc pfnCallMe);
161 Int2 LIBCALL TraverseAtoms( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
162                           Pointer ptr, pNodeFunc pfnCallMe);
163 Int2 LIBCALL TraverseGraphs( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
164                           Pointer ptr, pNodeFunc pfnCallMe);
165 Int2 LIBCALL TraverseMolecules( DValNodePtr pdnModel, Int4 iModel, Int4 iIndex, 
166                           Pointer ptr, pNodeFunc pfnCallMe);
167 Int2 LIBCALL TraverseModels(DValNodePtr pdnModel, Int2 iTraverse, 
168      Int4 iIndex, Pointer ptr,  pNodeFunc pfnCallMe);
169 Int2 LIBCALL TraverseOneModel(DValNodePtr pdnModel, Int2 iTraverse, Int2 iModel, 
170                         Int4 iIndex, Pointer ptr, pNodeFunc pfnCallMe);
171 Int2 LIBCALL IndexFromNode(PFB pfbNode);
172 PMSD LIBCALL ToMSDParent(PFB pfbThis);
173 CharPtr LIBCALL ParentStrucName(PFB pfbThis);
174 PMGD LIBCALL GetParentGraph(PFB pfbThis);
175 CharPtr LIBCALL ParentGraphPDBNo(PFB pfbThis);
176 CharPtr LIBCALL ParentGraphPDBName(PFB pfbThis);
177 CharPtr LIBCALL ParentGraphIUPAC1(PFB pfbThis);
178 Int2 LIBCALL ParentGraphNum(PFB pfbThis);
179 PMMD LIBCALL GetParentMol(PFB pfbThis);
180 CharPtr LIBCALL ParentMolName(PFB pfbThis);
181 Int2 LIBCALL ParentMolNum(PFB pfbThis);
182 PFB LIBCALL PFBFromVN(ValNodePtr pvnModel);
183 PFB LIBCALL PFBFromDN(DValNodePtr pdnModel);
184 DValNodePtr DNFromPFB(PFB pfbThis);
185 Int2 LIBCALL SetActiveModel(PFB pfbThis, Int2 iModel);
186 Int2 LIBCALL GetActiveModel(PFB pfbThis);
187 PALD LIBCALL GetAtomLocs(PMAD pmadThis,  Int2 iModel);
188 PALD LIBCALL GetLocation(PALD paldList,  Int2 iCoord,  Char cAlt);
189 NLM_EXTERN Int4 LIBCALL AssignAtomLocId(PDNMS pdnmsThis);
190 CharPtr LIBCALL ElementName(Int1 iAtomicNo);
191 FloatLo LIBCALL ElementSize(Int1 iAtomicNo);
192 CharPtr LIBCALL AminoAcidName(Char cThis, Int2 iRetCode);
193 CharPtr LIBCALL AminoAcidNameFromIdx(Int2 iIndex, Int2 iRetCode);
194 void LIBCALLBACK SetBackBone(PFB pfbThis, Int4 iModel, Int4 iIndex, Pointer ptr);
195 NLM_EXTERN void LIBCALL AssignBackBone(PDNMS pdnmsThis);
196 FloatLo LIBCALL AtomDistanceSq(PMAD pmadFrom, PMAD pmadTo, Int2 iModel, Char cAlt);
197 void LIBCALLBACK LinkAlpha(PFB pfbThis,  Int4 iModel,  Int4 iIndex,  Pointer ptr);
198 void LIBCALLBACK SetVirtualBB(PFB pfbThis,  Int4 iModel,  Int4 iIndex,  Pointer ptr);
199 NLM_EXTERN void LIBCALL AssignVirtual(PDNMS pdnmsThis);
200 void LIBCALLBACK SetIons(PFB pfbThis,  Int4 iModel,  Int4 iIndex,  Pointer ptr);
201 NLM_EXTERN void LIBCALL AssignIons(PDNMS pdnmsThis);
202 PDNMG LIBCALL GetFirstGraph(PMMD pmmdThis);
203 PDNMG LIBCALL GetLastGraph(PMMD pmmdThis);
204 PDNMG LIBCALL GetNextGraph(PDNMG pdnmgThis);
205 PDNMG LIBCALL GetPrevGraph(PDNMG pdnmgThis);
206 PMAD LIBCALL GetMainAtom(PDNMG pdnmgThis);
207 void LIBCALLBACK FindMolByChar(PFB pfbThis, Int4 iModel, Int4 iIndex, Pointer ptr);
208 PDNMM LIBCALL MolFromPDBChain(PDNMS pdnmsThis,  char c);
209 CharPtr LIBCALL SeqStringFromMol(PDNMM pdnmmThis);
210 PMGD LIBCALL GetMGFromMM(PMMD pmmdThis, Int4 iRes);
211 PMMD LIBCALL GetMMFromMSDBySeqId(PMSD pmsdThis, SeqIdPtr sip);
212 
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 
218 #undef NLM_EXTERN
219 #ifdef NLM_EXPORT
220 #define NLM_EXTERN NLM_EXPORT
221 #else
222 #define NLM_EXTERN
223 #endif
224 
225 #endif
226 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.