<p>There are two approaches here.</p>
<h2>Physiological</h2>
<p>If domain A and B of your protein interact with each other physiologically, then you need to protein-protein docking. This is not too straightforward as protein are flexible.</p>
<p>Several online servers exists such as <a href="http://www.bonvinlab.org/software/haddock2.2/haddock-start/" rel="nofollow noreferrer">Haddock</a> and include <a href="https://cluspro.org/login.php" rel="nofollow noreferrer">ClusPro</a>, which use more traditional approaches. While the online server <a href="https://zhanglab.ccmb.med.umich.edu/DEMO/" rel="nofollow noreferrer">DEMO (I-Tasser group)</a> does a structural homology based search and a final MD based repacking to better minimise the structures (no protein-protein docking).</p>
<p>Many of these work by magic as far as the user is concerned. But understanding what is going on is really important, even if it is overly laborious. When you don't know where a protein goes, it's called blind or global docking, which is computational expensive and so imprecise that the effort required to prove it is correct for peer-review is too steep for it to be useful. If you are doing local docking it is okay, which may be the case here depending on the linker. Specifically, you need to generate more 'decoys' (potential poses) the more unsure you are: tens of thousands or more. Then you have find clusters and see how each scores following more precise refinement. As an example of a tediously and manually set up run, Rosetta has <a href="https://www.rosettacommons.org/demos/latest/tutorials/Protein-Protein-Docking/Protein-Protein-Docking" rel="nofollow noreferrer">several docking protocols</a>, which explain the steps required —of note are the many judgement calls, such as in the local refinement, where one has to judge whether setting <code>-dock_pert 3 8</code> (3 Å and 8° perturbation) is too strict etc.</p>
<h2>Pretty picture</h2>
<p>The protein-protein docking approach will result in a globular protein, which may be incorrect and majorly is not great for pictures.</p>
<p>If you want a pretty picture of two or more domains most likely you would want them placed like beads on a string. If you have a linker that is not solved the recommended distance to space them is <span class="math-container">$(3.5 N_{missing})^{0.5}$</span> Å —unfortunately I do not know where this lore comes from. If it helps I wrote a <a href="https://github.com/matteoferla/protein_fuser" rel="nofollow noreferrer">script</a> that does this in automatic but manual placement works best.</p>
<h2>Linkers</h2>
<p>In the situation you have a good confidence about how the two parts fit together (or have placed them like beads on a string), you may want to add linkers. If you absolutely don't care about correct bond topology <a href="https://blog.matteoferla.com/2017/10/hacking-pdbs-for-fusion-protein.html" rel="nofollow noreferrer">here is a blog post on how to join bits (shoddily) with PyMOL</a> and <a href="http://blog.matteoferla.com/2020/07/filling-missing-loops-proper-way.html" rel="nofollow noreferrer">here is one to do it properly with Rosetta or Pyrosetta</a>.</p>
<p>If one wanted to do a better job, one tool to use is <a href="https://www.rosettacommons.org/docs/latest/application_documentation/design/Remodel" rel="nofollow noreferrer">Rosetta remodel</a>, which has a bit of a learning curve, but is very powerful for protein design. This requires the PDB to be on a single chain (pymol <code>alter</code> command, followed by <code>create</code> will do the trick: <a href="https://bioinformatics.stackexchange.com/questions/11579/merge-multiple-pdb-files-into-a-single-file/11580#11580">more here</a>) and actually the amino acids to not have gaps —PDB number being the same as the pose numbering. Rosetta gives better results if the poses are energy minimised, but for this it does not matter too much. Then a &quot;blueprint file&quot; formatted as discussed in the documentation. Briefly, in a way that residues left alone are in the form <code>1 M .</code> (where residue 1 is a methionine), while the residues before and after the insertion are like <code>100 D L PIKAA D</code> (meaning D100 is changed to a Asp in loop SS; not actual numbers or residue), while between entries are added <code>0 X L PIKAA G</code> etc. To model loops, <code>-generic_aa G</code> is a good option as this tells the default rough fitting (centroid mode) to use glycine and not valine as generic residue.
The top pose will actually not have a superb score, so a 3 (regular) or more cycles (15 thorough) with Rosetta Relax application either of the whole protein or with a movemap specific to the linker, may be done.</p>
<p>There actually is an option in Rosetta remodel to have a domain insertion, i.e. it would swing around like a medieval flail. However, it will not repack and therefore properly dock so this option is a bad idea for this specific application.</p>

CC BY-SA 4.0
2020-04-27T16:39:35.840Z
thanks for your suggestion. I will learn that. Besides protein-protein docking, I want to physically connect two protein together. For example, I have known protein A structure, and protein B structure. Then I would like to connect the C terminal of protein A and N terminal of protein B. Then it will generate one final protein. If I get that connected protein, the next coming question is how to optimize the big structure to make it low-energy conformation because the connected structure may include clash residues or bad conformations?
Thank you.
Moing Gude
CC BY-SA 4.0
2020-04-27T17:14:58.870Z
I have expanded the answer, but it is very advisable finding out where the second protein goes first before adding the linkers. If the docking is flexible interacting sidechains will be repacked to be energy minimised anyway. The length of a straight amino acid (say &beta;sheet) is about 3.5Å, so if your linker were 4 residues long, you'd have a maximum reach of 14Å, which is a lot, hence why local docking first is a better option.
Matteo Ferla
CC BY-SA 4.0
2020-04-28T00:08:50.567Z
Thanks so much for the explanation, which is very helpful. I will have a look at Rosetta remodel related functions.
Moing Gude
CC BY-SA 4.0
2020-04-27T09:46:22.767Z
2020-07-04T20:54:41.587Z
2020-07-04T20:54:41.587Z
Matteo Ferla
<p>Currently, I am facing such a question: how to predict one connected protein structures from two separate known structures?</p>

