Symmetry restraints for heteromeric complex

Dear Dr. Bonvin and all HADDOCK users,
We are trying to use HADDOCK to build a protein complex with 6 parts which has a C2 symmetry (3 non equal parts on each side of the plane), using only one part as a dimerization interface. We were able to dock all parts using HADDOCK without any problem, but the symmetry was lost due to lack of restraint to enforce it. When we tried to use symmetry restraints from run.cns the symmetry was enforced, but also interactions between the symmetrical parts that weren’t intended appeared. We also tried the syntax syggested in the webpage for including restraints in the CNS restraint file, but it didn’t seem to work. Is there any way to enforce symmetry and do the docking in one step, so that these restraints don’t imply interactions between the multiple parts? How would you approach such a problem? Maybe we have a syntax problem, or we didn’t use the run.cns features in the proper way. Any suggestions are welcome!
Best regards,

Dear Stephan

We would need to know how you defined your C2 restraints (e.g. to which molecules within your trimer do they refer?).

I assume you want to generate a dimer from a non-symmetrical trimer, correct?

Dear Dr. Bonvin,
Thanks as usual for your prompt answer. Exactly, a dimer of an heteromeric trimer! We tried with the run.cns restraints between the equivalent chains, and this caused the restrains between the heteromers not to be fulfilled. Should we impose the restraints between the multiple chains also?

Are you performing a 6 body docking?
May-be a safer approach would be to model first the trimer and then build the dimer by two body docking - I.e. Two separate docking runs.

Yeah, we also were thinking about that, but our first approach was to try the multiple body docking, in order to avoid the possible blockage of interaction sites between the dimerization interface. Is a problem to complicated to be solved like this?

I guess it depends on how good your information/restraints are to define the hetero trimer.

How did you define the C2 symmetry?

Dear Dr. Bonvin,
As an example, we have chains ABC that form a dimer with DEF. We tried to impose restraints between A-D, B-E and C-F. With the restraints in run.cns the symmetry between the chains was ok, but the interactions in the trimer weren’t fulfilled (so the symmetry of the dimer of trimers as a whole was not fulfilled). As I told you above we also tried implying restraints in the tbl file as suggested in the tutorial ( with the noe symm class, using the same chains as before, but in that case the symmetry doesn’t seem to be enforced (maybe because of syntax issues). Hope this explains the problem a bit more :S

Best regards,

So what about restraints between A-B B-C and C-A?
Don’t you have anything for those?
How are those interfaces defined?

We defined ambiguous restrains between chains in ABC and DEF, and the dimerization interface AD (A and D work as scaffold, so BC and EF have restraints to those chains). The interfaces are defined by bioinformatic searches that have shown to work quite well in other cases by using HADDOCK. Each interface is defined by 5 to 15 residues, except for the dimerization pair, which has around 50 restraints.

Ok - non trivial system, clearly. Any change that you know the pairing of your restraints for the A-B and A-C interfaces?

I would try going first after ABC and then generate the dimer.

Yeah, non trivial :S. Yes, that was what I implied, so essentially we have something like this (ASCII art):

B…|… E…
…\ …|…/…
…A - D…
…/…|…\ …

If you ignore the dots, the vertical line tries to represent the symmetry plane, while the slashes and dash are the restraints that we already defined. We already tried the to dock ABC, but then the docking between AD gets complicated.

Note that you could impose C2 symmetry over the entire trimer, as long as the number of residues in the same, their identity will not matter (but then no NCS since this will not work).

So you could define as C2 restraints: B-E, A-D and C-F

But no warranty on the results :slight_smile:

That’s what I tried to tell you, but the symmetries between those chains didn’t imply the symmetry of the whole complex. Apparently we found an intermediate solution by feeding the symmetry restraints as unambiguous restraints in a tbl file and the typical restraints as ambiguous. I’ll tell you how this works out.

Dear Dr. Bonvin,
We managed to get it more or less working. We defined the restrains for protein pairs symmetry in run.cns. We included ambiguous restraints for the different expected contact interfaces, with one unambiguous restraint to ensure the interaction in each interface (included in an additional class). Additionally, extra symmetry restraints defined in a similar way as in HADDOCK, were included in the unambiguous restraint file which enforced the “super” symmetry in each monomer with respect to each other. The results are looking good atm.
Best regards

Thanks for sharing this solution. A far from trivial application!