I know there are multiple topics about “Error in the topology generation” already, but in my case the error seems to come from something that is not described in those topics yet.
I am doing the protein-ligand example that came with my local installation of HADDOCK. When I use the ligand-prodrg.top and ligand-prodrg.param files that are in the folder already, it runs fine.
I would like to be able to reproduce the top and param files that were given in the examples/protein-ligand folder so that I am sure that I understand the procedure of creating these files. When I use oseltamivir-zwitterion.pdb to generate new top and param files using the PRODRG server, the resulting error (at the bottom of the generate_2.out file) is: %DCART2 error encountered: there are atomic masses <= 0.
I can see that the files created by PRODRG are different from the ones that were in the folder. The difference is that the new PRODRG files have each proton individually while the other files group some protons with their carbons.
Example:
(in the file given in examples/protein-ligand folder)
MASS CA82 15.0350 ! equivalent to CH3
MASS CA81 14.0270 ! equivalent to CH2
MASS CA8 13.0190 ! equivalent to CS1
MASS CA9 14.0270 ! equivalent to CH2
MASS CA91 15.0350 ! equivalent to CH3
versus (in the newly created file from PRODRG):
MASS CA82 12.0110 ! equivalent to CH3
MASS HA82 1.0080 ! equivalent to HC
MASS HA96 1.0080 ! equivalent to HC
MASS HA97 1.0080 ! equivalent to HC
MASS CA81 12.0110 ! equivalent to CH2
MASS HA81 1.0080 ! equivalent to HC
MASS HA95 1.0080 ! equivalent to HC
MASS CA8 12.0110 ! equivalent to CH1
I tried toggling “Charges” from reduced to full and “EM” from yes to no (separately) but that seemed not to change anything in this.
Am I using the wrong pdb file to create the top and param files? Am I using the wrong settings in PRODRG? Could something else cause the DCART2 error?
First of all, raw version of PRODRG running on our server is indeed older than what you get when using the PRODRG website.
But in our hands it does do the work.
So I would not worry about the differences.
The error you have however points to a missing mass - check that all atoms defined in the top file do have proper masses defined.
Also make sure to comment out or remove some lines from the param file. Check:
Thanks. I did remove the NBONds part in the param file.
These are all the masses in the top file:
MASS CA82 12.0110 ! equivalent to CH3
MASS HA82 1.0080 ! equivalent to HC
MASS HA96 1.0080 ! equivalent to HC
MASS HA97 1.0080 ! equivalent to HC
MASS CA81 12.0110 ! equivalent to CH2
MASS HA81 1.0080 ! equivalent to HC
MASS HA95 1.0080 ! equivalent to HC
MASS CA8 12.0110 ! equivalent to CH1
MASS HA8 1.0080 ! equivalent to HC
MASS CA9 12.0110 ! equivalent to CH2
MASS HA91 1.0080 ! equivalent to HC
MASS HA92 1.0080 ! equivalent to HC
MASS CA91 12.0110 ! equivalent to CH3
MASS HA99 1.0080 ! equivalent to HC
MASS HA:A 1.0080 ! equivalent to HC
MASS HA98 1.0080 ! equivalent to HC
MASS OA7 15.9994 ! equivalent to OS
MASS CA6 12.0110 ! equivalent to CR2
MASS HA6 1.0080 ! equivalent to HC
MASS CA7 12.0110 ! equivalent to CR1
MASS HA7 1.0080 ! equivalent to HC
MASS CA2 12.0110 ! equivalent to CR0
MASS CA1 12.0110 ! equivalent to C
MASS OA1B 15.9994 ! equivalent to OM
MASS OA1A 15.9994 ! equivalent to OM
MASS CA3 12.0110 ! equivalent to CR2
MASS HA31 1.0080 ! equivalent to HC
MASS HA32 1.0080 ! equivalent to HC
MASS CA4 12.0110 ! equivalent to CS
MASS HA41 1.0080 ! equivalent to HC
MASS NA4 14.0067 ! equivalent to NL
MASS HA43 1.0080 ! equivalent to H
MASS HA44 1.0080 ! equivalent to H
MASS HA42 1.0080 ! equivalent to H
MASS CA5 12.0110 ! equivalent to CS
MASS HA51 1.0080 ! equivalent to HC
MASS NA5 14.0067 ! equivalent to N
MASS HA52 1.0080 ! equivalent to H
MASS CA10 12.0110 ! equivalent to C
MASS OA10 15.9994 ! equivalent to O
MASS CA11 12.0110 ! equivalent to CH3
MASS HA93 1.0080 ! equivalent to HC
MASS HA94 1.0080 ! equivalent to HC
MASS HA11 1.0080 ! equivalent to HC
I think everything looks normal? The only weird thing could be the HA:A name. If I change that to HAA I don’t get the “Error in the topology generation”, but the program will keep repeating “Waiting for psf files…” so that doesn’t make it better.
If the program keeps waiting for a psf file, I don’t see an error because the program doesn’t hit one and shut off, it just keeps on waiting and trying until I do ctrl-C. The generate_1.out and generate_2.out files don’t contain anything pointing to an error, as far as I can understand (no “error” or “warning” lines).
What do you mean with I have to match the masses to the atoms defined in the topology of the ligand? Do I need to change the top and param files? Do I need to manually check all the masses to see if every hydrogen indeed is 1.0080?
What should I replace the colon in the name with? As I said, removing it doesn’t seem to work.
It seems that the colon in the atom names was the problem after all. And I needed to be a little more patient with the program. Now that I’ve renamed the atom, it takes long to wait for the psf files compared to other runs but it does get there! Thanks a lot for your help.
I emailed Daan van Aalten to ask why PRODRG renumbers hydrogens to something with a colon in it.