typedef struct { /* Information needed to get pointers assignmets */ /* example for water */ char name[20]; /* ie, water */ char pdb_nm[4]; /* ie, HOH */ char atm1[4]; /* ie, O1 */ char atm2[4]; /* used for the second residue on molecule */ char ctr_atm[4]; /* ie, O1 (the most central atom) */ int mod; /* modified on the number of molecules */ int atm_nm; /* number of atoms in molecule ie. 3 */ } Ptr_Info; typedef struct { double nb_cut; /* Cutoff distance */ int nbinx, nbiny, nbinz, /* # bins in the Cube */ atomnum; /* # of atoms in theatoms */ double sbinx, sbiny, sbinz; /* size of the bins */ AtomList **** BinnedAtoms, /* pointer to 3d array of AtomLists */ * theatoms; /* pointer to array of AtomLists */ } theCube; void BasicHistogram (double * input, int numinput, double min, double max, double binwidth, int numofbins); void VaryBySideLength (double num, double * oto, float bxsidel); double * theDistances (atom_record * center, atom_record * radial, float * bxsidel); void BoxIt (file_records * f, float *bxsidel); void FindSideLengths (float * min, float * max, float * bxsidel); double FindMinDistance (atom_record * a, atom_record * b, float * bxsidel); int get_mdb_coords ( file_records *f, int * istep, float * min, float * max); long read_coord_from_traj (file_records * f, long * time, float * min, float * max); void PrintPtrs (atom_record ** list, int num); void AssignPtrs (file_records * f, atom_record ** list, Ptr_Info * p); int count_atom (file_records * f, char * resname, char * name); int CheckMolecule (file_records * f, char * resname); Ptr_Info **CreatePtrInfoArray (int argc, char **argv, file_records * f, int *num_A); void pdb_format (file_records * f); theCube * SetuptheCube (file_records * f, float * bxsidel, double nb_cutoff); void BinMoleculesIntheCube (file_records * f, theCube * C, float * box_min); void FindNeighbors (file_records *f, theCube * C, float * box_min); void ResettheCube (theCube * C);