Subject: summary - algorithms for basic molecule manip..

From: Ron Edgar <[email-masked]>
Date: Thu, 7 Sep 1995 12:22:06 +0300 (WET)

First I would like to thank all who replied, in retrospect, my question
was too general and I guess this held back some people with specific 
answers to a specific  problem.  If after reading the replies you
think you can add - by all means please do.

my original question was:

I'm writing a C++ library to deal with atoms/molecules. In the
good tradition of trying to avoid re-inventing the wheel I would
appreciate any references (or source) to algorithms for basic operations 
which can be applied to groups of atoms defined in Cartesian OR fractional
coordinate systems, e.g. torsion and "bend" angles, rotations 
along an arbitrary vector, etc. 

Also I would be interested in means of finding internal molecular 
symmetries for a given set of coordinates.

Please reply directly to me, I will summarize to the group.

Thanks,
	Ron

-------------------------------------------------------------------
Message 6/14  From Leslie Glasser 

Organization:  CHEMISTRY -  WITS UNIVERSITY
To: Ron Edgar <[email-masked]>
Date:          Tue, 5 Sep 1995 12:13:43 GMT + 2:00

Dear Ron:

You will find the vector algebra for some of the operations in which
you might be interested in my article "Molecular Geometry and
Substituent Ganeration: a MathCAD Program", Comp. Chem., 17(1),
107-8 (1993).

Leslie ==============================================================
(Prof.) Leslie Glasser                     Dept. of Chemistry    
E-mail: [email-masked]      Univ. of Witwatersrand     
Tel: Intl + 27 11 716-2070                 P. O. WITS 2050            
Fax: Intl + 27 11 339-7967                 South Africa               
Home Pages:  University      http://sunsite.wits.ac.za
             Chemistry       http://www.chem.wits.ac.za
====================================================================== 

Message 4/14  From Craig Taverner                           

X-Sender: [email-masked]

I have a C (ANSI) program I'm been writing for some time, that contains 
calculations that may be of some use:

It is called "steric", and is primarily for organometalic chemistry.
It is for the calculation of linear cone angles (Tolman), solid angles,
angles of overlap and molecular volumes (rough fast Monte Carlo) 
for steric interactions in ligands and molecules.
Code that may be of interest:
 . bond search using vdW radii
 . group search using recursive bond trace for individual molecules 
and seperate ligands bonded to central metal atom.
 . fractional to cartesian transform
 . some vector manipulations of data (basic and specific).
 . fully dynamically allocated linked lists to describe all molecular 
features (seperate molecules, atoms and bonds).
 . various others I cannot think of now.

If you're interested, I'll be glad to try and provide some code.  My 
program has been written to be easily expanded with new functions, but 
I'm not sure that that will make it easy to provide the current code in a 
general library format.  Unfortunately I never got to learn C++ to 
facilitate that sort of feature.

Cheers, Craig

"If God had meant us to be naked, we would have been born that way."

Craig Taverner
Structural Chemistry, University of the Witwatersrand, South Africa

-----------------------------------------------------------------
Message 3/14  From Matt Stahl                                

Date: Tue, 5 Sep 1995 11:25:58 -0700 (MST)

Ron,
	You may want to check out:

    Computers & Chemistry.  18(4):371-376, 1994 

	This paper contains an algorithm for automatic point group
determination. 
	I have various and sundry routines for internal->cartesian
conversion, bond angle, and torsion angle adjustments (rotation about a
bond).  I can give you sources, but they need to be linked with the BABEL
library.  Actually, babel may also be a good place to look for vector and
matrix routines.  If you are interested in playing with the code i have
(crude, uncommented C) let me know.

matt

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Matthew Stahl, Ph.D.			| 
Department of Chemistry			| I'd rather be right half of the
University of Arizona			| time than half right all the
Tucson, AZ  85721			| time.
[email-masked]		|	-Malcom S. Forbes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Message 2/14  From Hinsen Konrad                             Sep 6, 95 10:13:09 am -0400

Date: Wed, 6 Sep 1995 10:13:09 -0400

I have written some C++ code that takes internal coordinate specifications
(e.g. a Z matrix, but also more flexible forms) and turns them into
Cartesian coordinates. I never had the time to finish this properly;
it works, but error checking is minimal.

-------------------------------------------------------------------------------
Konrad Hinsen                     | E-Mail: [email-masked]
Departement de chimie             | Tel.: +1-514-343-6111 ext. 3953
Universite de Montreal            | Fax:  +1-514-343-7586
C.P. 6128, succ. A                | Deutsch/Esperanto/English/Nederlands/
Montreal (QC) H3C 3J7             | Francais (phase experimentale)
-------------------------------------------------------------------------------