#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "Measure.h"
#include "AtomSel.h"
#include "Matrix4.h"
#include "utilities.h"
#include "fitrms.h"
#include "ResizeArray.h"
#include "SpatialSearch.h"
#include "MoleculeList.h"
#include "Inform.h"
#include "Timestep.h"
#include "VMDApp.h"
#include "WKFThreads.h"
#include "WKFUtils.h"
Go to the source code of this file.
Compounds | |
struct | gofrparms_t |
struct | sasathreadparms |
Defines | |
#define | ROTATE(a, i, j, k, l) |
#define | SWAP(qq, ww) |
#define | NPTS 500 |
#define | SWAP(qq, ww) |
Functions | |
const char * | measure_error (int errnum) |
int | measure_move (const AtomSel *sel, float *framepos, const Matrix4 &mat) |
int | measure_sumweights (const AtomSel *sel, int numweights, const float *weights, float *weightsum) |
int | measure_center_perresidue (MoleculeList *mlist, const AtomSel *sel, const float *framepos, const float *weight, float *com) |
int | measure_center (const AtomSel *sel, const float *framepos, const float *weight, float *com) |
int | measure_minmax (int num, const int *on, const float *framepos, const float *radii, float *min_coord, float *max_coord) |
int | measure_avpos_perresidue (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *avpos) |
int | measure_avpos (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *avpos) |
int | measure_dipole (const AtomSel *sel, MoleculeList *mlist, float *dipole, int unitsdebye, int usecenter) |
int | measure_hbonds (Molecule *mol, AtomSel *sel1, AtomSel *sel2, double cutoff, double maxangle, int *donlist, int *hydlist, int *acclist, int maxsize) |
int | measure_rmsf_perresidue (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *rmsf) |
int | measure_rmsf (const AtomSel *sel, MoleculeList *mlist, int start, int end, int step, float *rmsf) |
int | measure_rgyr (const AtomSel *sel, MoleculeList *mlist, const float *weight, float *rgyr) |
measure the radius of gyration, including the given weights. More... | |
int | measure_rmsd_perresidue (const AtomSel *sel1, const AtomSel *sel2, MoleculeList *mlist, int num, float *weight, float *rmsd) |
int | measure_rmsd (const AtomSel *sel1, const AtomSel *sel2, int num, const float *framepos1, const float *framepos2, float *weight, float *rmsd) |
measure the rmsd given a selection and weight term. More... | |
int | jacobi (float a[4][4], float d[3], float v[3][3]) |
int | transvecinv (const double *v, Matrix4 &res) |
int | transvec (const double *v, Matrix4 &res) |
Matrix4 | myfit2 (const float *x, const float *y, const float *comx, const float *comy) |
Matrix4 | myfit3 (const float *x1, const float *x2, const float *y1, const float *y2, const float *comx, const float *comy) |
int | measure_fit (const AtomSel *sel1, const AtomSel *sel2, const float *x, const float *y, const float *weight, const int *order, Matrix4 *mat) |
int | measure_sasa_perresidue (const AtomSel *sel, const float *framepos, const float *radius, float srad, float *sasa, ResizeArray< float > *sasapts, const AtomSel *restrictsel, const int *nsamples, int *rescount, MoleculeList *mlist) |
int | measure_sasa (const AtomSel *sel, const float *framepos, const float *radius, float srad, float *sasa, ResizeArray< float > *sasapts, const AtomSel *restrictsel, const int *nsamples) |
void * | measure_sasa_thread (void *voidparms) |
int | measure_sasalist (MoleculeList *mlist, const AtomSel **sellist, int numsels, float srad, float *sasalist, const int *nsamples) |
float | fix_pbc_n_sqr (float delta, const float boxby2) |
float | min_dist_with_pbc (const float *a, const float *b, const float *boxby2) |
double | spherical_cap (const double &radius, const double &boxby2) |
the volume of a sperical cap. More... | |
void * | measure_gofr_orth (void *voidparms) |
int | measure_gofr (AtomSel *sel1, AtomSel *sel2, MoleculeList *mlist, const int count_h, double *gofr, double *numint, double *histog, const float delta, int first, int last, int step, int *framecntr, int usepbc, int selupdate) |
int | measure_geom (MoleculeList *mlist, int *molid, int *atmid, ResizeArray< float > *gValues, int frame, int first, int last, int defmolid, int geomtype) |
int | calculate_bond (MoleculeList *mlist, int *molid, int *atmid, float *value) |
int | calculate_angle (MoleculeList *mlist, int *molid, int *atmid, float *value) |
int | calculate_dihed (MoleculeList *mlist, int *molid, int *atmid, float *value) |
int | normal_atom_coord (Molecule *mol, int a, float *pos) |
int | check_mol (Molecule *mol, int a) |
int | measure_energy (MoleculeList *mlist, int *molid, int *atmid, int natoms, ResizeArray< float > *gValues, int frame, int first, int last, int defmolid, double *params, int geomtype) |
int | compute_bond_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0) |
int | compute_angle_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0, float kub, float s0) |
int | compute_dihed_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, int n, float delta) |
int | compute_imprp_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float k, float x0) |
int | compute_vdw_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float eps1, float rmin1, float eps2, float rmin2, float cutoff, float switchdist) |
int | compute_elect_energy (MoleculeList *mlist, int *molid, int *atmid, float *energy, float q1, float q2, bool flag1, bool flag2, float cutoff) |
void | center_of_mass (AtomSel *sel, MoleculeList *mlist, float *rcom) |
int | measure_inertia (AtomSel *sel, MoleculeList *mlist, const float *coor, float rcom[3], float priaxes[3][3], float itensor[4][4], float evalue[3]) |
Variables | |
const char * | measure_error_messages [] |
|
Definition at line 1414 of file Measure.C. Referenced by measure_sasa, measure_sasa_perresidue, and measure_sasalist. |
|
Value: g=a[i][j];h=a[k][l];a[i][j]=g-s*(h+g*tau);\ a[k][l]=h+s*(g-h*tau); Definition at line 935 of file Measure.C. Referenced by jacobi. |
|
Value: { \ float v; float *v1; \ v = evalue[qq]; evalue[qq] = evalue[ww]; evalue[ww] = v; \ v1 = a[qq]; a[qq] = a[ww]; a[ww] = v1; \ } |
|
Value: { \ float v; float *v1; \ v = evalue[qq]; evalue[qq] = evalue[ww]; evalue[ww] = v; \ v1 = a[qq]; a[qq] = a[ww]; a[ww] = v1; \ } |
|
Definition at line 2583 of file Measure.C. References angle, MEASURE_NOERR, MoleculeList::mol_from_id, normal_atom_coord, and vec_sub. |
|
Definition at line 2566 of file Measure.C. References MEASURE_NOERR, MoleculeList::mol_from_id, norm, normal_atom_coord, and vec_sub. |
|
Definition at line 2603 of file Measure.C. References dihedral, MEASURE_NOERR, MoleculeList::mol_from_id, and normal_atom_coord. |
|
Definition at line 2875 of file Measure.C. References AtomSel::coordinates, AtomSel::firstsel, AtomSel::lastsel, BaseMolecule::mass, MoleculeList::mol_from_id, AtomSel::molid, and AtomSel::on. Referenced by measure_inertia. |
|
Definition at line 2654 of file Measure.C. References MEASURE_ERR_BADATOMID, MEASURE_ERR_NOMOLECULE, MEASURE_NOERR, and BaseMolecule::nAtoms. |
|
Definition at line 2757 of file Measure.C. References calculate_angle, calculate_bond, DEGTORAD, and MEASURE_NOERR. |
|
Definition at line 2743 of file Measure.C. References calculate_bond, and MEASURE_NOERR. |
|
Definition at line 2783 of file Measure.C. References calculate_dihed, DEGTORAD, MEASURE_NOERR, and n. |
|
Definition at line 2845 of file Measure.C. References calculate_bond, BaseMolecule::charge, MEASURE_NOERR, and MoleculeList::mol_from_id. |
|
Definition at line 2797 of file Measure.C. References calculate_dihed, DEGTORAD, and MEASURE_NOERR. |
|
Definition at line 2815 of file Measure.C. References calculate_bond, and MEASURE_NOERR. |
|
Definition at line 2042 of file Measure.C. Referenced by min_dist_with_pbc. |
|
Definition at line 938 of file Measure.C. Referenced by measure_fit, and measure_inertia. |
|
Definition at line 419 of file Measure.C. References AtomSel::firstsel, DrawMolecule::get_frame, AtomSel::lastsel, MEASURE_ERR_BADFRAMERANGE, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MEASURE_NOERR, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, DrawMolecule::numframes, AtomSel::on, and AtomSel::selected. |
|
Definition at line 380 of file Measure.C. References BaseMolecule::atom, AtomSel::firstsel, AtomSel::lastsel, measure_avpos, MEASURE_NOERR, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::on, and MolAtom::uniq_resid. Referenced by measure_rmsf_perresidue. |
|
Definition at line 196 of file Measure.C. References AtomSel::firstsel, AtomSel::lastsel, measure_center, MEASURE_ERR_BADWEIGHTSUM, MEASURE_ERR_NOCOM, MEASURE_ERR_NOFRAMEPOS, MEASURE_ERR_NOSEL, MEASURE_ERR_NOWEIGHT, MEASURE_NOERR, AtomSel::on, and z. Referenced by measure_center. |
|
Definition at line 154 of file Measure.C. References BaseMolecule::atom, AtomSel::firstsel, AtomSel::lastsel, MEASURE_ERR_NOCOM, MEASURE_ERR_NOFRAMEPOS, MEASURE_ERR_NOSEL, MEASURE_ERR_NOWEIGHT, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::on, MolAtom::uniq_resid, and z. |
|
Definition at line 462 of file Measure.C. References BaseMolecule::charge, AtomSel::coordinates, AtomSel::firstsel, AtomSel::lastsel, BaseMolecule::mass, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MEASURE_NOERR, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, AtomSel::on, and AtomSel::selected. |
|
|
Definition at line 65 of file Measure.C. References measure_error_messages. |
|
Definition at line 1128 of file Measure.C. References AtomSel::firstsel, jacobi, AtomSel::lastsel, Matrix4::mat, mat, MatrixFitRMS, measure_center, MEASURE_ERR_GENERAL, MEASURE_ERR_MISMATCHEDCNT, MEASURE_ERR_NONZEROJACOBI, MEASURE_ERR_NOTSUP, MEASURE_NOERR, Matrix4::multmatrix, Matrix4::multpoint3d, myfit2, myfit3, n, NULL, num, AtomSel::num_atoms, AtomSel::on, result, AtomSel::selected, Matrix4::translate, and vec_normalize. |
|
Definition at line 2502 of file Measure.C. References ResizeArray::append, calculate_angle, calculate_bond, calculate_dihed, DrawMolecule::frame, MEASURE_ANGLE, MEASURE_BOND, MEASURE_DIHED, MEASURE_ERR_NOFRAMES, MEASURE_ERR_NOMOLECULE, MEASURE_ERR_REPEATEDATOM, MEASURE_NOERR, MoleculeList::mol_from_id, DrawMolecule::numframes, and DrawMolecule::override_current_frame. |
|
|
Definition at line 2093 of file Measure.C. References gofrparms_t::boxby2, gofrparms_t::count_h, gofrparms_t::count_i, gofrparms_t::count_o_end, gofrparms_t::count_o_start, gofrparms_t::curframe, gofrparms_t::delta, gofrparms_t::hlist, gofrparms_t::ilist, gofrparms_t::maxframe, MEASURE_NOERR, min_dist_with_pbc, gofrparms_t::msgtp, gofrparms_t::olist, and wkf_msg_timer_timeout. Referenced by measure_gofr. |
|
Definition at line 557 of file Measure.C. References angle, DrawMolecule::app, BaseMolecule::atom, ATOMHYDROGEN, MolAtom::atomType, MolAtom::bonded, MolAtom::bonds, MolAtom::bondTo, AtomSel::coordinates, GridSearchPair::ind1, GridSearchPair::ind2, VMDApp::moleculeList, GridSearchPair::next, NULL, AtomSel::num_atoms, AtomSel::on, vec_sub, and vmd_gridsearch2. |
|
Definition at line 2916 of file Measure.C. References center_of_mass, AtomSel::coordinates, AtomSel::firstsel, jacobi, AtomSel::lastsel, BaseMolecule::mass, MEASURE_ERR_NOATOMS, MEASURE_ERR_NONZEROJACOBI, MEASURE_ERR_NOSEL, MEASURE_NOERR, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, AtomSel::on, and z. |
|
Definition at line 281 of file Measure.C. References analyze_selection_aligned_dispatch, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOMINMAXCOORDS, MEASURE_ERR_NOSEL, MEASURE_NOERR, minmax_selected_3fv_aligned, NULL, num, and vec_zero. |
|
Definition at line 71 of file Measure.C. References AtomSel::firstsel, AtomSel::lastsel, Matrix4::mat, mat, MEASURE_ERR_NOFRAMEPOS, MEASURE_ERR_NOSEL, MEASURE_NOERR, Matrix4::multpoint3d, AtomSel::num_atoms, AtomSel::on, AtomSel::selected, and z. |
|
measure the radius of gyration, including the given weights.
Definition at line 737 of file Measure.C. References AtomSel::coordinates, distance2, AtomSel::firstsel, AtomSel::lastsel, measure_center, MEASURE_ERR_BADWEIGHTSUM, MEASURE_ERR_GENERAL, MEASURE_ERR_NORGYR, MEASURE_ERR_NOSEL, MEASURE_NOERR, and AtomSel::on. |
|
measure the rmsd given a selection and weight term.
Definition at line 866 of file Measure.C. References distance2, AtomSel::firstsel, MEASURE_ERR_BADWEIGHTSUM, MEASURE_ERR_MISMATCHEDCNT, MEASURE_ERR_NOSEL, MEASURE_ERR_NOWEIGHT, MEASURE_NOERR, num, AtomSel::num_atoms, AtomSel::on, and AtomSel::selected. |
|
Definition at line 780 of file Measure.C. References BaseMolecule::atom, AtomSel::coordinates, distance2, AtomSel::firstsel, MEASURE_ERR_BADWEIGHTSUM, MEASURE_ERR_MISMATCHEDCNT, MEASURE_ERR_NOSEL, MEASURE_ERR_NOWEIGHT, MoleculeList::mol_from_id, AtomSel::molid, num, AtomSel::num_atoms, AtomSel::on, AtomSel::selected, and MolAtom::uniq_resid. |
|
Definition at line 682 of file Measure.C. References distance2, AtomSel::firstsel, DrawMolecule::get_frame, AtomSel::lastsel, measure_avpos, MEASURE_ERR_BADFRAMERANGE, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MEASURE_NOERR, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, DrawMolecule::numframes, AtomSel::on, and AtomSel::selected. |
|
Definition at line 626 of file Measure.C. References distance2, DrawMolecule::get_frame, measure_avpos_perresidue, measure_center_perresidue, MEASURE_ERR_BADFRAMERANGE, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, DrawMolecule::numframes, and AtomSel::selected. |
|
|
|
|
|
Definition at line 123 of file Measure.C. References AtomSel::firstsel, AtomSel::lastsel, MEASURE_ERR_BADWEIGHTPARM, MEASURE_ERR_GENERAL, MEASURE_ERR_NOSEL, MEASURE_ERR_NOWEIGHT, MEASURE_NOERR, AtomSel::num_atoms, AtomSel::on, and AtomSel::selected. |
|
Definition at line 2050 of file Measure.C. References fix_pbc_n_sqr. Referenced by measure_gofr_orth. |
|
Definition at line 1066 of file Measure.C. References Matrix4::translate, transvec, and transvecinv. Referenced by measure_fit. |
|
Definition at line 1085 of file Measure.C. References Matrix4::inverse, Matrix4::multmatrix, Matrix4::multpoint3d, RADTODEG, Matrix4::rot, Matrix4::translate, and transvecinv. Referenced by measure_fit. |
|
Definition at line 2625 of file Measure.C. References check_mol, DrawMolecule::current, Timestep::get_transform_from_cell, mat, MEASURE_ERR_NOFRAMES, MEASURE_NOERR, Matrix4::multpoint3d, and Timestep::pos. |
|
the volume of a sperical cap. the volume of a spherical cap is defined as: pi / 9 * h^2 * (3 * r - h)with h = height of cap = radius - boxby2. Definition at line 2063 of file Measure.C. References VMD_PI. |
|
Definition at line 1043 of file Measure.C. References length, RADTODEG, Matrix4::rot, and z. Referenced by myfit2. |
|
Definition at line 1020 of file Measure.C. References length, RADTODEG, Matrix4::rot, and z. |
|
Initial value: { "no atom selection", "no atoms in selection", "incorrect number of weights for selection", "internal error: NULL pointer given", "bad weight sum, would cause divide by zero", "molecule was deleted(?)", "cannot understand weight parameter", "non-number given as parameter", "two selections don't have the same number of atoms", "internal error: out of range", "no coordinates in selection", "couldn't compute eigenvalue/vectors", "unknown Tcl problem", "no atom radii", "order parameter contains out-of-range atom index", "order parameter not supported in old RMS fit mode", "specified frames are out of range", "both selections must reference the same molecule", "one atom appears twice in list", "molecule contains no frames", "invalid atom id", "cutoff must be smaller than cell dimension", "Zero volmap gridsize" } Definition at line 39 of file Measure.C. Referenced by measure_error. |