#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include "pdb.h"
#include "array.h"
#include "MathType.h"
#include "SysDefs.h"
#include "macros.h"
#include "angle.h"
#include "secstr.h"
Go to the source code of this file.
#define ANINT |
( |
|
x | ) |
((REAL)(int)((x) + (((x) >= 0.0)?0.5:(-0.5)))) |
Value:sqrt(((a)[0]-(b)[0])*((a)[0]-(b)[0]) + \
((a)[1]-(b)[1])*((a)[1]-(b)[1]) + \
((a)[2]-(b)[2])*((a)[2]-(b)[2]))
Definition at line 181 of file secstr.c.
#define ATOM_N 0 /* atom indexes */ |
#define BRIDGE_SEP 2 /* bridge separation */ |
#define COORD_DIM 3 /* number of coord dimensions: x, y, z */ |
#define CST 0 /* Offsets to store HBond energies */ |
#define DIHED_PHI 0 /* dihedral indexes */ |
#define FREE_SECSTR_MEMORY |
Value:do { \
if(hbondEnergy !=
NULL)
\
if(detailSS !=
NULL) free(detailSS); \
if(finalSS !=
NULL) free(finalSS); \
if(breakSymbol !=
NULL) free(breakSymbol); \
if(residueTypes !=
NULL) free(residueTypes); \
if(bridgePoints !=
NULL) \
seqlenMalloc); \
} while(0)
void blFreeArray2D(char **array, int dim1, int dim2)
#define NUM_MC_ATOM_TYPES
void blFreeArray3D(char ***array, int dim1, int dim2, int dim3)
Definition at line 190 of file secstr.c.
#define HBOND_ENERGY_LIMIT -9.9 |
#define HBOND_MAX_CA_DIST 8.0 |
#define HELIX_CHUNK_SIZE 4 /* Helices are made in chunks of this */ |
#define MAX_CA_DISTANCE 5.0 /* maximum CA-CA distance */ |
#define MAX_HBOND_ENERGY -0.5 |
#define MAX_NUM_ANGLES 7 /* number of angles calculated */ |
#define MAX_NUM_HBOND 4 /* number of allowed H-bonds */ |
#define MAX_PEPTIDE_BOND 2.5 /* maximum peptide bond length */ |
Secondary structure calculation.
secstruc.c
- Version
- V1.1
- Date
- 10.07.15
- Copyright
- (c) Dr. Andrew C. R. Martin, UCL, 1988-2015
- Author
- Dr. Andrew C. R. Martin
- Institute of Structural & Molecular Biology, University College London, Gower Street, London. WC1E 6BT.
- andre.nosp@m.w@bi.nosp@m.oinf..nosp@m.org..nosp@m.uk andre.nosp@m.w.ma.nosp@m.rtin@.nosp@m.ucl..nosp@m.ac.uk
This code is NOT IN THE PUBLIC DOMAIN, but it may be copied according to the conditions laid out in the accompanying file COPYING.DOC.
The code may be modified as required, but any modifications must be documented so that the person responsible can be identified.
The code may not be sold commercially or included as part of a commercial product except as described in the file COPYING.DOC.
Description:
Usage:
Revision History:
V1.0 19.05.99 Original, written while at Inpharmatica By: ACRM V1.1 10.07.15 Modified for BiopLib 17.02.16 xyz for coordinates now count from zero CalcDihedral() also now uses arrays that count from zero 18.02.16 NUM_MC_ATOM_TYPES now counts from zero MAX_NUM_ANGLES now counts from zero
Definition at line 87 of file secstr.c.
#define NULLVAL 999.9 /* used as a NULL value */ |
#define NUM_BRIDGE 4 /* Max bridge index */ |
#define NUM_BRIDGE_PAIR 2 /* Paired strands for bridge */ |
#define NUM_DIHED_DATA 3 /* number of dihedral data points */ |
#define NUM_HELIX_TYPE 3 /* number of helix types */ |
#define NUM_MC_ATOM_TYPES 6 /* number of M/C atom types */ |
#define NUM_STANDARD_DIHEDRALS 4 /* number of standard dihedrals */ |
#define NUM_STRAND_PAIR 2 /* Paired strands */ |
#define NUM_STRUC_SYMS (11) /* number of structure symbols */ |
#define NUM_TURN_TYPE 3 /* number of turn types */ |
#define PIH_CHUNK_SIZE 5 /* Pi helices in chunks of this */ |
#define RADIAN (180.0/3.141592) /* constant to convert RADs to degrees */ |
#define SECSTR_IDX_ALPHAH 0 /* Symbol indexes */ |
#define SECSTR_IDX_BEND 9 |
#define SECSTR_IDX_BRIDG1 4 |
#define SECSTR_IDX_BRIDG2 5 |
#define SECSTR_IDX_BRIDGE 3 |
#define SECSTR_IDX_CHISGN 10 |
#define SECSTR_IDX_SHEET 2 |
#define SECSTR_IDX_SHEET1 1 |
#define SECSTR_IDX_THRTNH 6 |
#define SECSTR_IDX_TURN 8 |
#define THREE_TEN_CHUNK_SIZE 3 /* 3_10 helices in chunks of this */ |
int blCalcSecStrucPDB |
( |
PDB * |
pdbStart, |
|
|
PDB * |
pdbStop, |
|
|
BOOL |
verbose |
|
) |
| |
- Parameters
-
[in] | *pdbStart | Start of PDB linked list |
[in] | *pdbStop | End of PDB linked list (NULL or pointer to start of next chain) |
[in] | verbose | Provide informational messages |
- Returns
- 0 - success -ve - error (See SECSTR_ERR_xxxxx)
Calculate secondary structure populating the ss field of the PDB structure.
- 19.05.99 Original By: ACRM
- 27.05.99 Standard format for messages
- 09.06.99 Warning only issued if not quiet
- 10.07.15 Modified for BiopLib
- 09.03.16 Zero-basing
- 10.08.16 Completed zero-basing
Definition at line 315 of file secstr.c.