00001 /*************************************************************************** 00002 *cr 00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 00004 *cr University of Illinois 00005 *cr All Rights Reserved 00006 *cr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * RCS INFORMATION: 00011 * 00012 * $RCSfile: Residue.h,v $ 00013 * $Author: johns $ $Locker: $ $State: Exp $ 00014 * $Revision: 1.36 $ $Date: 2019/01/17 21:21:01 $ 00015 * 00016 *************************************************************************** 00017 * DESCRIPTION: 00018 * This is based on the uniq_resid assigned in BaseMolecule 00019 * A residue knows the other residues to which it is connected. It also 00020 * has a list of all the atoms contained by this residue 00021 * 00022 ***************************************************************************/ 00023 #ifndef RESIDUE_H 00024 #define RESIDUE_H 00025 00026 #include "Atom.h" // to get enums from Atom 00027 #include "ResizeArray.h" 00028 00029 // these are secondary structure definitions from Stride 00030 #define SS_HELIX_ALPHA 0 00031 #define SS_HELIX_3_10 1 00032 #define SS_HELIX_PI 2 00033 #define SS_BETA 3 00034 #define SS_BRIDGE 4 00035 #define SS_TURN 5 00036 #define SS_COIL 6 00037 00041 class Residue { 00042 public: 00043 int resid; 00044 signed char residueType; 00045 signed char sstruct; 00046 00047 int fragment; 00048 00049 00050 ResizeArray<int> atoms; 00051 00052 Residue(int realid, int newtype) : atoms(3) { 00053 resid = realid; // non-unique resid from file... 00054 residueType = newtype; 00055 fragment = -1; 00056 sstruct = SS_COIL; 00057 } 00058 00059 void add_atom(int atomindex) { 00060 atoms.append(atomindex); 00061 }; 00062 }; 00063 00064 #endif 00065