Dear all,

First off: sorry if you receive this email twice. I was unsure about the exact
list address to sent it to.

I seem to have a strange problem. I try to determine the partial charges of a
molecule using the different force fields (code below, [1]) using the python
interface. However, I always seem to get the exact same partial charges
irrespective of the force field in use. Now I am wondering whether that was to
be expected. I would think that different force fields yield different partial
charges. The energies I get are vastly diferent, though.

I appreciate any hints about what I am doing wrong here. It does not matter
which molecule I choose, the result is always the same.

Thanks in advance,
Torsten

[1]:
import pybel as pb
import openbabel as op
import sys

def get_partial_charges(mol,nr_atoms):
     """
     Return a list of all partial charges of the atoms
     according to the current force field. List has the
     same order as the atoms in the molecule.
     """
     a=op.OBAtom()
     partialcharges=[0.0]*nr_atoms
     for idx in range(1,nr_atoms+1):
         a = mol.GetAtom(idx)
         partialcharges[idx-1] = a.GetPartialCharge()
     return partialcharges

for forcefield in pb.forcefields:
     mol = pb.readfile("xyz","test.xyz").next().OBMol
     ff = op.OBForceField.FindForceField(forcefield)
     if  ff.Setup(mol) == 0:
         print >> sys.stderr, "Force field "+ff.Description()+" could not be 
set-up correctly."
     else:
         print get_partial_charges(mol,mol.NumAtoms())

------------------------------------------------------------------------------
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to