Skip to content
Commits on Source (8)
*~
*.o
\ No newline at end of file
.pc
\ No newline at end of file
MACHINEFLAGS =
CFLAGS = $(MACHINEFLAGS)
LFLAGS = -static -lm $(MACHINEFLAGS)
LFLAGS = -lm $(MACHINEFLAGS)
OBJLIST = dots.o abin.o readPDBrecs.o geom3d.o utility.o select.o \
parse.o atomprops.o stdconntable.o autobondrot.o hybrid_36_c.o
......
# This Makefile for Probe was adopted from the gcc makefile, it will
# generate a MACH-O file containing any mixture of MacOSX 32 bit
# ( -arch i386 or -arch ppc) or MacOSX 64 bit ( -arch x86_64 or -arch ppc64 )
# executables. It is up to the user of the makefile to choose which flags
# are appropriate; but as a reminder, 10.7 is only intel 64 bit, 10.6 is only
# intel.
# When using a compiler from a later OS to compile against an earlier SDK,
# minimum OS flag will need to be added after the arch flag(s). So for
# compilation of a Snow Leopard ( 10.6 ) executable on a Lion ( 10.7 ) OS
# computer, one should use the MacOSX10.6.sdk, the arch flag(s) i386 and/or
# x86_64, AND a "MINOS = -mmacosx-version-min=10.6"
ARCHFLAGi32 = -arch i386
ARCHFLAGi64 = -arch x86_64
ARCHFLAGp31 = -arch ppc
ARCHFLAGp64 = -arch ppc64
MINOS =
# MINOS = -mmacosx-version-min=10.5
# MINOS = -mmacosx-version-min=10.6
CFLAGS = -isysroot /Developer/SDKs/MacOSX10.7.sdk $(ARCHFLAGi64) $(MINOS)
LFLAGS = -lm -Wl,-syslibroot,/Developer/SDKs/MacOSX10.7.sdk $(ARCHFLAGi64) $(MINOS)
OBJLIST = dots.o abin.o readPDBrecs.o geom3d.o utility.o select.o \
parse.o atomprops.o stdconntable.o autobondrot.o hybrid_36_c.o
# Probe Makefile for Mac OS X 10.8.x (Mountain Lion).
# Uses 10.8 SDK with compiler flag declaring exec to be backward compatible
# to Mac OS X 10.6 (Snow Leopard); -mmacosx-version-min=10.6
# Either (or both) Intel architecture flags can be used: -arch i386 to create
# a 32bit MACH-O exec, -arch x86_64 to create a 64bit MACH-O exec.
# Either copy the Makefile.macOSX to Makefile to run the standard make command;
# or use 'make -f Makefile.macOSX'.
MIN_OS = -mmacosx-version-min=10.6
SDK_HOME = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
MACHINEFLAGS = -arch x86_64
CFLAGS = -isysroot $(SDK_HOME) $(MACHINEFLAGS) $(MIN_OS)
LFLAGS = -lm -Wl,-syslibroot,$(SDK_HOME) $(MACHINEFLAGS) $(MIN_OS)
OBJLIST = dots.o select.o readPDBrecs.o geom3d.o stdconntable.o \
abin.o parse.o atomprops.o utility.o autobondrot.o \
hybrid_36_c.o
.c.o:
cc -c $*.c $(CFLAGS)
......@@ -35,26 +26,26 @@ clean:
@rm -f *.o *.ckp
install: probe
mv probe /local/bin
mv probe /usr/local/bin
installtest: probe
mv probe /local/bin/probeTest
mv probe /usr/local/bin/probeTest
# DO NOT DELETE THIS LINE -- make depend uses it
abin.o: abin.h geom3d.h utility.h abin.c
atomprops.o: atomprops.h atomprops.c
autobondrot.o: abin.h autobondrot.h geom3d.h readPDBrecs.h \
utility.h autobondrot.c
dots.o: dots.h geom3d.h dots.c
geom3d.o: geom3d.h geom3d.c
parse.o: parse.h utility.h parse.c
probe.o: abin.h atomprops.h autobondrot.h dots.h geom3d.h \
parse.h probe.h readPDBrecs.h select.h \
stdconntable.h utility.h probe.c
readPDBrecs.o: geom3d.h readPDBrecs.h utility.h readPDBrecs.c
select.o: abin.h atomprops.h geom3d.h parse.h select.h \
stdconntable.h utility.h select.c
stdconntable.o: stdconntable.h stdconntable.c
abin.o: ./abin.h ./geom3d.h ./utility.h abin.c
atomprops.o: ./atomprops.h atomprops.c
autobondrot.o: ./abin.h ./autobondrot.h ./geom3d.h ./readPDBrecs.h \
./utility.h autobondrot.c
dots.o: ./dots.h ./geom3d.h dots.c
geom3d.o: ./geom3d.h geom3d.c
parse.o: ./parse.h ./utility.h parse.c
probe.o: ./abin.h ./atomprops.h ./autobondrot.h ./dots.h ./geom3d.h \
./parse.h ./probe.h ./readPDBrecs.h ./select.h \
./stdconntable.h ./utility.h probe.c
readPDBrecs.o: ./geom3d.h ./readPDBrecs.h ./utility.h readPDBrecs.c
select.o: ./abin.h ./atomprops.h ./geom3d.h ./parse.h ./select.h \
./stdconntable.h ./utility.h select.c
stdconntable.o: ./stdconntable.h stdconntable.c
utility.o: utility.c
hybrid_36_c.o: hybrid_36_c.h hybrid_36_c.c
hybrid_36_c.o: ./hybrid_36_c.h hybrid_36_c.c
# DO NOT DELETE THIS 2nd LINE -- make depend uses it
......@@ -43,6 +43,11 @@ v2.5 (7/25/01) - Selections can now refer to negative residue numbers.
space to prevent the selection from being treated as
a command line option.)
v2.6 (10/28/2011) - Introduced the -condense flag, which when used with the -u option
will give one line per source atom - target atom pair. Also it will give
the number of dots in that interaction, as an additional column.
(Changes made by Swati Jain)
USAGE:
Probe was designed for UNIX and the commands described below follow the
UNIX conventions. For a brief description of probe features, run "probe"
......@@ -116,6 +121,10 @@ Even more dot information for each dot can be tabulated with -unformated
probe -unformated -self "all" mypdbH > rawinfo.table
If you need just one line/sot per source atom - target atom pair, use -condense
probe -unformated -condense -self -mc MC mypdbH > reducedinfo.table
You can create surface dots
probe -out all 1filH.pdb >> surfacedots.kin
......
......@@ -88,7 +88,7 @@ typedef struct residue_t {
char resname[5]; /* residue name */
char resInsCode; /* insertion code */
char chain[3]; /* peptide chain code */
char chain[5]; /* peptide chain code */
} residue, *residuePtr;
typedef struct {
......
......@@ -22,6 +22,8 @@ static atomProp* AtomTblIndex[NUMATOMTYPES];
static float ExplMaxRad = 0.0;
static float ImplMaxRad = 0.0;
extern int NuclearRadii; /* defined in probe.c JJH */
void initalizeAtomTbl() {
int i;
atomProp *ap;
......@@ -37,13 +39,31 @@ void initalizeAtomTbl() {
AtomTblIndex[ap->type] = ap;
if (ap->iRad > ImplMaxRad){ ImplMaxRad = ap->iRad; }
if (!NuclearRadii) {
if (ap->eRad > ExplMaxRad){ ExplMaxRad = ap->eRad; }
}
else {
if (ap->eRad_nuc > ExplMaxRad){ ExplMaxRad = ap->eRad_nuc; }
}
}
}
int getAtno(int a) { return AtomTblIndex[a]->atno; }
char* getAtomName(int a) { return AtomTblIndex[a]->name; }
float getExplRad(int a) { return AtomTblIndex[a]->eRad; }
float getExplRad(int a) {
if (NuclearRadii) {
/*if ( (strcmp(AtomTblIndex[a]->name, "H") == 0) ||
(strcmp(AtomTblIndex[a]->name, "Har") == 0) ||
(strcmp(AtomTblIndex[a]->name, "Hpol") == 0) ||
(strcmp(AtomTblIndex[a]->name, "HOd") == 0) ) {
return ( (AtomTblIndex[a]->eRad - 0.05) );
}*/
return AtomTblIndex[a]->eRad_nuc;
}
else {
return AtomTblIndex[a]->eRad;
}
}
float getImplRad(int a) { return AtomTblIndex[a]->iRad; }
float getCovRad(int a) { return AtomTblIndex[a]->covRad; }
char* getColor(int a) { return AtomTblIndex[a]->color; }
......
......@@ -34,7 +34,8 @@ typedef struct atomProp_t {
int type; /* atom identifier */
int atno; /* atomic number */
char* name; /* atom name */
float eRad; /* (explicit H) VDW radius */
float eRad; /* (explicit H) ecloud VDW radius */
float eRad_nuc; /* (explicit H) nuclear VDW radius */
float iRad; /* (implicit H) VDW radius */
float covRad; /* covalent radius */
char* color; /* dot color */
......@@ -60,7 +61,7 @@ int atomHasProp(int a, int f);
enum atomIdentifiers {
noAtom=0, ignoreAtom,
atomH, atomHarom, atomHpolar, atomHOd,
atomC, atomN, atomO, atomF, atomS, atomP,
atomC, atomCarom, atomN, atomO, atomF, atomS, atomP,
atomAc, atomAg, atomAl, atomAm, atomAr, atomAs, atomAt, atomAu,
atomB, atomBa, atomBe, atomBi, atomBk, atomBr, atomCa, atomCd,
......@@ -84,6 +85,7 @@ enum atomIdentifiers {
};
#define isHatom(atype) (getAtno(atype) == 1)
#define isCatom(atype) (getAtno(atype) == 6)
#define NUMATOMTYPES endAtomTypes
#define COVRADFUDGE 0.2
......@@ -103,73 +105,75 @@ enum atomIdentifiers {
/*type; atom identifier */
/*atno; atomic number */
/*name; atom name */
/*eRad; (explicit H) VDW radius */
/*eRad; (explicit H) ecloud VDW radius */
/*eRad_nuc; (explicit H) nuclear VDW radius */ //jjh 130307
/*iRad; (implicit H) VDW radius */
/*covRad; covalent radius */
/*color; dot color */
/*flags; element features */
atomProp AtomTbl[NUMATOMTYPES] = { /* noAtom must be first */
{noAtom, 0, "?", 1.00, 0.00, 0.00, "magenta", 0},
{ignoreAtom, 0, ".", 0.00, 0.00, 0.00, "grey", 0},
{atomH, 1, "H", 1.17, 0.00, 0.30, "grey", 0},
{atomHarom, 1, "Har", 1.00, 0.00, 0.30, "grey", 0},
{atomHpolar, 1, "Hpol", 1.00, 0.00, 0.30, "grey", 0},
{atomHOd, 1, "HOd", 1.00, 0.00, 0.30, "grey", 0},/*hb-only-dummy*/
{atomC, 6, "C", 1.75, 1.90, 0.77, "white", 0},
{atomN, 7, "N", 1.55, 1.70, 0.70, "sky", 0},
{atomO, 8, "O", 1.40, 1.50, 0.66, "red", 0},
{atomP, 15, "P", 1.80, 1.80, 1.10, "pink", 0},
{atomS, 16, "S", 1.80, 1.90, 1.04, "yellow", 0},
{atomAs, 33, "As", 2.00, 2.10, 1.21, "grey", 0},
{atomSe, 34, "Se", 1.90, 2.00, 1.17, "green", 0},
{noAtom, 0, "?", 1.05, 1.05, 0.00, 0.00, "magenta", 0},
{ignoreAtom, 0, ".", 0.00, 0.00, 0.00, 0.00, "grey", 0},
{atomH, 1, "H", 1.22, 1.17, 0.00, 0.30, "grey", 0},
{atomHarom, 1, "Har", 1.05, 1.00, 0.00, 0.30, "grey", 0},
{atomHpolar, 1, "Hpol", 1.05, 1.00, 0.00, 0.30, "grey", 0},
{atomHOd, 1, "HOd", 1.05, 1.00, 0.00, 0.30, "grey", 0},/*hb-only-dummy*/
{atomC, 6, "C", 1.70, 1.70, 1.90, 0.77, "white", 0},
{atomCarom, 6, "Car", 1.75, 1.75, 1.90, 0.77, "white", 0},
{atomN, 7, "N", 1.55, 1.55, 1.70, 0.70, "sky", 0},
{atomO, 8, "O", 1.40, 1.40, 1.50, 0.66, "red", 0},
{atomP, 15, "P", 1.80, 1.80, 1.80, 1.10, "pink", 0},
{atomS, 16, "S", 1.80, 1.80, 1.90, 1.04, "yellow", 0},
{atomAs, 33, "As", 2.00, 2.00, 2.10, 1.21, "grey", 0},
{atomSe, 34, "Se", 1.90, 1.90, 2.00, 1.17, "green", 0},
/*dcr041007 halides given IONIC_ATOM_FLAG*/
{atomF, 9, "F", 1.30, 1.30, 0.58, "green", IONIC_ATOM_FLAG},
{atomCl, 17, "Cl", 1.77, 1.77, 0.99, "green", IONIC_ATOM_FLAG},
{atomBr, 35, "Br", 1.95, 1.95, 1.14, "brown", IONIC_ATOM_FLAG},
{atomI, 53, "I", 2.10, 2.10, 1.33, "brown", IONIC_ATOM_FLAG},
{atomF, 9, "F", 1.30, 1.30, 1.30, 0.58, "green", IONIC_ATOM_FLAG},
{atomCl, 17, "Cl", 1.77, 1.77, 1.77, 0.99, "green", IONIC_ATOM_FLAG},
{atomBr, 35, "Br", 1.95, 1.95, 1.95, 1.14, "brown", IONIC_ATOM_FLAG},
{atomI, 53, "I", 2.10, 2.10, 2.10, 1.33, "brown", IONIC_ATOM_FLAG},
/* for most common metals we use Pauling's ionic radii */
/* "covalent radii" = ionic + 0.74 (i.e., oxygenVDW(1.4) - oxygenCov(0.66)) */
/* because the ionic radii are usually calculated from Oxygen-Metal distance */
{atomLi, 3, "Li", 0.60, 0.60, 1.34, "grey", METALIC_ATOM_FLAG},
{atomNa, 11, "Na", 0.95, 0.95, 1.69, "grey", METALIC_ATOM_FLAG},
{atomAl, 13, "Al", 0.50, 0.50, 1.24, "grey", METALIC_ATOM_FLAG},
{atomK, 19, "K", 1.33, 1.33, 2.07, "grey", METALIC_ATOM_FLAG},
{atomMg, 12, "Mg", 0.65, 0.65, 1.39, "grey", METALIC_ATOM_FLAG},
{atomCa, 20, "Ca", 0.99, 0.99, 1.73, "grey", METALIC_ATOM_FLAG},
{atomMn, 25, "Mn", 0.80, 0.80, 1.54, "grey", METALIC_ATOM_FLAG},
{atomFe, 26, "Fe", 0.74, 0.74, 1.48, "grey", METALIC_ATOM_FLAG},
{atomCo, 27, "Co", 0.70, 0.70, 1.44, "blue", METALIC_ATOM_FLAG},
{atomNi, 28, "Ni", 0.66, 0.66, 1.40, "grey", METALIC_ATOM_FLAG},
{atomCu, 29, "Cu", 0.72, 0.72, 1.46,"orange",METALIC_ATOM_FLAG},
{atomZn, 30, "Zn", 0.71, 0.71, 1.45, "grey", METALIC_ATOM_FLAG},
{atomRb, 37, "Rb", 1.48, 1.48, 2.22, "grey", METALIC_ATOM_FLAG},
{atomSr, 38, "Sr", 1.10, 1.10, 1.84, "grey", METALIC_ATOM_FLAG},
{atomMo, 42, "Mo", 0.93, 0.93, 1.67, "grey", METALIC_ATOM_FLAG},
{atomAg, 47, "Ag", 1.26, 1.26, 2.00, "white",METALIC_ATOM_FLAG},
{atomCd, 48, "Cd", 0.91, 0.91, 1.65, "grey", METALIC_ATOM_FLAG},
{atomIn, 49, "In", 0.81, 0.81, 1.55, "grey", METALIC_ATOM_FLAG},
{atomCs, 55, "Cs", 1.69, 1.69, 2.43, "grey", METALIC_ATOM_FLAG},
{atomBa, 56, "Ba", 1.29, 1.29, 2.03, "grey", METALIC_ATOM_FLAG},
{atomAu, 79, "Au", 1.10, 1.10, 1.84, "gold", METALIC_ATOM_FLAG},
{atomHg, 80, "Hg", 1.00, 1.00, 1.74, "grey", METALIC_ATOM_FLAG},
{atomTl, 81, "Tl", 1.44, 1.44, 2.18, "grey", METALIC_ATOM_FLAG},
{atomPb, 82, "Pb", 0.84, 0.84, 1.58, "grey", METALIC_ATOM_FLAG},
{atomLi, 3, "Li", 0.60, 0.60, 0.60, 1.34, "grey", METALIC_ATOM_FLAG},
{atomNa, 11, "Na", 0.95, 0.95, 0.95, 1.69, "grey", METALIC_ATOM_FLAG},
{atomAl, 13, "Al", 0.50, 0.50, 0.50, 1.24, "grey", METALIC_ATOM_FLAG},
{atomK, 19, "K", 1.33, 1.33, 1.33, 2.07, "grey", METALIC_ATOM_FLAG},
{atomMg, 12, "Mg", 0.65, 0.65, 0.65, 1.39, "grey", METALIC_ATOM_FLAG},
{atomCa, 20, "Ca", 0.99, 0.99, 0.99, 1.73, "grey", METALIC_ATOM_FLAG},
{atomMn, 25, "Mn", 0.80, 0.80, 0.80, 1.54, "grey", METALIC_ATOM_FLAG},
{atomFe, 26, "Fe", 0.74, 0.74, 0.74, 1.48, "grey", METALIC_ATOM_FLAG},
{atomCo, 27, "Co", 0.70, 0.70, 0.70, 1.44, "blue", METALIC_ATOM_FLAG},
{atomNi, 28, "Ni", 0.66, 0.66, 0.66, 1.40, "grey", METALIC_ATOM_FLAG},
{atomCu, 29, "Cu", 0.72, 0.72, 0.72, 1.46,"orange",METALIC_ATOM_FLAG},
{atomZn, 30, "Zn", 0.71, 0.71, 0.71, 1.45, "grey", METALIC_ATOM_FLAG},
{atomRb, 37, "Rb", 1.48, 1.48, 1.48, 2.22, "grey", METALIC_ATOM_FLAG},
{atomSr, 38, "Sr", 1.10, 1.10, 1.10, 1.84, "grey", METALIC_ATOM_FLAG},
{atomMo, 42, "Mo", 0.93, 0.93, 0.93, 1.67, "grey", METALIC_ATOM_FLAG},
{atomAg, 47, "Ag", 1.26, 1.26, 1.26, 2.00, "white",METALIC_ATOM_FLAG},
{atomCd, 48, "Cd", 0.91, 0.91, 0.91, 1.65, "grey", METALIC_ATOM_FLAG},
{atomIn, 49, "In", 0.81, 0.81, 0.81, 1.55, "grey", METALIC_ATOM_FLAG},
{atomCs, 55, "Cs", 1.69, 1.69, 1.69, 2.43, "grey", METALIC_ATOM_FLAG},
{atomBa, 56, "Ba", 1.29, 1.29, 1.29, 2.03, "grey", METALIC_ATOM_FLAG},
{atomAu, 79, "Au", 1.10, 1.10, 1.10, 1.84, "gold", METALIC_ATOM_FLAG},
{atomHg, 80, "Hg", 1.00, 1.00, 1.00, 1.74, "grey", METALIC_ATOM_FLAG},
{atomTl, 81, "Tl", 1.44, 1.44, 1.44, 2.18, "grey", METALIC_ATOM_FLAG},
{atomPb, 82, "Pb", 0.84, 0.84, 0.84, 1.58, "grey", METALIC_ATOM_FLAG},
/* for other metals we use Shannon's ionic radii */
/* Acta Crystallogr. (1975) A32, pg751. */
{atomV, 23, "V", 0.79, 0.79, 1.53, "grey", METALIC_ATOM_FLAG},
{atomCr, 24, "Cr", 0.73, 0.73, 1.47, "grey", METALIC_ATOM_FLAG},
{atomTe, 52, "Te", 0.97, 0.97, 1.71, "grey", METALIC_ATOM_FLAG},
{atomSm, 62, "Sm", 1.08, 1.08, 1.82, "grey", METALIC_ATOM_FLAG},
{atomGd, 64, "Gd", 1.05, 1.05, 1.79, "grey", METALIC_ATOM_FLAG},
{atomYb, 70, "Yb", 1.14, 1.14, 1.88, "grey", METALIC_ATOM_FLAG},
{atomW, 74, "W", 0.66, 0.66, 1.40, "grey", METALIC_ATOM_FLAG},
{atomPt, 78, "Pt", 0.63, 0.63, 1.37, "grey", METALIC_ATOM_FLAG},
{atomU, 92, "U", 1.03, 1.03, 1.77, "grey", METALIC_ATOM_FLAG},
{atomV, 23, "V", 0.79, 0.79, 0.79, 1.53, "grey", METALIC_ATOM_FLAG},
{atomCr, 24, "Cr", 0.73, 0.73, 0.73, 1.47, "grey", METALIC_ATOM_FLAG},
{atomTe, 52, "Te", 0.97, 0.97, 0.97, 1.71, "grey", METALIC_ATOM_FLAG},
{atomSm, 62, "Sm", 1.08, 1.08, 1.08, 1.82, "grey", METALIC_ATOM_FLAG},
{atomGd, 64, "Gd", 1.05, 1.05, 1.05, 1.79, "grey", METALIC_ATOM_FLAG},
{atomYb, 70, "Yb", 1.14, 1.14, 1.14, 1.88, "grey", METALIC_ATOM_FLAG},
{atomW, 74, "W", 0.66, 0.66, 0.66, 1.40, "grey", METALIC_ATOM_FLAG},
{atomPt, 78, "Pt", 0.63, 0.63, 0.63, 1.37, "grey", METALIC_ATOM_FLAG},
{atomU, 92, "U", 1.03, 1.03, 1.03, 1.77, "grey", METALIC_ATOM_FLAG},
/* Cotton & Wilkinson and also- */
/* L.E. Sutton (ed.) in Table of interatomic distances and configuration in molecules */
......@@ -177,74 +181,74 @@ atomProp AtomTbl[NUMATOMTYPES] = { /* noAtom must be first */
/* London, UK, 1965 (as listed in web-elements by Mark Winter) */
/* http://www.shef.ac.uk/chemistry/web-elements */
{atomHe, 2, "He", 1.60, 1.60, 0.00, "sky", 0},
{atomBe, 4, "Be", 0.31, 0.31, 0.90, "grey", METALIC_ATOM_FLAG},
{atomB, 5, "B", 0.20, 0.20, 0.86, "grey", 0},
{atomNe, 10, "Ne", 1.60, 1.60, 0.00, "pink", 0},
{atomSi, 14, "Si", 2.10, 2.10, 1.17, "grey", METALIC_ATOM_FLAG},
{atomAr, 18, "Ar", 1.89, 1.89, 0.00, "orange", 0},
{atomSc, 21, "Sc", 0.68, 0.68, 0.44, "grey", METALIC_ATOM_FLAG},
{atomTi, 22, "Ti", 0.75, 0.75, 1.49, "grey", METALIC_ATOM_FLAG},
{atomGa, 31, "Ga", 0.53, 0.53, 1.27, "grey", METALIC_ATOM_FLAG},
{atomGe, 32, "Ge", 0.60, 0.60, 1.34, "grey", METALIC_ATOM_FLAG},
{atomKr, 36, "Kr", 2.01, 2.01, 1.15, "greentint", 0},
{atomY, 39, "Y", 0.90, 0.90, 1.64, "grey", METALIC_ATOM_FLAG},
{atomZr, 40, "Zr", 0.77, 0.77, 1.51, "grey", METALIC_ATOM_FLAG},
{atomSn, 50, "Sn", 0.71, 0.71, 1.45, "grey", METALIC_ATOM_FLAG},
{atomSb, 51, "Sb", 2.20, 2.20, 1.41, "grey", METALIC_ATOM_FLAG},
{atomXe, 54, "Xe", 2.18, 2.18, 1.28, "magenta", 0},
{atomLa, 57, "La", 1.03, 1.03, 1.77, "grey", METALIC_ATOM_FLAG},
{atomCe, 58, "Ce", 0.87, 0.87, 1.61, "grey", METALIC_ATOM_FLAG},
{atomFr, 87, "Fr", 1.94, 1.94, 2.68, "grey", METALIC_ATOM_FLAG},
{atomRa, 88, "Ra", 1.62, 1.62, 2.36, "grey", METALIC_ATOM_FLAG},
{atomTh, 90, "Th", 1.08, 1.08, 1.82, "grey", METALIC_ATOM_FLAG},
{atomHe, 2, "He", 1.60, 1.60, 1.60, 0.00, "sky", 0},
{atomBe, 4, "Be", 0.31, 0.31, 0.31, 0.90, "grey", METALIC_ATOM_FLAG},
{atomB, 5, "B", 0.20, 0.20, 0.20, 0.86, "grey", 0},
{atomNe, 10, "Ne", 1.60, 1.60, 1.60, 0.00, "pink", 0},
{atomSi, 14, "Si", 2.10, 2.10, 2.10, 1.17, "grey", METALIC_ATOM_FLAG},
{atomAr, 18, "Ar", 1.89, 1.89, 1.89, 0.00, "orange", 0},
{atomSc, 21, "Sc", 0.68, 0.68, 0.68, 0.44, "grey", METALIC_ATOM_FLAG},
{atomTi, 22, "Ti", 0.75, 0.75, 0.75, 1.49, "grey", METALIC_ATOM_FLAG},
{atomGa, 31, "Ga", 0.53, 0.53, 0.53, 1.27, "grey", METALIC_ATOM_FLAG},
{atomGe, 32, "Ge", 0.60, 0.60, 0.60, 1.34, "grey", METALIC_ATOM_FLAG},
{atomKr, 36, "Kr", 2.01, 2.01, 2.01, 1.15, "greentint", 0},
{atomY, 39, "Y", 0.90, 0.90, 0.90, 1.64, "grey", METALIC_ATOM_FLAG},
{atomZr, 40, "Zr", 0.77, 0.77, 0.77, 1.51, "grey", METALIC_ATOM_FLAG},
{atomSn, 50, "Sn", 0.71, 0.71, 0.71, 1.45, "grey", METALIC_ATOM_FLAG},
{atomSb, 51, "Sb", 2.20, 2.20, 2.20, 1.41, "grey", METALIC_ATOM_FLAG},
{atomXe, 54, "Xe", 2.18, 2.18, 2.18, 1.28, "magenta", 0},
{atomLa, 57, "La", 1.03, 1.03, 1.03, 1.77, "grey", METALIC_ATOM_FLAG},
{atomCe, 58, "Ce", 0.87, 0.87, 0.87, 1.61, "grey", METALIC_ATOM_FLAG},
{atomFr, 87, "Fr", 1.94, 1.94, 1.94, 2.68, "grey", METALIC_ATOM_FLAG},
{atomRa, 88, "Ra", 1.62, 1.62, 1.62, 2.36, "grey", METALIC_ATOM_FLAG},
{atomTh, 90, "Th", 1.08, 1.08, 1.08, 1.82, "grey", METALIC_ATOM_FLAG},
/* finally, we have a set of elements where the radii are unknown */
/* so we use estimates and extrapolations based on web-elements data */
{atomNb, 41, "Nb", 0.86, 0.86, 1.40, "grey", METALIC_ATOM_FLAG},
{atomTc, 43, "Tc", 0.71, 0.71, 1.25, "grey", METALIC_ATOM_FLAG},
{atomRu, 44, "Ru", 0.82, 0.82, 1.36, "grey", METALIC_ATOM_FLAG},
{atomRh, 45, "Rh", 0.76, 1.76, 1.30, "grey", METALIC_ATOM_FLAG},
{atomPd, 46, "Pd", 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomPr, 59, "Pr", 1.11, 1.11, 1.65, "grey", METALIC_ATOM_FLAG},
{atomNd, 60, "Nd", 1.10, 1.10, 1.64, "grey", METALIC_ATOM_FLAG},
{atomPm, 61, "Pm", 1.15, 1.15, 1.89, "grey", METALIC_ATOM_FLAG},
{atomEu, 63, "Eu", 1.31, 1.31, 1.85, "grey", METALIC_ATOM_FLAG},
{atomTb, 65, "Tb", 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomDy, 66, "Dy", 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomHo, 67, "Ho", 1.04, 1.04, 1.58, "grey", METALIC_ATOM_FLAG},
{atomEr, 68, "Er", 1.03, 1.03, 1.57, "grey", METALIC_ATOM_FLAG},
{atomTm, 69, "Tm", 1.02, 1.02, 1.56, "grey", METALIC_ATOM_FLAG},
{atomLu, 71, "Lu", 1.02, 1.02, 1.56, "grey", METALIC_ATOM_FLAG},
{atomHf, 72, "Hf", 0.85, 0.85, 1.46, "grey", METALIC_ATOM_FLAG},
{atomTa, 73, "Ta", 0.86, 0.86, 1.40, "grey", METALIC_ATOM_FLAG},
{atomRe, 75, "Re", 0.77, 0.77, 1.31, "grey", METALIC_ATOM_FLAG},
{atomOs, 76, "Os", 0.78, 0.78, 1.32, "grey", METALIC_ATOM_FLAG},
{atomIr, 77, "Ir", 0.80, 0.80, 1.34, "grey", METALIC_ATOM_FLAG},
{atomBi, 83, "Bi", 1.17, 1.17, 1.71, "grey", METALIC_ATOM_FLAG},
{atomPo, 84, "Po", 0.99, 0.99, 1.53, "grey", METALIC_ATOM_FLAG},
{atomAt, 85, "At", 0.91, 0.91, 1.45, "grey", METALIC_ATOM_FLAG},
{atomRn, 86, "Rn", 2.50, 2.50, 1.25, "pinktint", 0},
{atomAc, 89, "Ac", 1.30, 1.30, 2.00, "grey", METALIC_ATOM_FLAG},
{atomPa, 91, "Pa", 1.10, 1.10, 1.85, "grey", METALIC_ATOM_FLAG},
{atomNp, 93, "Np", 1.00, 1.00, 1.72, "grey", METALIC_ATOM_FLAG},
{atomPu, 94, "Pu", 1.00, 1.00, 1.67, "grey", METALIC_ATOM_FLAG},
{atomAm, 95, "Am", 1.00, 1.00, 1.63, "grey", METALIC_ATOM_FLAG},
{atomCm, 96, "Cm", 1.00, 1.00, 1.60, "grey", METALIC_ATOM_FLAG},
{atomBk, 97, "Bk", 1.00, 1.00, 1.58, "grey", METALIC_ATOM_FLAG},
{atomCf, 98, "Cf", 1.00, 1.00, 1.57, "grey", METALIC_ATOM_FLAG},
{atomEs, 99, "Es", 1.00, 1.00, 1.56, "grey", METALIC_ATOM_FLAG},
{atomFm, 100,"Fm", 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
{atomMd, 101,"Md", 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
{atomNo, 102,"No", 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
{atomNb, 41, "Nb", 0.86, 0.86, 0.86, 1.40, "grey", METALIC_ATOM_FLAG},
{atomTc, 43, "Tc", 0.71, 0.71, 0.71, 1.25, "grey", METALIC_ATOM_FLAG},
{atomRu, 44, "Ru", 0.82, 0.82, 0.82, 1.36, "grey", METALIC_ATOM_FLAG},
{atomRh, 45, "Rh", 0.76, 0.76, 1.76, 1.30, "grey", METALIC_ATOM_FLAG},
{atomPd, 46, "Pd", 1.05, 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomPr, 59, "Pr", 1.11, 1.11, 1.11, 1.65, "grey", METALIC_ATOM_FLAG},
{atomNd, 60, "Nd", 1.10, 1.10, 1.10, 1.64, "grey", METALIC_ATOM_FLAG},
{atomPm, 61, "Pm", 1.15, 1.15, 1.15, 1.89, "grey", METALIC_ATOM_FLAG},
{atomEu, 63, "Eu", 1.31, 1.31, 1.31, 1.85, "grey", METALIC_ATOM_FLAG},
{atomTb, 65, "Tb", 1.05, 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomDy, 66, "Dy", 1.05, 1.05, 1.05, 1.59, "grey", METALIC_ATOM_FLAG},
{atomHo, 67, "Ho", 1.04, 1.04, 1.04, 1.58, "grey", METALIC_ATOM_FLAG},
{atomEr, 68, "Er", 1.03, 1.03, 1.03, 1.57, "grey", METALIC_ATOM_FLAG},
{atomTm, 69, "Tm", 1.02, 1.02, 1.02, 1.56, "grey", METALIC_ATOM_FLAG},
{atomLu, 71, "Lu", 1.02, 1.02, 1.02, 1.56, "grey", METALIC_ATOM_FLAG},
{atomHf, 72, "Hf", 0.85, 0.85, 0.85, 1.46, "grey", METALIC_ATOM_FLAG},
{atomTa, 73, "Ta", 0.86, 0.86, 0.86, 1.40, "grey", METALIC_ATOM_FLAG},
{atomRe, 75, "Re", 0.77, 0.77, 0.77, 1.31, "grey", METALIC_ATOM_FLAG},
{atomOs, 76, "Os", 0.78, 0.78, 0.78, 1.32, "grey", METALIC_ATOM_FLAG},
{atomIr, 77, "Ir", 0.80, 0.80, 0.80, 1.34, "grey", METALIC_ATOM_FLAG},
{atomBi, 83, "Bi", 1.17, 1.17, 1.17, 1.71, "grey", METALIC_ATOM_FLAG},
{atomPo, 84, "Po", 0.99, 0.99, 0.99, 1.53, "grey", METALIC_ATOM_FLAG},
{atomAt, 85, "At", 0.91, 0.91, 0.91, 1.45, "grey", METALIC_ATOM_FLAG},
{atomRn, 86, "Rn", 2.50, 2.50, 2.50, 1.25, "pinktint", 0},
{atomAc, 89, "Ac", 1.30, 1.30, 1.30, 2.00, "grey", METALIC_ATOM_FLAG},
{atomPa, 91, "Pa", 1.10, 1.10, 1.10, 1.85, "grey", METALIC_ATOM_FLAG},
{atomNp, 93, "Np", 1.00, 1.00, 1.00, 1.72, "grey", METALIC_ATOM_FLAG},
{atomPu, 94, "Pu", 1.00, 1.00, 1.00, 1.67, "grey", METALIC_ATOM_FLAG},
{atomAm, 95, "Am", 1.00, 1.00, 1.00, 1.63, "grey", METALIC_ATOM_FLAG},
{atomCm, 96, "Cm", 1.00, 1.00, 1.00, 1.60, "grey", METALIC_ATOM_FLAG},
{atomBk, 97, "Bk", 1.00, 1.00, 1.00, 1.58, "grey", METALIC_ATOM_FLAG},
{atomCf, 98, "Cf", 1.00, 1.00, 1.00, 1.57, "grey", METALIC_ATOM_FLAG},
{atomEs, 99, "Es", 1.00, 1.00, 1.00, 1.56, "grey", METALIC_ATOM_FLAG},
{atomFm, 100,"Fm", 1.00, 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
{atomMd, 101,"Md", 1.00, 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
{atomNo, 102,"No", 1.00, 1.00, 1.00, 1.55, "grey", METALIC_ATOM_FLAG},
/* base identifiers are used in color hack (see note in enum above) */
{baseA, 0, "a", 0.00, 0.00, 0.00, "pink", 0},
{baseC, 0, "c", 0.00, 0.00, 0.00, "yellow", 0},
{baseTU, 0, "t/u", 0.00, 0.00, 0.00, "sky", 0},
{baseG, 0, "g", 0.00, 0.00, 0.00, "sea", 0},
{baseOther, 0,"other na",0.00, 0.00, 0.00, "white", 0},
{nonBase, 0, "nonbase",0.00, 0.00, 0.00, "grey", 0}
{baseA, 0, "a", 0.00, 0.00, 0.00, 0.00, "pink", 0},
{baseC, 0, "c", 0.00, 0.00, 0.00, 0.00, "yellow", 0},
{baseTU, 0, "t/u", 0.00, 0.00, 0.00, 0.00, "sky", 0},
{baseG, 0, "g", 0.00, 0.00, 0.00, 0.00, "sea", 0},
{baseOther, 0,"other na",0.00, 0.00, 0.00, 0.00, "white", 0},
{nonBase, 0, "nonbase",0.00, 0.00, 0.00, 0.00, "grey", 0}
};
#endif
......
# LIBTBX_SET_DISPATCHER_NAME phenix.probe
# LIBTBX_SET_DISPATCHER_NAME molprobity.probe
# LIBTBX_LAUNCH_EXE
king-probe (2.16.160404+git20180613.a09b012-1) unstable; urgency=medium
* Use git mode in watch file
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.1.5
-- Andreas Tille <tille@debian.org> Mon, 16 Jul 2018 09:08:29 +0200
king-probe (2.13.110909-2) unstable; urgency=medium
* Fix watch file
......
......@@ -5,10 +5,10 @@ Uploaders: Malihe Asemani <ml.asemani@gmail.com>,
Michael Prisant <michael.prisant@gmail.com>
Section: science
Priority: optional
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/king-probe.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/king-probe.git
Build-Depends: debhelper (>= 11~)
Standards-Version: 4.1.5
Vcs-Browser: https://salsa.debian.org/med-team/king-probe
Vcs-Git: https://salsa.debian.org/med-team/king-probe.git
Homepage: http://kinemage.biochem.duke.edu/software/probe.php
Package: king-probe
......
version=3
version=4
http://kinemage.biochem.duke.edu/software/probe.php .*/downloads/software/probe/probe.([\d.]+)\.src\.zip
opts="mode=git,pretty=2.16.160404+git%cd.%h" \
https://github.com/rlabduke/probe.git HEAD
# if there would be release tags ...
# https://github.com/rlabduke/probe/releases .*/archive/#PREFIX#(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
# asked for this in https://github.com/rlabduke/probe/issues/4
# asked for release tags in
# https://github.com/rlabduke/probe/issues/4
......@@ -296,6 +296,9 @@ pattern* idItem() {
else if (strcmp(s, "METAL") == 0) {
type = PROP_NODE; val = METAL_PROP;
}
else if (strcmp(s, "METHYLENE") == 0) {
type = PROP_NODE; val = METHYLENE_PROP;
}/*longer name first*/
else if (strcmp(s, "METHYL") == 0) {
type = PROP_NODE; val = METHYL_PROP;
}
......@@ -851,6 +854,7 @@ void recPrint(FILE *outf, pattern *pat) {
case DNA_PROP: fprintf(outf,"dna/rna"); break;
case METAL_PROP: fprintf(outf,"metal"); break;
case METHYL_PROP: fprintf(outf,"methyl"); break;
case METHYLENE_PROP: fprintf(outf,"methylene"); break; /*20111210dcr*/
case DONOR_PROP: fprintf(outf,"donor"); break;
case ACCEPTOR_PROP: fprintf(outf,"acceptor"); break;
case RHPHOBIC_PROP:
......
......@@ -84,7 +84,7 @@
#define CHECK_ENDS_PROP (1 << 27)
#define AMBIGWATER_PROP (1 << 28)
#define ION_PROP (1 << 29) /*re atomprops.h IONIC_ATOM_FLAG dcr041007*/
#define METHYLENE_PROP (1 << 30) /*re atomprops.h dcr20111210 */
typedef struct patternType {
struct patternType *lhs; /* link to sub-pattern */
struct patternType *rhs; /* ditto */
......
This diff is collapsed.
......@@ -28,7 +28,11 @@
#include "autobondrot.h"
/* number of dot categories */
#define NODEWIDTH 5
/*0 wide contact,1 close contact,2 small overlap,3 bad overlap,4 H-bonds - original, changed by SJ see below*/
/*0 wide contact,1 close contact,2 weak H bonds, 3 small overlap,4 bad overlap (0.4-0.5),5 worse overlap (>= 0.5), 6 H-bonds*/ /*04/08/2015 SJ moved weak H bonds catergory with the contacts, and separated bad overlap into bad and worse*/
/*#define NODEWIDTH 6*/ /*20111215dcr change 5 to 6 for optional weak H bonds*/
#define NODEWIDTH 7 /*04/08/2015 SJ adding category for worse overlap*/
/* the new numbers are: 0 wide contact, 1 close contact, 2 weak H-bond, 3 small overlap, 4 bad overlap, 5 worse overlap, 6 H-bonds - weak H bonds and worse overlaps only separated when LweakHbonds and LworseOverlaps is true. This is false by default*/
/* selection identifiers */
#define SET1 1
......@@ -57,6 +61,8 @@ typedef struct dotNode_t {
int type; /* -1 bump, 0 touch, +1 H bond */
float gap; /* vdw-vdw distance */
char ptmaster; /* point master, kinemage output, (M for mc) dcr041009*/
int dotCount; /*added by SJ -10/07/2011 for keeping count of number of dots in the interaction, used only in writeRaw and Condense functions*/
float angle; /*dcr20120120 angle: dot's: parent, self, cause, esp for H */
} dotNode;
/* data structure used to determine if N and O are at chain ends */
......@@ -107,9 +113,9 @@ void doCommand(FILE *outf, int method,
atom *allMainAtoms, atomBins *abins,
atom *allMovingAtoms, atomBins *bbins,
pointSet dots[], float probeRad, float density, float spikelen,
int countDots, int rawOutput, char* rawname, double scoreBias,
int countDots, int rawOutput, int conFlag, char* rawname, double scoreBias,
int drawSpike, int sayGroup, char* groupLabel,
int argc, char **argv, char message[]);
int argc, char **argv, char message[]);//conFlag added by SJ 10/07/2011
void descrCommand(FILE *fp, char* hdr1, char* hdr2, int argc, char **argv);
void loadDotSpheres(pointSet dots[], float density);
void unloadDotSpheres(pointSet dots[]);
......@@ -117,10 +123,10 @@ atom* processCommandline(int argc, char **argv, int *method, region *bboxA,
float *density, float *probeRad,
int *drawSpike, float *spikelen, int *countDots,
int *keepUnselected,
char **srcArg, char **targArg, char **ignoreArg,
char **groupLabel, int *rawOutput, int *sayGroup,
char **srcArg, char **targArg, char **extraArg, char **ignoreArg,
char **groupLabel, int *rawOutput, int * conFlag, int *sayGroup,
int *addKinToFile, movingAtomBuildInfo *mabip,
residue **reslstptr);
residue **reslstptr);//conFlag added by SJ - 01/07/2011
atom* loadAtoms(FILE *fp, atom *atomlist, region *boundingBox, int file,
residue **resDataLst);
atomBins* binAtoms(atom* allAtoms, region *boundingBox, char serialNum,
......@@ -135,9 +141,13 @@ void selectSource(atom *allAtoms, pattern *sp, int srcFlag,
atom* findTouchingAtoms(atom *src, atom *head, atomBins *bins, float probeRad, int flag,int *ok);
void saveDot(atom *src, atom *targ, int type, point3d *loc, point3d *spike,
dotNode *results[][NODEWIDTH], int ovrlaptype, float mingap, char ptmaster);/*dcr041009*/
dotNode * newDot(atom *src,atom *targ, point3d *loc, point3d *spike, int ovrlaptype, float gap, char ptmaster);/*dcr041009*/
dotNode *results[][NODEWIDTH], int ovrlaptype, float mingap, char ptmaster, float XHTangle);/*dcr041009,XHTangle dcr20120120 */
dotNode * newDot(atom *src,atom *targ, point3d *loc, point3d *spike, int ovrlaptype, float gap, char ptmaster, float angle);/*dcr041009*/ /*XHTangle dcr20120120*/
void examineOneDotEach(atom *src, int type, atom *scratch,
pointSet dots[], float probeRad, float spikelen,
int objFlag, dotNode *results[][NODEWIDTH], atom *allMainAtoms);
/*allMainAtoms20120120*/
void examineDots(atom *src, int type, atom *scratch,
pointSet dots[], float probeRad, float spikelen,
int objFlag, dotNode *results[][NODEWIDTH]);
......@@ -159,16 +169,18 @@ void surfDots(atom *src, int type, atom *scratch,
void initResults(dotNode *results[][NODEWIDTH]);
void freeResults(dotNode *results[][NODEWIDTH]);
void writeOutput(FILE *outf, char *groupname, dotNode *results[][NODEWIDTH],
int drawSpike, int method, char *extramastername);
int drawSpike, int method, char *extramastername, float probeRad);
/*041020 method for better kinemage keywords*/
/*060129 extra master name controls original vs fitted dots*/
/*probeRad added 20111220dcr*/
void writeAltFmtO(FILE *outf, int showBegin, int showEnd,
char* groupname, dotNode *results[][NODEWIDTH], int drawSpike);
void writeAltFmtXV(FILE *outf, int showBegin, int showEnd,
char* groupname, dotNode *results[][NODEWIDTH], int drawSpike);
void writeRaw(FILE *outf, char *groupname, dotNode *results[][NODEWIDTH],
float rp, char*s, float);
float rp, char*s, float,int conFlag);
dotNode * Condense(dotNode * head,int conFlag); //added 10/04/11 - SJ for condensing the rawOutput
void enumerate(FILE *outf, char* groupname, dotNode *results[][NODEWIDTH],
float probeRad, int method,
int nsel, int spike, int outdots, int numSkinDots,
......
......@@ -43,7 +43,7 @@ pattern* getPat(char *line, char *which, int verbose)
}
/*}}}getPat() _______________________________________________________________*/
/*{{{declarations ... globals */
/*{{{declarations ... global AA and Atom properties */
/*{{{AromaticAtomsTbl[] ***/
static ResidueAndAtomPair AromaticAtomsTbl[] = {
......@@ -80,7 +80,7 @@ static ResidueAndAtomPair AromaticAtomsTbl[] = {
":HEM:", ": N C: C1C: C2C: C3C: C4C: N D: C1D: C2D: C3D: C4D:", TEST_ACCEPT_ANGLE_PROP,
0, 0, 0};
/*061018 not allow HIS to accept H-bonds as as aromatic ring system
/*061018 not allow HIS to accept H-bonds as aromatic ring system
":HIS:", ": ND1: CD2: CE1: NE2: CG :", TEST_ACCEPT_ANGLE_PROP, */
/*}}}AromaticAtomsTbl[] ___________________________________________*/
......@@ -170,6 +170,34 @@ static ResidueAndAtomPair MethylAtomsTbl[] = { /* including xplor names */
":T6A:", ": C15:1H15:2H15:3H15:H152:H152:H153:", 0,
0, 0, 0};
/*}}}MethylAtomsTbl[] */
/*{{{MethyleneResList, protein only ***/
/* for identifying methylene groups on which to find methylene H 20111211dcr*/
static char *MethyleneResList =
":LYS:ILE:ARG:PRO:GLN:GLU:MET:CIS:SER:ASN:ASP:PHE:TYR:TRP:LEU:";
/*}}}MethyleneResList */
/*{{{MethyleneAtomsTbl[] ***/
static ResidueAndAtomPair MethyleneAtomsTbl[] = {
":LYS:", ": HE2: HE3: HD2: HD3: HG2: HG3: HB2: HB3:", 0,
":ILE:", ":HG12:HG13:", 0,
":PRO:", ": HD2: HD3: HG2: HG3: HB2: HB3:", 0,
":ARG:", ": HD2: HD3: HG2: HG3: HB2: HB3:", 0,
":GLN:", ": HG2: HG3: HB2: HB3:", 0,
":GLU:", ": HG2: HG3: HB2: HB3:", 0,
":MET:", ": HG2: HG3: HB2: HB3:", 0,
":CIS:", ": HB2: HB3:", 0,
":SER:", ": HB2: HB3:", 0,
":ASN:", ": HB2: HB3:", 0,
":ASP:", ": HB2: HB3:", 0,
":PHE:", ": HB2: HB3:", 0,
":TYR:", ": HB2: HB3:", 0,
":HIS:", ": HB2: HB3:", 0,
":TRP:", ": HB2: HB3:", 0,
":LEU:", ": HB2: HB3:", 0,
0, 0, 0};
/*}}}MethyleneAtomsTbl[] */
/*{{{ChargedAAList ***/
/* for computing charge state (currently treating HIS as charged) */
static char *ChargedAAList = ":ASP:GLU:LYS:ARG:HIS:HEM:";
......@@ -203,7 +231,7 @@ static char *ChargedNucAcidAtomsList = ": P : O1P: O2P:\
S1G:";
/*}}}ChargedNucAcidAtomsList */
/*{{{WaterList ***/
static char *WaterList = ":HOH:DOD:H2O:D2O:WAT:TIP:SOL:MTO:";
static char *WaterList = ":HOH:DOD:H2O:WAT:TIP:SOL:MTO:";
/*}}}WaterList */
/*{{{DonorAcceptorAtomTbl[] ***/
static ResidueAndAtomPair DonorAcceptorAtomTbl[] = {
......@@ -313,8 +341,8 @@ static ResidueAndAtomPair DonorAcceptorAtomTbl[] = {
": G:GUA:GTP:GDP:GMP:GSP:OMG:1MG:2MG:M2G:7MG: YG: DG: GR:", ": H8 :", DONOR_PROP|CH_DONOR_PROP,
#ifdef EXPLICIT_WATER_ATOM_NAMES
":HOH:DOD:H2O:D2O:WAT:TIP:SOL:MTO:", ": O : OH2: OD2: OW :", DONOR_PROP|ACCEPTOR_PROP,
":HOH:DOD:H2O:D2O:WAT:TIP:SOL:MTO:",
":HOH:DOD:H2O:WAT:TIP:SOL:MTO:", ": O : OH2: OD2: OW :", DONOR_PROP|ACCEPTOR_PROP,
":HOH:DOD:H2O:WAT:TIP:SOL:MTO:",
": H : H1 : H2 :1H :2H : D : D1 : D2 :1D :2D : H? :", DONOR_PROP,
#endif
......@@ -349,6 +377,7 @@ int naBaseCategory(atom *a) {
/*{{{setAromaticProp() *******************************************************/
/* hunt for aromatic atoms and set AROMATIC property & atomHarom */
/* also find aromatic carbon atoms and set atomCarom */
void setAromaticProp(atom *a) {
ResidueAndAtomPair *pair;
......@@ -361,6 +390,7 @@ void setAromaticProp(atom *a) {
a->props |= AROMATIC_PROP;
a->props |= pair->bits; /* selectively set TEST_ACCEPT_ANGLE prop */
if(isHatom(a->elem)) { a->elem = atomHarom; }
if(isCatom(a->elem)) { a->elem = atomCarom; }
break;
}
}
......@@ -386,6 +416,24 @@ void setMethylProp(atom *a) {
}
/*}}}setMethylProp()_________________________________________________________*/
/*{{{setMethyleneProp() ******************************************************/
/* hunt for Methyene atoms and set METHYLENE property */
void setMethyleneProp(atom *a) {
ResidueAndAtomPair *pair;
if(strstr(MethyleneResList, a->r->resname)) {
for(pair = MethyleneAtomsTbl; pair->rlist && pair->alist; pair++) {
if( (strstr(pair->rlist, a->r->resname))
&& (strstr(pair->alist, a->atomname)) ) {
a->props |= METHYLENE_PROP;
break;
}
}
}
}
/*}}}setMethyleneProp()______________________________________________________*/
/*{{{isCarbonylAtom() ********************************************************/
int isCarbonylAtom(atom *a) { /* limitation: this will not handle het groups properly */
return (strstr(AAList, a->r->resname) && (!strcmp(a->atomname, " C ")))
......@@ -417,6 +465,7 @@ void setProperties(atom *a, int hetflag, int hb2aromaticFace, int chohb) {
setAromaticProp(a);
setMethylProp(a);
setMethyleneProp(a); /*20111211dcr*/
if (strstr(WaterList, a->r->resname)) {
a->props |= WATER_PROP;
......
......@@ -26,6 +26,7 @@ void setProperties(atom *a, int hetflag, int hb2aromaticFace, int chohb);
int matchPat(atom *a, pattern *pat);
void setAromaticProp(atom *a);
void setMethylProp(atom *a);
void setMethyleneProp(atom *a); /*20111211dcr*/
int isCarbonylAtom(atom *a);
int atomWithinDistance(atom *a, float *fvec);
char * setHydrogenParentName(char *rname, char *aname);
......
......@@ -2734,7 +2734,7 @@ int HashInStdResTbl(char *s) {
for (h = 0; *s != '\0'; s++) {
h = (h<<4) + *s;
if (g = h & 0xf0000000) {
if ( (g = h & 0xf0000000) ) {
h ^= g >> 24;
h ^= g;
}
......