From chemistry-request@www.ccl.net  Mon Sep 28 04:48:06 1998
Received: from bioreason8 (dialup9.trail.com [209.194.109.34])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with SMTP id EAA10667
        Mon, 28 Sep 1998 04:48:03 -0400 (EDT)
Received: from bioreason.com (localhost [127.0.0.1]) by bioreason8 (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id CAA08309; Mon, 28 Sep 1998 02:44:11 -0700
Sender: dalke@bioreason.com
Message-ID: <360F5A6A.8273635@bioreason.com>
Date: Mon, 28 Sep 1998 02:44:10 -0700
From: Andrew Dalke <dalke@bioreason.com>
Organization: Bioreason, Inc.
X-Mailer: Mozilla 4.05 [en] (X11; U; IRIX 6.2 IP22)
MIME-Version: 1.0
To: "LOEFFLER,DR,GERALD FEM BENAT" <gerald.loeffler@vienna.at>
CC: chemistry@www.ccl.net
Subject: Re: CASP vs. The Tower of Babel
References: <4195A3C6D39BD11189C30020AFFC17588F3BD9@vieexch1.vie.at.bic>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit




Gerald Loeffler <gerald.loeffler@vienna.at> stated:
> As a concrete example: It would be almost trivial to design
> an OO framework for Energy Minimization [...]
> 
> But is the resulting code efficient? It's certainly a lot
> slower than FORTRAN! (For language reasons and because you
> loose opportunities for source-level optimizations if components
> have to be truly independent of each other.)

There's some recent (within the last 4 years or so) work done
with C++ templates to push the performance of that langauge
to near-FORTRAN speeds using a technique called "template
expressions".  Interestingly, templates are pretty orthogonal
to objects, and I think that's a pretty important distinction.

Most of the things you're talking about,
> minimization strategies, potentials of mean force, integration
> algorithms, Monte Carlo moves, Genetic Algorithms
are algorithms which are "genericized" using templates, not
objects.

The biggest project I know of using templates for computational
work is POOMA from Los Alamos.  I also recall someone from UCSD(?)
working on a framework for biomolecular modeling, but I've
forgotten both the name of the project and the people working on
it.

> So why is there no collaboration on the code-level between
> computational scientists?

I know several reasons for why people might not distribute
their sofware:
  1) not worth it to them (eg, documentation, proper packaging,
support for multiple platforms, setting up web pages and ftp site,
etc can be a lot of work, even if you know what you're doing)
  2) worried their contributions won't be properly recognized,
  3) want to commercialize their work, especially if there is a
patent associated with it
  4) the software was written and maintained by grad students who
want to graduate -- it often is (just) enough to get the work done
or there's no single owner/developer that "owns" the software
through the transitions.  Of course, this is a minature version
of the same problem.


Then, when someone does make the source available, most of the
time it is under what I consider to be a too restrictive license.
For example:

  "cannot be redistributed" means I cannot make changes or
improvements to the software and give the changes to others.
Sometimes I can send the changes back to the author and have
them incorporated into the main development.  But what happens
if no more development is done on the project?  Or if the
development path is different than that one I'm taking?

  "educational use only" or "not for commercial use"  There's
a couple problems here.  I don't really care who uses my software
but if I base some of my work on a library that is not for
commercial use, I have to restrict with whom I can collaborate.
(There's also sticky points like, is a research group in a
for-profit hospital non-commercial?)
  The other big problem is I'm in a company now, so I cannot
