Inserting a modified residue into a protein/DNA chain using pdb2gmx

Hi Miłosz,

Thank so much for your reply. I did not know about gromologist, it seems like a great tool. I have now conducted an extensive online search, tried a great number of things and I think I have advanced a few steps, but I am still experiencing a final issue. Here’s a brief overview:

  • I initially attempted to use gromologist to make the bond between the small molecule and 5’ DNA nucleotide (a bond between the 5’ phosphate and an oxygen atom on my ligand), but the bond was being created with an extra hydrogen (the oxygen had 3 covalent bonds) so something was going wrong.
  • I went back to basics and tried to see what was going wrong. Lots of searches later, I managed to create my .rtp files by using charmm2gmx (Welcome to charmm2gmx’s documentation! — charmm2gmx 1.0.2 documentation) to generate a new forcefield library with just my ligand from my CGenFF .str file, then copying in the details into my current charmm36 (July 2021) forcefield (including the ffbonded.itp angles/dihedrals). I made sure to add an extra bond to the rtp file showing how the terminal oxygen would bind with a phosphate (P+) on a subsequent DNA molecule.
  • At this point, I realised that the previous issue with the bond creation was because I had left a terminal hydrogen on my small molecule, which wasn’t getting removed when I combined it with my DNA. After removing it and reparametrising with CGenFF, I was able to generate the correct topology using pdb2gmx (I also added my small molecule to residuetypes.dat as DNA). I guess this brings me to the same stage as above if I had used gromologist to make the bond.
  • However, I then tested the topology using grompp but this complained that the parameters for a single bond are missing, along with the associated angles and dihedrals (same result when using gromologist’s find_missing_ff_params()). I am assuming that these missing parameters are for the bond between the oxygen (on my ligand) and phosphate (on the DNA), which I did not parameterise with CGenFF.
  • I managed to find another post (where you also helped out someone else - Simulation of novel terminal DNA residues with Charmm36 - #3 by JonahC) which seems to discuss a similar issue. Your advice was to: ‘Both will complain about each bonded term that is not defined, so that you can include them by analogy and modify [ bondtypes ], [ angletypes ] etc accordingly.’
  • Would you be able to elaborate on the above? I am not sure how I could guess the dihedrals/angles for this bond, or were you implying that they should be copied from somewhere else?
  • There is also another issue - the charge of the DNA chain appears to be a non-integer. I think this is as one capping hydrogen is present (which as added by pdb2gmx via 3TER) while the other is not (as it has been replaced by the small molecule ligand). Is this a concern? If so, how would you fix this?

Many thanks in advance - I really appreciate your help here!

Matthew

P.S. Initially, I attempted to use gromologist’s tp_rtp() function to generate my rtp files but this does not seem to be defined in the package I downloaded from pip. Is this expected?