Pseudo atoms and unambiguous restraints

Dear All,

I have a question regarding the use of pseudo atoms in Haddock, is it possible to add a set of pseudo atoms that one can use to define the intermolecular restraints. I am interested in adding three atoms (or more) to define the electron centres of paramagnetic tag. These atoms are the minimal and only way of defining the ensemble of possible conformations of the paramagnetic tag. Those atoms would have to keep the same proximity to one molecule, and will be kept fixed relative to that molecule during all stages of docking.

In case this is possible, would it be possible to define the unambiguous restraints to all of these atoms at the same time, keeping in mind that the evaluation of violation of a given restraint would take in account the average of the distance of these three atoms (the inverse of the 6th root of average of r^-6 ).

Thanks

This should be possible. Are you speaking about a local version?
In principle you should then optimise the location of the dummy atoms first based on intramolecular restraints.
You can define distance restraints to those.

Looking at the topology file for proteins (protein-allhdg5-4.top) there is a residue named DUM which contains a single dummy atom. You could thus use that one and define multiple residues each with a unique residue number.

When defining your PRE restraints you can then define ambiguous restraints to all DUM atoms.

Now there will most likely be some issues since this is not a standard protocol. You will have to try…

PS: This won’t work on the server though - not supported.

Dear Alexandre,
Thank you very much for your answer.

Yes, I am using a local installation of Haddock.

Now, I have implemented all of your suggestions by adding to my protein PDB file several dummy atoms at the anticipated positions as inferred by the intramolecular PREs, e.g.: (ATOM 978 DUM DUM A 127 16.002 -11.515 -17.086 1.00 0.00). I made all the intermolecular restraints as ambiguous to all the dummy atoms, and added unambiguous intermolecular restraints to keep the positions of these atoms fixed relative to the protein position.
I have tried to run this as recommended, but unfortunately all of my trials were only running fine through the rigid-body stage, and all of them were failing at it1, always reporting the following error:
" -------------------------- Torsion Topology -----------------------------------
ERROR: A single-group tree does not have an
acceptable base.
There are certain limitations with the current
implementation of torsion angle dynamics.

The problem is caused by isolated
(not covalently bonded) atoms.

We have made every effort to capture these
situations automatically. However, in some
cases you may still encounter this problem.

In order to fix this problem
(a) fix (fix atom selection) the offending
atoms
(b) if everything fails, use the Cartesian
dynamics option.

%TORSION:TOPOLOGY error encountered: Fatal Topology Error
(CNS is in mode: SET ABORT=NORMal END)


ABORT mode will terminate program execution.


Program will stop immediately."

I tried to read through the online manual and the forum in order to get a proper fix for this issue.
So, I tried to set all the steps of it1 to 0, changed the dummy atoms into HETATM, and setting all of them to be fixed (simply by switching off the semi-flexible and fully-flexible options), but that did not resolve the issue.

I am not sure if I am missing something else.
It would be greatly appreciated if you help me figure out how to fix this problem.

Best regards,
Mumdooh

1 Like

The torsion angle dynamics is complaining because the dummy atoms are isolated atoms. One solution is to fix them. For that you will need to edit the refine.inp file in the protocol dir and add a fix statement.

Locate in the file the following lines:

  ! in cases where the number of steps is set to 0 (avoid issues with isolated atoms)
  eval ($torsiondone = false)
  if ($failure eq false) then
{* 1 ======================================= rigid body high temperature search*}
{* rigid bodies *}

And insert before the if statement the following line:

fix sele=(name DUM) end

But this will mean their position in space will be fixed during it1

Dear Alexandre,

Thank you very much for your answer.

I am just reporting that your suggestion fixed the issue. I only had to include that line in the refine.inp file but with slight modification to fix the whole DUM residue rather than the DUM atom.
Initially it was still reporting the same error even after including the line the way you suggested, and I realized that in all of it0 structures, the DUM residue has two atoms rather than one. Those are DUM and MAP, and I thought that MAP is also isolated, that is why I made the fix line as:

This worked fine!

Thanks once more for your help.

Best regards,

Mumdooh

thanks for the feedback