GLYLIB  0.3.0b
PDB.h
Go to the documentation of this file.
00001 /** file PDB.h 
00002 
00003     Contains header info relevant to reading and writing PDB files. */
00004 
00005 #if !defined(GLYLIB_PDB)
00006 #define GLYLIB_PDB
00007 #include <molecules.h>
00008 #include <gly_codeutils.h>
00009 #include <gly_fileutils.h>
00010 #include <structures.h>
00011 
00012 /*
00013     PDB Writing Utilities
00014 
00015     In the following:
00016 
00017         isource = 'n' to use values stored in r.n and a.n
00018                   'i' to assign numbers automatically
00019         ai = the index to use for a current atom (serial)
00020         ri = the index to use for a current residue (resSeq)
00021         ainit = the atom number (serial) to start a list with
00022                 if -1 then the value saved in a.n will be used
00023         rinit = the residue number (resSeq) to start a list with
00024                 if -1 then the value saved in r.n will be used
00025         isave = common setting for asave and rsave
00026         asave = the index in a.i where the assigned serial should be saved
00027                 this is used for setting CONECT and LINK cards 
00028                 if -1, will not be saved
00029         rsave = the index in r.i where the assigned resSeq should be saved
00030                 this is used for setting CONECT and LINK cards 
00031                 if -1, will not be saved 
00032         raltname = if 'y', use the residue name stored in r.altname
00033                    instead of r.N -- if used with oneres='y', set them
00034                    all to be the same
00035         oneres = 'y' to make the whole molecule one residue
00036                  'n' to leave it as separate residues
00037         
00038 */
00039 int NUMAT;  /* Would like to get rid of this eventually */
00040 
00041 /** \addtogroup PDB
00042  * @{
00043  */
00044 fileslurp get_ensemble_PDB_ATOM_lines(ensemble *E,char isource, int savei,char raltname, int xs);
00045 
00046 fileslurp get_assembly_PDB_ATOM_lines(assembly *A,char isource, int savei,char raltname, int xs);
00047 fileslurp get_assembly_PDB_CONECT_lines(assembly *A, char isource, int savei);
00048 fileslurp get_molecule_PDB_CONECT_lines(molecule *m, int savei);
00049 fileslurp get_atom_PDB_CONECT_lines_assembly(assembly *A, atom *a, int savei);
00050 
00051 const char *get_PDB_line_for_ATOM(atom *a, residue *r,int ai, int ri, int asave, char raltname, int xs);
00052 
00053 void make_ATOM_HETATM(char *pdbline);
00054 
00055 fileslurp get_residue_PDB_ATOM_lines(residue *r,int ri,int ainit, int rsave, int asave,char raltname, int xs);
00056 
00057 fileslurp get_molecule_PDB_ATOM_lines(molecule *mol,int rinit,int ainit, int rsave,int asave, char oneres, char raltname, int xs);
00058 
00059 void outputMolPDB(molecule*,char*);  /* Writes a pdb using a given molecule -- deprecated */
00060 void outputAsmblPDB(assembly*,char*);/* Writes a pdb using a given assembly -- deprecated */
00061 /** @}*/
00062 
00063 #endif
 All Classes Files Functions Variables Typedefs Defines