Linking two chains in a PDB file

Hi Sir/Madam I have a PDB file of three proteins bound together (in one model). I would like to fuse the N terminus of one protein to the C terminus of another protein by adding a peptide linker between the termini. Is it possible to do this using Chimera? So far, I have built a linker and joined it to one of the termini, but doing that combined the linker and all proteins in the file into one model. Now, I can't connect the free end of the linker to the other terminus because they are part of the same model. Any help would be much appreciated! Best, Gerald Cherf, PhD candidate Cochran Lab Bioengineering Department Stanford University

Hi Gerald, If you are familiar with text-editing PDB files, you could save what you have as a PDB file (see File menu), make two copies of the file, and edit to delete atoms so that one copy contains just the protein with fused linker and the other copy contains just the other protein. Then you can open those two files resulting in two separate models, then use the Join Models tab in Build Structure (in menu under Tools... Structure Editing) to perform the final connection. <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/editing/editing.html> I mentioned text-editing first because I don't know whether your proteins have different chain IDs. However, if your current protein+linker has one chain ID and the other protein to be joined has another chain ID, you can simply use the command "split" to make each chain a separate model, thus avoiding the text-editing and reopening steps. Then proceed with Join Models as above. <http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/split.html> Even if you don't have protein+linker with one chain ID and the other protein with another chain ID, you may be able to assign chain IDs so that they are, using Change Chain IDs (in menu under Tools... Structure Editing). <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/editing/changechains.html> I would try that if you are averse to text-editing PDB files. I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco On Aug 8, 2013, at 3:07 PM, Maxwell Cherf wrote:
Hi Sir/Madam I have a PDB file of three proteins bound together (in one model). I would like to fuse the N terminus of one protein to the C terminus of another protein by adding a peptide linker between the termini. Is it possible to do this using Chimera?
So far, I have built a linker and joined it to one of the termini, but doing that combined the linker and all proteins in the file into one model. Now, I can't connect the free end of the linker to the other terminus because they are part of the same model. Any help would be much appreciated!
Best, Gerald Cherf, PhD candidate Cochran Lab Bioengineering Department Stanford University

Hi Elaine, Thank you for your reply! I was able to attach both ligands using the split command followed by the join command. I have another problem now though - my goal is to build a peptide linker that attaches the termini of two ligands that are bound to a receptor (the PDB contains three protein structures) ; I also want both ligands to remain properly docked to the receptor while I incorporate the linker. Using the slit/join commands allowed me to link both ligands, but ended up changing their orientation relative to the receptor. Is there a way to build a peptide linker that attaches the termini of the two ligands without changing their orientation using Chimera? Thanks again, Gerald ______ Gerald Cherf, PhD candidate Cochran Lab Bioengineering Department Stanford University On Fri, Aug 9, 2013 at 11:31 AM, Elaine Meng <meng@cgl.ucsf.edu> wrote:
Hi Gerald, If you are familiar with text-editing PDB files, you could save what you have as a PDB file (see File menu), make two copies of the file, and edit to delete atoms so that one copy contains just the protein with fused linker and the other copy contains just the other protein. Then you can open those two files resulting in two separate models, then use the Join Models tab in Build Structure (in menu under Tools... Structure Editing) to perform the final connection. < http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/editing/editing.ht...
I mentioned text-editing first because I don't know whether your proteins have different chain IDs. However, if your current protein+linker has one chain ID and the other protein to be joined has another chain ID, you can simply use the command "split" to make each chain a separate model, thus avoiding the text-editing and reopening steps. Then proceed with Join Models as above. <http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/split.html>
Even if you don't have protein+linker with one chain ID and the other protein with another chain ID, you may be able to assign chain IDs so that they are, using Change Chain IDs (in menu under Tools... Structure Editing). < http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/editing/changechai...
I would try that if you are averse to text-editing PDB files.
I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco
On Aug 8, 2013, at 3:07 PM, Maxwell Cherf wrote:
Hi Sir/Madam I have a PDB file of three proteins bound together (in one model). I would like to fuse the N terminus of one protein to the C terminus of another protein by adding a peptide linker between the termini. Is it possible to do this using Chimera?
So far, I have built a linker and joined it to one of the termini, but doing that combined the linker and all proteins in the file into one model. Now, I can't connect the free end of the linker to the other terminus because they are part of the same model. Any help would be much appreciated!
Best, Gerald Cherf, PhD candidate Cochran Lab Bioengineering Department Stanford University