<p>It should be different from the protein-protein docking method, which is non-covalent interactions. My question is that the two proteins should "contently" link together.</p>

<p>Any suggestions are appreciated.</p>

CC BY-SA 4.0
2020-07-06T10:42:26.663Z
MODELLER can do this as well.
jgreener
<proteins><protein-structure><assembly>
Methods to predict one connected structure from two known separate structures
# Methods to predict one connected structure from two known separate structures

(Asked by: username_0 on 2020-04-26)

Currently, I am facing such a question: how to predict one connected protein structures from two separate known structures?

It should be different from the protein-protein docking method, which is non-covalent interactions. My question is that the two proteins should "contently" link together.

Any suggestions are appreciated.

**Tags:** proteins, protein-structure, assembly
> **Comments:**
> **username_1**: MODELLER can do this as well.  

---

## 1 answers

### Answer by username_2 on 2020-04-27. Score: 1 | Accepted answer

There are two approaches here.

## Physiological

If domain A and B of your protein interact with each other physiologically, then you need to protein-protein docking. This is not too straightforward as protein are flexible.

Several online servers exists such as [Haddock](http://www.bonvinlab.org/software/haddock2.2/haddock-start/) and include [ClusPro](https://cluspro.org/login.php), which use more traditional approaches. While the online server [DEMO (I-Tasser group)](https://zhanglab.ccmb.med.umich.edu/DEMO/) does a structural homology based search and a final MD based repacking to better minimise the structures (no protein-protein docking).

Many of these work by magic as far as the user is concerned. But understanding what is going on is really important, even if it is overly laborious. When you don't know where a protein goes, it's called blind or global docking, which is computational expensive and so imprecise that the effort required to prove it is correct for peer-review is too steep for it to be useful. If you are doing local docking it is okay, which may be the case here depending on the linker. Specifically, you need to generate more 'decoys' (potential poses) the more unsure you are: tens of thousands or more. Then you have find clusters and see how each scores following more precise refinement. As an example of a tediously and manually set up run, Rosetta has [several docking protocols](https://www.rosettacommons.org/demos/latest/tutorials/Protein-Protein-Docking/Protein-Protein-Docking), which explain the steps required —of note are the many judgement calls, such as in the local refinement, where one has to judge whether setting `-dock_pert 3 8` (3 Å and 8° perturbation) is too strict etc.

## Pretty picture

The protein-protein docking approach will result in a globular protein, which may be incorrect and majorly is not great for pictures.

If you want a pretty picture of two or more domains most likely you would want them placed like beads on a string. If you have a linker that is not solved the recommended distance to space them is $(3.5 N\_{missing})^{0.5}$ Å —unfortunately I do not know where this lore comes from. If it helps I wrote a [script](https://github.com/matteoferla/protein_fuser) that does this in automatic but manual placement works best.

## Linkers

In the situation you have a good confidence about how the two parts fit together (or have placed them like beads on a string), you may want to add linkers. If you absolutely don't care about correct bond topology [here is a blog post on how to join bits (shoddily) with PyMOL](https://blog.matteoferla.com/2017/10/hacking-pdbs-for-fusion-protein.html) and [here is one to do it properly with Rosetta or Pyrosetta](http://blog.matteoferla.com/2020/07/filling-missing-loops-proper-way.html).

If one wanted to do a better job, one tool to use is [Rosetta remodel](https://www.rosettacommons.org/docs/latest/application_documentation/design/Remodel), which has a bit of a learning curve, but is very powerful for protein design. This requires the PDB to be on a single chain (pymol `alter` command, followed by `create` will do the trick: [more here](https://bioinformatics.stackexchange.com/questions/11579/merge-multiple-pdb-files-into-a-single-file/11580#11580)) and actually the amino acids to not have gaps —PDB number being the same as the pose numbering. Rosetta gives better results if the poses are energy minimised, but for this it does not matter too much. Then a "blueprint file" formatted as discussed in the documentation. Briefly, in a way that residues left alone are in the form `1 M .` (where residue 1 is a methionine), while the residues before and after the insertion are like `100 D L PIKAA D` (meaning D100 is changed to a Asp in loop SS; not actual numbers or residue), while between entries are added `0 X L PIKAA G` etc. To model loops, `-generic_aa G` is a good option as this tells the default rough fitting (centroid mode) to use glycine and not valine as generic residue.
The top pose will actually not have a superb score, so a 3 (regular) or more cycles (15 thorough) with Rosetta Relax application either of the whole protein or with a movemap specific to the linker, may be done.

There actually is an option in Rosetta remodel to have a domain insertion, i.e. it would swing around like a medieval flail. However, it will not repack and therefore properly dock so this option is a bad idea for this specific application.

> **Comments:**
> **username_0**: thanks for your suggestion. I will learn that. Besides protein-protein docking, I want to physically connect two protein together. For example, I have known protein A structure, and protein B structure. Then I would like to connect the C terminal of protein A and N terminal of protein B. Then it will generate one final protein. If I get that connected protein, the next coming question is how to optimize the big structure to make it low-energy conformation because the connected structure may include clash residues or bad conformations? Thank you.  
> **username_2**: I have expanded the answer, but it is very advisable finding out where the second protein goes first before adding the linkers. If the docking is flexible interacting sidechains will be repacked to be energy minimised anyway. The length of a straight amino acid (say &beta;sheet) is about 3.5Å, so if your linker were 4 residues long, you'd have a maximum reach of 14Å, which is a lot, hence why local docking first is a better option.  
> **username_0**: Thanks so much for the explanation, which is very helpful. I will have a look at Rosetta remodel related functions.  

---

