Metal Environment 1.0
---------------------

REQUIREMENTS: VMD Version 1.1 or greater

DESCRIPTION:
	An example of how to use VMD to write analysis scripts.  This
	analyzes the propensity for various residues to be near a set of
	ions.  It takes as input a list of PDB entries and ion names.
	It uses the "mol pdbload" command to ftp the entries automatically
	from the PDB ftp site.  For each ion, it searchs "within" a given
	number of Ångstroms and adds the hits to a search bin.

HOW IT WORKS:
        The VMD atom selection commands were prototyped in two in-house 
        programs developed previously, "pdblang", which showed the need
        for an easy-to-use language for manipulating structures, and
        "parse" which tested the usefulness of Tcl for analyzing large numbers
        of structures.

        Specifically, the goal of the second project was to find what
        features were needed to write a script to analyze the propensity of
        various residues to be located near metal ions.  Such a script would
        need to do the following:
         - given a list of representative PDB files, get them from the PDB
         - find if a metal ion is present
         - find the residues within 3, 5, and 7 \AA\ from the ion
         - keep track of the results

        The hardest part of the script is determining if a metal ion is
        present, as it is hard to distinguish between a CA calcium and a CA
        alpha carbon.  That still hasn't been solved, though the method below
        should work for nearly all cases, except when ions are inadvertently
        bonded to other atoms.  The new PDB definition has a new field for
        element type, but VMD does not yet recognize it.

        For the example, the files 1TRZ, 1LND, and 1EZM contain zincs.
        As expected, histidines were one of the most common zinc
        neighbors. Of course, there will still be problems of missampling (for
        instance, overcounting molecules with zinc finger dimers) so you
        should be very sure of what you are doing when using this type of
        automated analysis.

PROCEDURES:
	myincr varname value -- adds 'value' (a float) to varname.
	find_nearby_residues -- finds residues near an ion
	analyze_ion_propensity -- main driver


EXAMPLE USAGE AND OUTPUT:
	vmd> analyze_ion_propensity {1trz 1lnd 1ezm} ZN
	ALA :****
	ARG :***
	ASN :****
	ASP :***
	CYS :**
	GLN :
	GLU :******
	GLY :
	HIS :***********
	ILE :
	LEU :*
	LYS :**
	MET :
	PHE :*
	PRO :
	SER :****
	THR :
	TRP :
	TYR :***
	VAL :****

DOWNLOAD FILE:
	metal_environment.tcl

AUTHOR:
	Andrew Dalke (dalke@ks.uiuc.edu)