Hi Gerald, Yes, but ... probably not without making the structure very bad, in a way that may or may not be rescuable. You can add a bond between two atoms that is 50 angstroms long if you want, with Build Structure or the "bond" command. (The two atoms have to be in the same model before you can bond them.) You could even try rotating torsions within the linker manually to try to make the other end of it closer to the desired destination point. In my experience, however, trying to manually fulfill multiple constraints (reasonable phi/psi as well as endpoint locations and not running into other atoms) is extremely difficult and frustrating. You could try energy-minimizing the result, maybe even letting only the atoms within the linker move. Again caveats: minimization has extremely limited ability to improve a mangled structure, as it will only go "downhill" and not climb even small barriers that need to be surmounted on the way to a reasonable structure. It depends whether there is clear downhill path to a reasonable structure, and this may not be the case for any complicated building. In my opinion, modeling like this is better done with software that performs conformational sampling (dynamics or just combinatorics) in the presence of constraints and/or restraints. It also depends on what you plan to do with the result; if it's just going to be a schematic, you would worry less than if you are trying to do something quantitative like rationalize binding affinities. If everything were peptidic (i.e. ligand + linker + ligand = one peptide) perhaps it could be done with Modeller's loop-building capability. In other words, Modeller could propose multiple linker conformations as if it were a loop between the peptides on either end. You would give it the full sequence and it would fill in the gap with possible structures. Chimera includes interfaces to Modeller: <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/multalignviewer/modeller.html> However, it sounds like your ligands are organic molecules but not peptides. Sorry I couldn't give a rosier picture, Elaine ----- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco On Aug 9, 2013, at 1:44 PM, Maxwell Cherf wrote:
Hi Elaine,
Thank you for your reply! I was able to attach both ligands using the split command followed by the join command.
I have another problem now though - my goal is to build a peptide linker that attaches the termini of two ligands that are bound to a receptor (the PDB contains three protein structures) ; I also want both ligands to remain properly docked to the receptor while I incorporate the linker. Using the slit/join commands allowed me to link both ligands, but ended up changing their orientation relative to the receptor. Is there a way to build a peptide linker that attaches the termini of the two ligands without changing their orientation using Chimera?
Thanks again, Gerald

