On Tue, Apr 17, 2012 at 9:20 AM, David A Case <case.biomaps.rutgers.edu>wrote:
> On Tue, Apr 17, 2012, 板凱哲彦 wrote:
> >
> > > setBond :83.NE2 :575.FE 60 2.01
> > MoleculeError: Molecule atoms are not contiguous!
>
Further to Dave's suggestion -- I advise against using setBond in ParmEd
unless you really know what you're doing (for instance -- creating a bond
in leap will add the corresponding angles and dihedrals, but in ParmEd it
will not). In my opinion, the most useful part of setBond is that it can
be used to change bonded parameters if that's specifically what you are
trying to do.
The error (MoleculeError: Molecule atoms are not continguous) means that
your topology is strange. The way ParmEd determines the ATOMS_PER_MOLECULE
section is to traverse the bonded network and group together all atoms that
can be reached by moving along bonds (via a recursive algorithm). The way
ATOMS_PER_MOLECULE and SOLVENT_POINTERS is constructed, however, it assumes
that molecules are listed contiguously in the topology file. For instance,
if you have 2 molecules each that have 3 atoms, the only way that
ATOMS_PER_MOLECULE and SOLVENT_POINTERS can properly characterize the
molecules is if one molecule is made of atom numbers 1, 2, and 3 and the
other molecule is atom numbers 4, 5, and 6. My algorithm checks that after
all atoms in a particular molecule are assigned, there is no unassigned
atom that comes before the last atom in the molecule I just defined.
For instance, consider a case that does not work -- that is, atoms 1, 2,
and 4 are in molecule 1, and atoms 3, 5, and 6 are in molecule 2. After
atoms 1, 2, and 4 are assigned to molecule 1, atom 3 is still unassigned,
so this error is thrown. This is a limitation of the prmtop format itself,
and requires that your atoms are ordered accordingly. LEaP automatically
reorders when it isn't hit by this bug you're seeing. You can use ParmEd
to look at your atom ordering and your parameters (try using xparmed.py --
it has a [hopefully] intuitive GUI) to see what may be amiss. In
particular, look for what Dave has pointed out.
> You need to rearrange your input pdb file so that the iron and oxygen that
> will be bonded to the first subunit come immediately after the first
> subunit;
> same for subsequent subunits. Don't put the irons or the oxygens all at
> the
> end. Basically, atoms that are going to become part of a single molecule
> need
> to be continguous in atom number.
>
> ...good luck...dac
>
HTH,
Jason
--
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
352-392-4032
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Apr 17 2012 - 09:00:02 PDT