use that class of software.  Yet I develop and release software
that others can freely use.  This most recently bit me when I
decided I wanted to experiment with mmCIF for use in Python
(perhaps as part of Konrad Hinsen's MMTK).  I didn't want to
implement a parser myself so looked at the mmCIF code from
Rutgers.  It was only for educational use, which means I couldn't
even look at the source.

Finally, even if the license isn't onerous, I agree that there's still
the problem you pointed out:
> traditionally computational scientists have been _lousy_
> programmers.

This also falls into several categories.  The biggest complication is
that there are a lot of self-taught programmers in this field while
the field of software development/engineering has advanced beyond what
most of those people know.  The example I gave earlier, template
expressions in C++, is one very powerful feature that few
computational scientists know about, much less use.

Suppose you're a computational chemist (this is CCL, after all :) but
learned programming mostly on your own.  Here's some problems I can
almost guarantee will be in your code, and which make software hard
for others to use:

  1) non-thread-safe functions
  2) no or poor exception detection and handling
  3) containers with only one iterator
  4) no concern for namespace collision
  5) reimplementation of standard library functions
  6) writing your own command/control/macro language
  7) poor definition of who "owns" certain data elements,
       especially strings

(these are not the standard beginning programming problems of hard-
coded array sizes, excessive use of global variables, fragile input
parsers, etc.)  BTW, my own code contained all of the above problems
until I learned why they should be avoided :) 
  Even then, there is rarely good documentation, especially of
the internals and reasons for making certain design decisions



Another difficulty is realizing that there are common approaches to
certain tasks.  If you want others to use your software you have to
use those approaches.  For a basic example, if you write something
that implements a binary tree, you should probably have items like
"parent", "node", "left_child" and "right_child".

Real situations are more complicated than that.  People are starting
to recognize and classify larger organizational patterns in software
(see the "Design Patterns" book).  By being aware that you are using
those patterns, and explicitly designing your software to support that
description, you help others who need to work with your code.  I'm
willing to bet that few in this forum have read that book, but it is
an important one in the software engineering field.

Finally, it takes a long time to learn the sense of what makes a good
interface and how to tell if what you're developing is specific to you
or is useable with somebody else's view of the world.  (My common
example here is a visualization program good for biomolcules but has
no concept of bond order or ring detection so poor for chemists.)


While I'm here, let me point out a problem I've had.  I like working
on software "infrastructure"; how to tie different pieces of software
together into a larger whole.  I think the computational chemistry
needs some work along these lines, and the lack of a set of commonly
used libraries for this field is helping restrict new development.
Who will pay for this work?  Or, in a university environment, there's
not enough physical science to make it worth a chemistry or physics
degree, nor enough computer science to make it worth a computer
science degree.


> (Regarding unwillingness to give away source code at all: With Java
> you can even give away the "object code" (byte code) (maybe after
> running it through an obfuscator) and it will work on any Java
> platform...)

Please no.  I ask that this not be common.  Let me quote from the
QCPE distribution here:

>      Commercial software firms will usually
> only make executable code available.  As QCPE
> is attempting to promote the development of the
> field of computational chemistry it has always
> been our philosophy to provide source code.
> Our reasoning for this is simple.  Unless the
> user has source code one has no idea about the
> science or should one say "alleged" science
> which is contained in the system.
> 
>                       Richard W. Counts/QCPE

						Andrew Dalke
						dalke@bioreason.com
---
Disclaimer: Opinion only, and not necessarily the viewpoint of my
employers nor even myself all the time.


From chemistry-request@www.ccl.net  Mon Sep 28 10:59:13 1998
Received: from earth.ox.ac.uk (darwin.earth.ox.ac.uk [163.1.22.6])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with ESMTP id KAA12393
        Mon, 28 Sep 1998 10:59:12 -0400 (EDT)
Received: from metropolis.earth.ox.ac.uk (metropolis [163.1.22.59])
	by earth.ox.ac.uk (8.9.1a/8.9.1) with SMTP id PAA28864
	for <chemistry@www.ccl.net>; Mon, 28 Sep 1998 15:59:08 +0100 (BST)
From: Keith Refson <Keith.Refson@earth.ox.ac.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <13839.42044.95834.577681@metropolis>
Date: Mon, 28 Sep 1998 15:59:08 +0100 (BST)
To: "Comp. Chem. List" <chemistry@www.ccl.net>
Subject: CCL:Fitting a potential by a family of functions...
In-Reply-To: <360B95AC.167E@cennas.nhmfl.gov>
References: <360B95AC.167E@cennas.nhmfl.gov>
X-Mailer: VM 6.62 under Emacs 20.3.1
Content-Transfer-Encoding: 7bit




