I am trying to construct a multi-layer fibril structure from a single layer in PyMol by translating the layer along the fibril axis. For now, I am able to use the Translate command in PyMol to move the layer along the fibril axis to make the next layer, and then repeat this step to make other layers.

For example, to make a 4-layer fibril from the original fibril layer (chains D and J of PDB structure 2LMO), my commands are:

fetch 2lmo; hide all;

create layer1, chain D+J; translate [0.02, 0.25, 4.47], layer1, camera = 0;

create layer2, layer1; translate [0.02, 0.25, 4.47], layer2, camera = 0;

create layer3, layer2; translate [0.02, 0.25, 4.47], layer3, camera = 0;

create layer4, layer3; translate [0.02, 0.25, 4.47], layer4, camera = 0;

as cartoon, (chain D+J) + layer1 + layer2 + layer3

The result is shown in the attached PyMol session file.

From the Internet, I learned about the Iterate and Alter commands in PyMol, but they are intended for repeating an operation "on the atoms in a selection", not for repeating an operation "for multiple times". Therefore, I am wondering if there is a way to repeat the translation (or other operations in general) in PyMol by iteration or other methods. I need to construct a fibril structure of 10 - 20 layers and apply this method to different protein fibrils, so the automation of this process will help a lot.

Thank you for your help in advance!



More Gangtong Huang's questions See All
Similar questions and discussions