[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