boufer writes:
 
 > I want to fit a potential~(of the Coulomb type) by some family of
 > functions. My problem is, I cannot use the classical least square method
 > in which we start by writing : 
 > 
 > D = Int (True Potential - approximation)^2 dv
 > 
 > since in this case the true potential is not square integrable and hence
 > yield to a divergence. 

Just remove the divergence using a weighting function, eg

D = Int ((True Potential - approximation)/r)^2 dv

will remove the r -> 0 divergence.  You will need to devise something
more complicated to include this as well as the r -> oo divergence

Keith Refson



-- 
------------------------------------------------------------------------------
Email: Keith.Refson@  | Tel: +44 1865 272026 | Dr Keith Refson,              |
       earth.ox.ac.uk | Fax: +44 1865 272072 | Dept of Earth Sciences        |
Spam:            root@cyberpromo.com         | Parks Road, Oxford OX1 3PR, UK|
------------------------------------------------------------------------------


From chemistry-request@www.ccl.net  Mon Sep 28 11:25:11 1998
Received: from bioc1.msi.com (bioc1.msi.com [146.202.0.2])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with SMTP id LAA12579
        Mon, 28 Sep 1998 11:25:10 -0400 (EDT)
Received: by bioc1.msi.com (931110.SGI/930416.SGI)
	for chemistry@www.ccl.net id AA28418; Mon, 28 Sep 98 08:19:35 -0700
Received: from mica.msi.com(146.202.6.217) by bioc1.msi.com via smap (V2.0)
	id xma028407; Mon, 28 Sep 98 08:19:32 -0700
Received: from jnauss-pc.msi.com by mica.biosym.com.msi.com (4.1/SMI-4.1)
	id AA13270; Mon, 28 Sep 98 08:32:02 PDT
Message-Id: <3.0.3.32.19980928081810.006b0e4c@146.202.6.217>
X-Sender: jnauss@146.202.6.217
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.3 (32)
Date: Mon, 28 Sep 1998 08:18:10 -0700
To: Bernd Engels <bernd@rs5.thch.uni-bonn.de>,
        chemistry@www.ccl.net (Computational Chemistry List)
From: "Jeffrey L. Nauss" <jnauss@msi.com>
Subject: Re: CCL:books for theor.chem.
In-Reply-To: <199809231236.OAA15662@rs5.thch.uni-bonn.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"




At 02:36 PM 9/23/98 +0200, Bernd Engels wrote:

>I would be interested in an overview about
>good books about Theoretical Chemistry. I am
>mainly interested in books for undergraduate
>students but other comments are also
>highly appreciated.

I have found the following to be most useful:

1.  "Computational Chemistry", 1995, GH Grant and WG Richards, Oxford,
Oxford University Press

	A thin book (92 pages) but provides a nice overview of the field.
Probably most suited for undergraduates.

2.  "Molecular Modeling: Principles and Applications", AR Leach, 1996,
Essex, Addison Wesley Longman Limited

	A much more robust book (595 pp) that goes into more detail than Grant and
Richards.  Gives more examples and a more solid theoretical foundation for
the techniques.  My choice for a graduate level textbook.

3.  "Dynamics of Proteins and Nucleic Acids," JA McCammon and SC Harvey,
1987, Cambridge, Cambridge University Press.

	Always a classic - an excellent (though a little dated) description of
simulations of proteins and nucleic acids.  Good low level introductions to
theory with some nice examples and applications.

4.  "Computer Simulation of Liquids", MP Allen and DJ Tildesley, 1987,
Oxford, Clarendon Press.

	Only for the hardcore simulation junkies.  An excellent description of the
nuts and bolts of simulation code.  Would be excellent for a course where
the students will write programs for simulations.

5.  "Forcefield-Based Simulations," April 1997, San Diego, Molecular
Simulations Inc.  