Hi Elaine, Using modeller sounds like the exact solution I'm looking for. Both the ligands and the linker I will connect them with are peptides. I tried using modeller, but I haven't gotten it to work yet. Here's what I've done: 1. built peptide linker using the "build structure" function 2. attached the linker to one ligand1 using the "join" function 3. combined the ligand1-linker with the second ligand into one model using the "combine" function 4. added an unrealistic ~40 angstrom bond between the linker and second ligand (now we have ligand1 - linker - 40A bond - ligand 2, all in one model). 5. I then tried using the "model/refine loop" function to find acceptable orientations for the linker (including the 40A bond) I incorporated, but I was unable to do this because the two ligands were still separate chains, and the "model/refine loop" function requires them to be in the same chain. If I use the "join" command instead of the "combine" command to attach the ligand1-linker to ligand2, I get one chain and then the model/refine loop function works perfectly to remodel the linker. However, using the join function changes the orientation of the ligands relative to the receptor, and I need the ligands to remain docked properly to the receptor. Is there a way to join both ligands into the same chain without changing their orientation? Or, do you know of an alternate approach for adding a linker between the two ligands without changing their orientation using modeller? Thanks again, Gerald On Fri, Aug 9, 2013 at 4:31 PM, Elaine Meng <meng@cgl.ucsf.edu> wrote:
Hi Gerald, Yes, but ... probably not without making the structure very bad, in a way that may or may not be rescuable. You can add a bond between two atoms that is 50 angstroms long if you want, with Build Structure or the "bond" command. (The two atoms have to be in the same model before you can bond them.) You could even try rotating torsions within the linker manually to try to make the other end of it closer to the desired destination point. In my experience, however, trying to manually fulfill multiple constraints (reasonable phi/psi as well as endpoint locations and not running into other atoms) is extremely difficult and frustrating. You could try energy-minimizing the result, maybe even letting only the atoms within the linker move. Again caveats: minimization has extremely limited ability to improve a mangled structure, as it will only go "downhill" and not climb even small barriers that need to be surmounted on the way to a reasonable structure. It depends whether there is clear downhill path to a reasonable structure, and this may not be the case for any complicated building.
In my opinion, modeling like this is better done with software that performs conformational sampling (dynamics or just combinatorics) in the presence of constraints and/or restraints.
It also depends on what you plan to do with the result; if it's just going to be a schematic, you would worry less than if you are trying to do something quantitative like rationalize binding affinities.
If everything were peptidic (i.e. ligand + linker + ligand = one peptide) perhaps it could be done with Modeller's loop-building capability. In other words, Modeller could propose multiple linker conformations as if it were a loop between the peptides on either end. You would give it the full sequence and it would fill in the gap with possible structures. Chimera includes interfaces to Modeller: < http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/multalignviewer/mo...
However, it sounds like your ligands are organic molecules but not peptides. Sorry I couldn't give a rosier picture, Elaine ----- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco
On Aug 9, 2013, at 1:44 PM, Maxwell Cherf wrote:
Hi Elaine,
Thank you for your reply! I was able to attach both ligands using the split command followed by the join command.
I have another problem now though - my goal is to build a peptide linker that attaches the termini of two ligands that are bound to a receptor (the PDB contains three protein structures) ; I also want both ligands to remain properly docked to the receptor while I incorporate the linker. Using the slit/join commands allowed me to link both ligands, but ended up changing their orientation relative to the receptor. Is there a way to build a peptide linker that attaches the termini of the two ligands without changing their orientation using Chimera?
Thanks again, Gerald

