1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
/*
Theseus - maximum likelihood superpositioning of macromolecular structures
Copyright (C) 2004-2015 Douglas L. Theobald
This file is part of THESEUS.
THESEUS is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
THESEUS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with THESEUS in the file 'COPYING'. If not, see
<http://www.gnu.org/licenses/>.
-/_|:|_|_\-
*/
#ifndef DSSPLITE_SEEN
#define DSSPLITE_SEEN
typedef double Vector[3];
typedef struct DSSP_
{
/* PDB file vectors */
double *x, *y, *z;
char **resName, **name;
int *resSeq;
/* DSSP vectors */
int len;
double **C, **O, **N, **H, **CA;
char **residue; /* name of residue */
int *Hbond;
int **bondatm;
int **bridgeP, **bridgeA;
int *bridgePn, *bridgeAn;
int *bend;
int *turn5, *turn4, *turn3;
int *cys, *disulph;
char *summary;
} DSSP;
char
*dssplite(double *x, double *y, double *z,
char **resName, int *resSeq, char **name,
int len);
char
*dssplite_interleave(double *coords,
char **resName, int *resSeq, char **name,
int len);
char
*dssplite_mat(double **coords,
char **resName, int *resSeq, char **name,
int len);
int
TestHBond(DSSP *dssp, int hb1, int hb2);
void
FlagBends(DSSP *dssp);
void
FlagTurns(DSSP *dssp);
void
Find5Helices(DSSP *dssp);
void
Find3Helices(DSSP *dssp);
void
FlagBridges(DSSP *dssp);
void
FindStrands(DSSP *dssp);
int
isbridgeP(DSSP *dssp, int atom);
int
isbridgeA(DSSP *dssp, int atom);
int
eqbridgeP(DSSP *dssp, int atom1, int atom2);
int
eqbridgeA(DSSP *dssp, int atom1, int atom2);
void
Find4Helices(DSSP *dssp);
int
FlagHBonds(DSSP *dssp);
void
GetCONHCA(DSSP *dssp);
double
Distance(double **atom1, int atmid1, double **atom2, int atmid2);
double
DistanceSqr(double **atom1, int atmid1, double **atom2, int atmid2);
double
Dihedralangle(double **Ad, int An,
double **Bd, int Bn,
double **Cd, int Cn,
double **Dd, int Dn);
int
HbondEnergy(DSSP *dssp, int co, int nh);
DSSP
*DSSPinit(void);
void
DSSPalloc(DSSP *dssp, int len);
void
DSSPfree(DSSP **dssp);
void
PrintCONHCA(DSSP *dssp);
void
PrintSummary(DSSP *dssp);
#endif
|