Folks,
I have created a RESI entry in top_heav.lib for a ligand of interest to me. When run without attempting to patch anything the RESI is accepted just fine and models are made with the appropriate ligand in an appropriate location.
In reality the ligand forms a covalent bond with the protein. This is a Schiff Base linkage.
My RESI is an aldehyde. The covalent bond is to the NZ of a lysine. I am deleting hydrogens from the LYS and the aldehyde oxygen from from the ligand to make the bond of interest to me.
I created a PRES entry based on the disulfide example.
PRES ELAZ +1.0000 ATOM 1:CE CT2 -0.10000 ATOM 1:NZ NN3 1.0000 ! trying to make a protonated Schiff base ATOM 2:C15 CN2 -0.08000 ATOM 2:C14 CT1 -0.10000 DELE ATOM 1:HZ3 DELE ATOM 1:HZ2 DELE ATOM 2:O32 BOND 1:NZ 2:C15 ANGL 1:CE 1:NZ 2:C15 1:NZ 2:C15 2:C14 DIHE 1:CD 1:CE 1:NZ 2:C15 1:NZ 2:C15 2:C14 2:C13 1:CE 1:NZ 2:C15 2:C14 IC 1:CD 1:CE 1:NZ 2:C15 0.0000 0.0000 92.5000 0.0000 0.0000 IC 1:CE 1:NZ 2:C15 2:C14 0.0000 0.0000 183.0000 0.0000 0.0000 IC 1:NZ 2:C15 2:C14 2:C13 0.0000 0.0000 177.0000 0.0000 0.0000
When I perform a test run of the code patch.py from the on-line manual (where I have added "env.io.hetatm=true" to read the ligand). The program appears to run but the log file shows numerous entries of this sort
r_stere_607W > Cannot find parms in parm file Then remarks indicate that it has "added" some parms; so it gets past some instances where explicit information has not been supplied.
It gets to a particular dihedral involving an atom that is supposed to be deleted by the patch ( see line above- 'DELE ATOM 2:O32' is the line in top.heav.lib; this is the aldehyde oxygen) and stops.
The final line reads simply:
FATAL error: assertion nbndpf < mbndpf failed in r_stereo.F90, line 608
At this point that error means absolutely nothing to me.
The entries in the parm.lib file are often redundant for many entries. Are the columns described somewhere?
Do I need to have explicit entries in the parm file for an atom that I hope to delete?
I have not deciphered how to designate bond order in either the RESI entry or the PRES entry lines. How does one specify bond order?
Starr
Starr Hazard wrote: > I have created a RESI entry in top_heav.lib for a ligand of interest to me. > When run without attempting to patch anything the RESI is accepted just > fine and > models are made with the appropriate ligand in an appropriate location.
Presumably you also specified a one-letter code in restyp.lib?
> r_stere_607W > Cannot find parms in parm file > Then remarks indicate that it has "added" some parms; so it gets past some > instances where explicit information has not been supplied.
Exactly - where parameters are not supplied, it guesses, using the current geometry as the input.
> It gets to a particular dihedral involving an atom that is supposed to be > deleted by the patch ( see line above- 'DELE ATOM 2:O32' is the line in > top.heav.lib; this is the aldehyde oxygen) and stops. > > The final line reads simply: > > FATAL error: assertion nbndpf < mbndpf failed in r_stereo.F90, line 608 > > > At this point that error means absolutely nothing to me.
You're not expected to understand what these errors mean. ;) Assertion failures mean a bug in the code. Can you please put your input files (script, template, and modified topology/parameters) in a zip or .tar.gz file, and send it to me, so that I can reproduce (and fix!) your patching problem and this fatal error?
> The entries in the parm.lib file are often redundant for many entries. Are > the columns described somewhere?
You mean par.lib? That's just a CHARMM parameter file. It's documented, along with the top.lib, at www.charmm.org.
> Do I need to have explicit entries in the parm file for an atom that I hope > to delete?
I don't think so, but if you can send me your example, I'll take a look.
> I have not deciphered how to designate bond order in either the RESI entry > or the PRES entry lines. How does one specify bond order?
The CHARMM forcefield has no concept of bond order, so there is no way to specify it in the topology file. What effect do you want bond order to have?
Ben Webb, Modeller Caretaker
Starr Hazard wrote: > I have created a RESI entry in top_heav.lib for a ligand of interest to me. > When run without attempting to patch anything the RESI is accepted just > fine and > models are made with the appropriate ligand in an appropriate location. ... > I created a PRES entry based on the disulfide example. ... > When I perform a test run of the code patch.py from the on-line manual > (where I have added > "env.io.hetatm=true" to read the ligand). The program appears to run but > the log file shows numerous entries of this sort > > r_stere_607W > Cannot find parms in parm file > Then remarks indicate that it has "added" some parms; so it gets past some > instances where explicit information has not been supplied. > > > It gets to a particular dihedral involving an atom that is supposed to be > deleted by the patch ( see line above- 'DELE ATOM 2:O32' is the line in > top.heav.lib; this is the aldehyde oxygen) and stops. > > The final line reads simply: > > FATAL error: assertion nbndpf < mbndpf failed in r_stereo.F90, line 608
Just to follow up on this for the list: there are two bugs in Modeller exposed by this example: an off-by-one error causing the assertion to pop up when it shouldn't, and a bug in the handling of patch atoms limiting the names to 4 characters (so that atom "2:O32" is not deleted, but instead the deletion of "2:O3" is attempted). Both have been fixed in the 9v2 release.
Ben Webb, Modeller Caretaker
participants (2)
-
Modeller Caretaker
-
Starr Hazard