6.  "Discover 2.9.8/96.0/4.0.0. Forcefield Simulations: User Guide, Part
1", September 1996, San Diego, Molecular Simulations Inc.

	In my experience with teaching molecular modeling at the University of
Cincinnati, I found these user guides from MSI to be very helpful.  They
give a clear explanation of forcefield based simulations.


--
Jeffrey L. Nauss, PhD		Phone: (619) 799-5555
Product Specialist, Simulations	Fax: (619) 458-0136
Molecular Simulations Inc.		E-mail: jnauss@msi.com
9685 Scranton Road
San Diego, CA 92121



From chemistry-request@www.ccl.net  Mon Sep 28 12:45:59 1998
Received: from gatekeeper.es.dupont.com (gatekeeper.es.dupont.com [192.26.233.2])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with ESMTP id MAA12985
        Mon, 28 Sep 1998 12:45:59 -0400 (EDT)
From: fredvc@esalp2.dnet.dupont.com
Received: from ns1.es.dupont.com (ns1.es.dupont.com [138.196.90.13])
	by gatekeeper.es.dupont.com (8.9.0.Beta3/8.9.0.Beta3) with SMTP id MAA04967
	for <chemistry@www.ccl.net>; Mon, 28 Sep 1998 12:45:58 -0400
Received: by ns1.es.dupont.com; id AA12093; Mon, 28 Sep 98 12:45:56 -0400
Message-Id: <9809281645.AA12093@ns1.es.dupont.com>
Received: from esalp2.dnet; by esds01.dnet; Mon, 28 Sep 98 12:45:57 EDT
Date: Mon, 28 Sep 98 12:45:57 EDT
To: smtp@"boufer@cennas.nhmfl.gov"
Cc: fredvc@esalp2.dnet.dupont.com, chemistry@www.ccl.net
Apparently-To: chemistry@www.ccl.net
Subject: RE: CCL:Fitting a potential by a family of functions...




Fitting a potential by a family of functions........

If there is a problem wiht the function not be square-integrqable, you will 
have to discretize the true potential and perform your least squares fit
using summatiions rather than integrations.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                           FREDERIC A. VAN-CATLEDGE

Scientific Computing Division         ||   Office: (302) 695-1187 or 529-2076
Central Research & Development Dept.  ||          
The DuPont Company                    ||      FAX: (302) 695-9658
P. O. Box 80320                       ||
Wilmington DE 19880-0320              || Internet: fredvc@esvax.dnet.dupont.com 
--------------------------------------------------------------------------------
Opinions expressed in this electronic message should ***> NOT <*** be taken to 
represent the official position(s) of the DuPont Company.  

*****> ANY OPINIONS EXPRESSED ARE THE PERSONAL VIEWS OF THE AUTHOR ONLY. <*****
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



From chemistry-request@www.ccl.net  Mon Sep 28 15:34:30 1998
Received: from mail3.cityweb.de (mail3.cityweb.de [193.189.224.211])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with ESMTP id PAA19066
        Mon, 28 Sep 1998 15:34:28 -0400 (EDT)
Received: from cityweb.cityweb.de (ess8-m103-96.pool.cww.de [195.71.103.96])
	by mail3.cityweb.de (8.9.1/8.9.1/powered by Telemedia) with SMTP id VAA01676
	for <chemistry@www.ccl.net>; Mon, 28 Sep 1998 21:34:27 +0200 (MET DST)
Message-Id: <199809281934.VAA01676@mail3.cityweb.de>
X-Sender: warzecha@mail.essen.cityweb.de
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0
Date: Mon, 28 Sep 1998 21:33:46 +0200
To: chemistry@www.ccl.net
From: "Klaus-D. Warzecha" <warzecha@cityweb.de>
Subject: CCL:RE:help! (was: plotting of surfaces with VB)
In-Reply-To: <199809251524.MAA00341@huckel.ifi.unicamp.br>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by www.ccl.net id PAA19068




At 12:24 25.09.98 -0300, Marcio Cyrillo wrote:

>[...] 2 - Having a collection of data of the following type: variable1,
variable2, energy(variable1, variable2), is there a free (public) routine
to plot the corresponding surface?  [...]

Marcio,
among the controls shipped with VB,  graph.ocx + graph server probably
won't work for potential surfaces, whereas MSChart.ocx might. It's however
not the simplest they ever made and the documentation could indeed be a bit
better. 

A commercial alternative might be a package named "First Impression"  by
Visual Components. Again, never used it or saw it in action myself, but you
might check their web site at http://www.visualcomp.com for further
information.

Best wishes,
Klaus
 
--
Klaus-D. Warzecha
Max-Planck-Institut für Strahlenchemie
P. O. Box 101365
D-45413 Mülheim an der Ruhr
Germany
fax: x49/x208-306-3951
email: warzecha@cityweb.de




From chemistry-request@www.ccl.net  Mon Sep 28 16:09:36 1998
Received: from rzusuntk.unizh.ch (rzumail2.unizh.ch [130.60.128.10])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with ESMTP id QAA22807
        Mon, 28 Sep 1998 16:09:35 -0400 (EDT)
Received: [from rzusgi.unizh.ch (chburger@rzusgif.unizh.ch [130.60.68.19])
           by rzusuntk.unizh.ch (8.8.5/SMI-5.25) with SMTP id WAA10814
           for <CHEMISTRY@www.ccl.net>;
           Mon, 28 Sep 1998 22:07:32 +0200 (MET DST)]
Date: Mon, 28 Sep 1998 22:06:28 +0200 (MDT)
From: "Dr. Peter Burger" <chburger@aci.unizh.ch>
To: CHEMISTRY@www.ccl.net
Subject: parallel ADF-PVM on Linux/Intel?
Message-ID: <Pine.SGI.3.95.980928220100.104A-100000@rzusgi.unizh.ch>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII





Dear CCLers,

has anyone of you successfully installed the parallel version of the
DFT program ADF running on Linux/Intel with either PVM or MPI and
is willing to share his/her experience/provide hints?

Many thanks in advance

Peter

--------------------------------------------------------
Peter Burger
University of Zuerich
chburger@aci.unizh.ch



From chemistry-request@www.ccl.net  Mon Sep 28 18:26:46 1998
Received: from cs.CS.NMSU.Edu (cs.CS.NMSU.Edu [128.123.64.2])
        by www.ccl.net (8.8.3/8.8.6/OSC/CCL 1.0) with ESMTP id SAA05137
        Mon, 28 Sep 1998 18:26:44 -0400 (EDT)
Received: from oso.cs.nmsu.edu (ajones@oso [128.123.64.79])
	by cs.CS.NMSU.Edu (8.8.6/8.8.6) with SMTP id QAA02620
	for <chemistry@www.ccl.net>; Mon, 28 Sep 1998 16:26:39 -0600 (MDT)
Date: Mon, 28 Sep 1998 16:26:39 -0600 (MDT)
From: Abraham Jones <ajones@cs.nmsu.edu>
To: chemistry@www.ccl.net
Subject: Plotting Contours!
Message-ID: <Pine.LNX.3.96.980928161558.6917A-100000@oso.cs.nmsu.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII





 
 Greetings,

  Hello to all fellow users of gnuplot.  I want to say a big 
 *thank you* very much to all the people who answered my post 
 about contouring data with gnuplot. :-)  Just about all of my questions 
 where answered and I'm now generating contour plots with gnuplot.  I 
 must say that Sigma Plot generates much nicer contour plots and it's 
 much easier to use.  All of my f77 number crunchers run on a unix 
 machine.  Now I can use gnuplot to fine tune the contours and Sigma Plot 
 generates the final pretty print for class.  This semester I'm taking a 
 class in low speed aero and we're doing a lot of potential flow; ergo 
 lots of contour plots.  I wish the school would break down and get 
 Sigma Plot for Unix machines.  Is it that expensive? Anyway,
 again many thanks to all the people who sent me tips on how to use
 gnuplot.


 Abraham Jones



