[ghemical-devel] Tripos 5.2

Tommi Hassinen thassine at messi.uku.fi
Thu Jul 27 03:16:15 EDT 2006


On Wed, 26 Jul 2006, Donald Ephraim Curtis wrote:

> Well, after posting it appears that the tripos info is coming from the
> $prefix/share/libghemical/*/param_mm/tripos52 directory.  But, i
> couldn't find any information on what needs to be added to add Si
> parameters or can get more accurate optimizations.  Is this actually
> what i'm looking for as far as setting the correct force field information?

Yes, I was going to suggest that you try to add the Si parameters you 
need.  :)

The $prefix/share/libghemical/*/param_mm/tripos52 is the right place ; 
libghemical reads the files in, and you are free to add new stuff there. 
You have to be careful with formatting ; it's easiest to duplicate 
existing lines and then modify the values. You can comment out lines 
using the C++ style comments:

// this line would be ignored by the library.

First take a look at the atomtypes.txt file. It will define all the atom 
types for tripos5.2 ; let's take an example:

0x0600 (-*) "general sp3 carbon"

The first 16-bit hex number (0x0600) is an atom type code where the first 
2 digits (0x06 in hex = 6 dec) define the element (element 6 is carbon in 
this case) and the last 2 digits are just a running index for separating 
the different atomtypes for an element (for example, carbon has 4 
different atomypes, so tripos 5.2 knows about 4 different kinds of 
carbon atoms).

Then there is a typerule (-*) ; this part is read in by the code in 
src/typerule.cpp. It's purpose is to define the neighboring atoms that 
match to this atomtype, so that later we can choose, say, which of the 
atomtypes for carbon we will set for this particular carbon atom.

For example the line

0x0600 (-*) "general sp3 carbon"
means a carbon atom that is bonded to any other atom with a single bond

0x0601 (=*) "general sp2 carbon"
means a carbon atom that is bonded to any other atom with a double bond

0x0704 (-*,-*,-*,-*) "ammonium nitrogen"
means a nitrogen atom that is bonded to any other 4 atoms with single 
bonds

0x0705 (-C(=O)) "amide nitrogen"
means a nitrogen atom that is bonded to a carbon atom with a single bond, 
which is further bonded to an oxygen atom with a double bond.

Please see src/typerule.cpp for more about available atom type rules.

The last part is just a text string (separated by quotation marks) for a 
description.

So, let's say we add this into atomtypes.txt

// parameters for Si added 2006-07-27
0x0E00 (-*) "sp3 silicon"

(I don't know much about Si compounds, I just assume there are single 
bonds only ; please design a better typerule if needed).

Then there is a parameters1.txt file, and as you can see there are bond 
stretching parameters listed for all (relevant) combinations of atom types 
listed earlier, for example:

0x0600 0x0600 S 1.540  633.6

This is a term for a carbon-carbon single bond (0x0600 was the sp3 carbon 
atomtype, and the letter S means a single bond). The two numbers are the 
optimum distance (in Å) and a force constant (in kcal/(mol * Å^2)). Please 
note that atomtype code 0xFFFF means "any other atomtype".

So let's add this term so that we can test something with Si ; as you can 
see there is the Si atomtype code and the 0xFFFF code, and a single bond. 
The bond length is set to 9.999 Å so you should have single bonds with 
this length for Si compounds if everything went right :

0x0E00 0xFFFF S 9.999  633.6

Adding a new atomtype and a bond stretching parameters are a good start ; 
try this and then advancing to other parameter?.txt files are easier. And 
report me how it's going!  :)

Regards,

 	Tommi


More information about the ghemical-devel mailing list