This is a still very experimental tool to investigate the cram-packing (stuffing) of predefined volumes (cavities) with branched polymers. It is thus supposed to become a polymer design tool, for devising polymers that will fold up in a designed, rigid three-dimensional shape, with high predictability.
The current state of this program (version 0.2.2) should probably be considered to not even be alpha, as it still is mainly a toy that does not yet perform any production quality work. It is released mainly to satisfy the curiosity of interested individuals. Have fun, and try to improve it.
FIGURE: This is about how good cavstuf does at the moment. Bridging the gulf between this tree molecule and actual real world utility would probably take merely a little over one order of magnitude in improvement... :-)
cavstuf-0.2.2.tar.gz and
mlib-0.2.2.tar.gz .
- un-gzip and untar the two archives. Three directories will have been created.
- Note for Mac-fanatics: The newline characters in the files are UN!X-style linefeeds. The cavstuf lisp files first need to be converted to Mac-style carriage returns, if run on a Mac. A text editor such as BBEdit or Alpha can be used for this. If run in MCL, the PDB files can remain as they are. They can be read nevertheless, with the (read-line ...) modification that is included.
- CavStuf has been tested in GCL-2.2, ECL-0.22, some old version of CLISP, and in MCL2.
GCL can be found at ftp://ftp.cli.com/pub/gcl/.
ECL can be found at ftp://ftp.icsi.berkeley.edu/pub/ai/ecl/ or ftp://ftp.di.unipi.it/pub/lang/lisp/.
CLISP can be found at ftp://ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/source-haible/.
MCL : Too bad. This is a commercial product. Info can be found at http://www.digitool.com/.
The machine specific setup quirks and naming of directories, etc., should all
be confined to the file
0.cavstuf-loader.lisp
, which should be the only file that might need editing. So, in order to load the CavityStuffer code, execute
(load "0.cavstuf-loader.lisp")
at the CommonLISP prompt.
Please provide feedback about problems encountered, and about ports to further CommonLISP implementations.
- A sample moiety library can be rebuilt by running the file
1.build-cyhxamide-0.1-mlib.lisp
. This will need the small PDB files that are included in the distribution.
It is still relatively cumbersome to generate more and novel moieties from scratch.
This involves some hand-work, and a good working knowledge in organic chemistry
and a molecular editing and energy minimization program are needed. At some point,
I'll probably write a tutorial on how to do this, and some additional tools. In the meantime, please let me know of problems, and I will try to help out, as time permits.
Please also note that it might be best to just try using the *.mlib file that is included for the first experiments. It does not necessarily need to be rebuilt. Attention when using ECL-0.22: there seems to be a bug with writing out arrays. Some of them only get printed in a manner that can not be read back in. In that case, one needs to use the *.mlib that is supplied, until this bug is fixed.
- Building polymers and controlling the program can be done by modifying some of
the examples provided by the file
2.how-to-grow-trees.lisp
. That basically represents the current user interface. :-)
CavStuf was mainly intended to be run in batch mode, crunching for a long time, and
then storing a few (hopefully) good PDB files.
This program is copyrighted by IMM (c) 1993, with additions since then copyrighted by KR. I have been granted the right by IMM to grant unrestricted, non-exclusive sub-licenses in any manner that pleases me, and so I am doing the following:
The program "CavityStuffer" is provided to the world in terms of the GNU GPL
(General Public License), a copy of which resides in the file "COPYING-2.0".
A copy of that file also can be obtained from
ftp://prep.ai.mit.edu/pub/gnu/COPYING-2.0
Feedback, bug reports, improvements, etc., are very welcome, and should be directed to:
Markus Krummenacker
e-mail: kr@base.com
There are plans to put together a mailing list for CavityStuffer issues and development. People interested in this, and who want to be kept up to date, should send their eddress to KR.
As the effort behind CavStuf currently is entirely carried by my (sparingly available) spare time, donations of any and all kinds and of any size (or smallness) are gratefully accepted and appreciated, and might provide additional motivation to push CavStuf to a higher level of functionality and utility. Contributions can be sent to:
Markus Krummenacker
Thanx for the interest in CavityStuffer.
Many Greetings, KR