Hi Gerald, You don't need to do any linker-building, you can use Modeller to fill it in for you, keeping the ends (ligands) in their input positions. There are probably a few alternative routes, but what I would do is: (1) Save PDB containing the peptide ends (the two ligands) in the positions that you want. What you want at the end is just these two ligands with the same chain ID, and no other atoms. That can be achieved either by text-editing the PDB after writing it out, or by changing chain IDs if necessary (Tools… Structure Editing… Change Chain IDs) of the ligands before writing it out. The PDB save dialog gives you the option of saving only selected atoms, so you could select the ligands only and use that option. ** Here's probably the biggest caveat of the approach, which I realized after I sent the last message: via the Chimera-Modeller interface it is not possible to model one chain while taking other additional chains into account. In other words, it won't help to include the protein in the file because it will be ignored. Modeller itself is capable of doing that but the Chimera-Modeller interface only accesses a subset of Modeller's many capabilities… you'd have to run Modeller yourself independent of Chimera, which is much more difficult. However, all may not be lost: the ensemble of possible solutions (linker conformations) may include some that happen to avoid intersecting with the protein. (2) Create plain text sequence file (FASTA, named something.fa) which contains the sequence of entire peptide: the ligand ends and the missing linker portion. I would just create it in a text editor. FASTA format is very simple, basically one line starting with > followed by a comment or description (or nothing, whatever you want) followed by one or more lines containing the amino acid sequence. (3) In Chimera, open the new PDB file containing the two ligands, and open the FASTA sequence file. Then from the sequence window menu, choose Structure… Modeller (loops/refinement). In the resulting dialog, you will want to model "non-terminal missing structure" or "all missing structure" (equivalent in this case). You will probably aso want to change "Allow this many residues adjacent to missing regions to move" to 0 and increase the number of models to generate … I'd try something much higher like 20 or 50 in hopes of getting something that doesn't intersect with the protein. <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/multalignviewer/modeller.html#building> I hope this helps, Elaine ---------- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco On Aug 9, 2013, at 7:19 PM, Maxwell Cherf <maxcherf@gmail.com> wrote:
Hi Elaine,
Using modeller sounds like the exact solution I'm looking for. Both the ligands and the linker I will connect them with are peptides.
I tried using modeller, but I haven't gotten it to work yet. Here's what I've done:
1. built peptide linker using the "build structure" function 2. attached the linker to one ligand1 using the "join" function 3. combined the ligand1-linker with the second ligand into one model using the "combine" function 4. added an unrealistic ~40 angstrom bond between the linker and second ligand (now we have ligand1 - linker - 40A bond - ligand 2, all in one model). 5. I then tried using the "model/refine loop" function to find acceptable orientations for the linker (including the 40A bond) I incorporated, but I was unable to do this because the two ligands were still separate chains, and the "model/refine loop" function requires them to be in the same chain. If I use the "join" command instead of the "combine" command to attach the ligand1-linker to ligand2, I get one chain and then the model/refine loop function works perfectly to remodel the linker. However, using the join function changes the orientation of the ligands relative to the receptor, and I need the ligands to remain docked properly to the receptor.
Is there a way to join both ligands into the same chain without changing their orientation? Or, do you know of an alternate approach for adding a linker between the two ligands without changing their orientation using modeller?
Thanks again, Gerald

