#include "MoreExtraAtomRecord.h" void DivideAtomVects_1eq2Div3 (ExtraAtomRecord ** A0, char * A0Rx, ExtraAtomRecord ** B0, char * B0Ry, ExtraAtomRecord ** C0, char * C0Rz, int n) { char * A0R = (char *) *A0 , * B0R = (char *) *B0 , * C0R = (char *) *C0 ; int Ainc = A0Rx - A0R, Binc = B0Ry - B0R, Cinc = C0Rz - C0R, i ; if (n <= 0) STDERR("ERROR! n <= 0"); if (Binc <= 0) STDERR("ERROR! Binc <= 0"); if (Ainc <= 0) STDERR("ERROR! Ainc <= 0"); for(i=0; iflags & FLAG_1_DESELECT || a->flags & FLAG_2_DESELECT)) return ; else { char ch = (a->chain == ' ' ? SPACE_CHAIN : a->chain); fprintf(stream ,a->name[3] == '\0' ? SHORT_STRING_09 : SHORT_STRING_10 , a->name, a->extraflag, a->resname, ch, a->resnum, a->x_char) ; fprintf(stream," || "); for (i=0; id[i]); fprintf(stream,"\n"); } # undef SHORT_STRING_09 # undef SHORT_STRING_10 } void WriteExtraAtomRecords (FILE * stream, file_records * f, ExtraAtomRecord ** E, int n, int format) { int ii; for (ii=0; ii< f->atomnum; ii++) WriteExtraAtomRecord(stream,f->atoms[ii],E[ii],n, format); } void RadiiToB(file_records * f) { int ii; for (ii = 0; iiatomnum; ii++) { atom_record * a = f->atoms[ii]; atom_definition *ad = a->definition ; a->b = ad->eradius ; } } void CovVDWRadiiToOccB(file_records * f) { int ii; for (ii = 0; iiatomnum; ii++) { atom_record * a = f->atoms[ii]; atom_definition *ad = a->definition ; a->occ = ad->covalent ; a->b = ad->vdw ; } } void AbsB(file_records * f) { int ii; for (ii = 0; iiatomnum; ii++) { atom_record * a = f->atoms[ii]; a->b = abs(a->b); } } void WriteLargeExtraAtomRecord (FILE * stream, atom_record * a, LargeExtraAtomRecord * e, int n, int format, char c) { # define SHORT_STRING_09 "%4.4s%c%3.3s %c%4d%c " # define SHORT_STRING_10 " %3.3s%c%3.3s %c%4d%c" int i; if (format & IO_ONLY_SELECTED && (a->flags & FLAG_1_DESELECT || a->flags & FLAG_2_DESELECT)) return ; else { char ch = (a->chain == ' ' ? c : a->chain); fprintf(stream ,a->name[3] == '\0' ? SHORT_STRING_09 : SHORT_STRING_10 , a->name, a->extraflag, a->resname, ch, a->resnum, a->x_char) ; fprintf(stream," || "); if (n>NUMBER_OBJECTS_LARGE_EXTRA_ATOM_RECORD) STDERR("Off the edge.... you asked me to print too much..."); for (i=0; id[i]); for (i=0; is[i] != NULL) { fprintf(stream," %6s",e->s[i]); } fprintf(stream,"\n"); } # undef SHORT_STRING_09 # undef SHORT_STRING_10 } void WriteLargeExtraAtomRecords (FILE * stream, file_records * f, LargeExtraAtomRecord ** E, int n, int format, char c) { int ii; fprintf(stream,"# %19s"," "); for (ii=0; iiatomnum; ii++) WriteLargeExtraAtomRecord(stream,f->atoms[ii],E[ii],n, format, c ); } void ScalarToAtomVects (ExtraAtomRecord ** A0, char * A0Rx, int n, double t) { char * A0R = (char *) *A0 ; int Ainc = A0Rx - A0R, i ; if (n <= 0) STDERR("ERROR! n <= 0"); if (Ainc <= 0) STDERR("ERROR! Ainc <= 0"); for(i=0; i