Thanks so much Elaine! I finally got this to work. It took me a while to figure out how to text edit pdb files. If anyone on the forum is interested, here is what I did: 1. Opened the original pdb file in text edit containing the receptor and two ligands (3 chains total). 2. Inserted a linker sequence between the two ligands with x,y,z coordinates set to zero and occupation set to -1. 3. Used a python script to renumber all the atoms in the correct order give both ligands and the linker the same chain ID. At this point, I had ligand 1 - linker - ligand two, all in the same chain with atoms in sequential order. I also deleted all the secondary structure information (HELIX and SHEET lines at the beginning of the pdb file) and manually added these back in later. Pymol will add secondary structure back in automatically, but it seems Chimera has trouble with this sometimes. 4. Saved the file in .pdb format, and opened in Chimera. 5. Opened a fasta file with the amino acid sequence of my ligand1-linker-ligand2 construct. 6. Highlighted the linker sequence in the sequence file and opened Modeller (loops/refinement), selected "chimera selection region", "models to generate" = 5, "apply". This was all done with the receptor in place. Of the 5 generated models, 3 contained linkers that did not clash with the receptor and had acceptable ramachandran plots. Thanks again for all your help! Best, Gerald Maxwell Cherf PhD candidate Stanford University, Bioengineering Dept. On Mon, Aug 12, 2013 at 11:44 AM, Elaine Meng <meng@cgl.ucsf.edu> wrote:
Hi Gerald, You don't need to do any linker-building, you can use Modeller to fill it in for you, keeping the ends (ligands) in their input positions. There are probably a few alternative routes, but what I would do is:
(1) Save PDB containing the peptide ends (the two ligands) in the positions that you want. What you want at the end is just these two ligands with the same chain ID, and no other atoms. That can be achieved either by text-editing the PDB after writing it out, or by changing chain IDs if necessary (Tools… Structure Editing… Change Chain IDs) of the ligands before writing it out. The PDB save dialog gives you the option of saving only selected atoms, so you could select the ligands only and use that option.
** Here's probably the biggest caveat of the approach, which I realized after I sent the last message: via the Chimera-Modeller interface it is not possible to model one chain while taking other additional chains into account. In other words, it won't help to include the protein in the file because it will be ignored. Modeller itself is capable of doing that but the Chimera-Modeller interface only accesses a subset of Modeller's many capabilities… you'd have to run Modeller yourself independent of Chimera, which is much more difficult. However, all may not be lost: the ensemble of possible solutions (linker conformations) may include some that happen to avoid intersecting with the protein.
(2) Create plain text sequence file (FASTA, named something.fa) which contains the sequence of entire peptide: the ligand ends and the missing linker portion. I would just create it in a text editor. FASTA format is very simple, basically one line starting with > followed by a comment or description (or nothing, whatever you want) followed by one or more lines containing the amino acid sequence.
(3) In Chimera, open the new PDB file containing the two ligands, and open the FASTA sequence file. Then from the sequence window menu, choose Structure… Modeller (loops/refinement). In the resulting dialog, you will want to model "non-terminal missing structure" or "all missing structure" (equivalent in this case). You will probably aso want to change "Allow this many residues adjacent to missing regions to move" to 0 and increase the number of models to generate … I'd try something much higher like 20 or 50 in hopes of getting something that doesn't intersect with the protein. < http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/multalignviewer/mo...
I hope this helps, Elaine ---------- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco
On Aug 9, 2013, at 7:19 PM, Maxwell Cherf <maxcherf@gmail.com> wrote:
Hi Elaine,
Using modeller sounds like the exact solution I'm looking for. Both the ligands and the linker I will connect them with are peptides.
I tried using modeller, but I haven't gotten it to work yet. Here's what I've done:
1. built peptide linker using the "build structure" function 2. attached the linker to one ligand1 using the "join" function 3. combined the ligand1-linker with the second ligand into one model using the "combine" function 4. added an unrealistic ~40 angstrom bond between the linker and second ligand (now we have ligand1 - linker - 40A bond - ligand 2, all in one model). 5. I then tried using the "model/refine loop" function to find acceptable orientations for the linker (including the 40A bond) I incorporated, but I was unable to do this because the two ligands were still separate chains, and the "model/refine loop" function requires them to be in the same chain. If I use the "join" command instead of the "combine" command to attach the ligand1-linker to ligand2, I get one chain and then the model/refine loop function works perfectly to remodel the linker. However, using the join function changes the orientation of the ligands relative to the receptor, and I need the ligands to remain docked properly to the receptor.
Is there a way to join both ligands into the same chain without changing their orientation? Or, do you know of an alternate approach for adding a linker between the two ligands without changing their orientation using modeller?
Thanks again, Gerald

Hi Gerald, I'm impressed you made it through all those steps, and glad you got useful results! I don't think it was necessary to put the zero-coordinate "linker" atoms in the PDB file (as long as those residues are in the FASTA sequence, it could treat them as a "missing segment" and build them in), but I won't quibble with success. Best, Elaine On Sep 2, 2013, at 12:46 PM, Maxwell Cherf <maxcherf@gmail.com> wrote:
Thanks so much Elaine! I finally got this to work. It took me a while to figure out how to text edit pdb files.
If anyone on the forum is interested, here is what I did:
1. Opened the original pdb file in text edit containing the receptor and two ligands (3 chains total). 2. Inserted a linker sequence between the two ligands with x,y,z coordinates set to zero and occupation set to -1. 3. Used a python script to renumber all the atoms in the correct order give both ligands and the linker the same chain ID. At this point, I had ligand 1 - linker - ligand two, all in the same chain with atoms in sequential order. I also deleted all the secondary structure information (HELIX and SHEET lines at the beginning of the pdb file) and manually added these back in later. Pymol will add secondary structure back in automatically, but it seems Chimera has trouble with this sometimes. 4. Saved the file in .pdb format, and opened in Chimera. 5. Opened a fasta file with the amino acid sequence of my ligand1-linker-ligand2 construct. 6. Highlighted the linker sequence in the sequence file and opened Modeller (loops/refinement), selected "chimera selection region", "models to generate" = 5, "apply".
This was all done with the receptor in place. Of the 5 generated models, 3 contained linkers that did not clash with the receptor and had acceptable ramachandran plots.
Thanks again for all your help!
Best,
Gerald Maxwell Cherf PhD candidate Stanford University, Bioengineering Dept.
On Mon, Aug 12, 2013 at 11:44 AM, Elaine Meng <meng@cgl.ucsf.edu> wrote: Hi Gerald, You don't need to do any linker-building, you can use Modeller to fill it in for you, keeping the ends (ligands) in their input positions. There are probably a few alternative routes, but what I would do is:
(1) Save PDB containing the peptide ends (the two ligands) in the positions that you want. What you want at the end is just these two ligands with the same chain ID, and no other atoms. That can be achieved either by text-editing the PDB after writing it out, or by changing chain IDs if necessary (Tools… Structure Editing… Change Chain IDs) of the ligands before writing it out. The PDB save dialog gives you the option of saving only selected atoms, so you could select the ligands only and use that option.
** Here's probably the biggest caveat of the approach, which I realized after I sent the last message: via the Chimera-Modeller interface it is not possible to model one chain while taking other additional chains into account. In other words, it won't help to include the protein in the file because it will be ignored. Modeller itself is capable of doing that but the Chimera-Modeller interface only accesses a subset of Modeller's many capabilities… you'd have to run Modeller yourself independent of Chimera, which is much more difficult. However, all may not be lost: the ensemble of possible solutions (linker conformations) may include some that happen to avoid intersecting with the protein.
(2) Create plain text sequence file (FASTA, named something.fa) which contains the sequence of entire peptide: the ligand ends and the missing linker portion. I would just create it in a text editor. FASTA format is very simple, basically one line starting with > followed by a comment or description (or nothing, whatever you want) followed by one or more lines containing the amino acid sequence.
(3) In Chimera, open the new PDB file containing the two ligands, and open the FASTA sequence file. Then from the sequence window menu, choose Structure… Modeller (loops/refinement). In the resulting dialog, you will want to model "non-terminal missing structure" or "all missing structure" (equivalent in this case). You will probably aso want to change "Allow this many residues adjacent to missing regions to move" to 0 and increase the number of models to generate … I'd try something much higher like 20 or 50 in hopes of getting something that doesn't intersect with the protein. <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/multalignviewer/modeller.html#building>
I hope this helps, Elaine ---------- Elaine C. Meng, Ph.D. UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco
On Aug 9, 2013, at 7:19 PM, Maxwell Cherf <maxcherf@gmail.com> wrote:
Hi Elaine,
Using modeller sounds like the exact solution I'm looking for. Both the ligands and the linker I will connect them with are peptides.
I tried using modeller, but I haven't gotten it to work yet. Here's what I've done:
1. built peptide linker using the "build structure" function 2. attached the linker to one ligand1 using the "join" function 3. combined the ligand1-linker with the second ligand into one model using the "combine" function 4. added an unrealistic ~40 angstrom bond between the linker and second ligand (now we have ligand1 - linker - 40A bond - ligand 2, all in one model). 5. I then tried using the "model/refine loop" function to find acceptable orientations for the linker (including the 40A bond) I incorporated, but I was unable to do this because the two ligands were still separate chains, and the "model/refine loop" function requires them to be in the same chain. If I use the "join" command instead of the "combine" command to attach the ligand1-linker to ligand2, I get one chain and then the model/refine loop function works perfectly to remodel the linker. However, using the join function changes the orientation of the ligands relative to the receptor, and I need the ligands to remain docked properly to the receptor.
Is there a way to join both ligands into the same chain without changing their orientation? Or, do you know of an alternate approach for adding a linker between the two ligands without changing their orientation using modeller?
Thanks again, Gerald
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
participants (2)
-
Elaine Meng
-
Maxwell Cherf