I'm interested in studying some simple periodic model systems representing proteins. For that I'd like to make pdb files of an alpha helix or beta sheet with idealized coordinates which is infinitely periodic. For an alpha helix it would be just periodic along the axis, and for a beta sheet it should be flat and periodic in two dimensions, with the unit cell info in the pdb (CRYST1 record) set correctly.

If possible, I'd like to be able to make these structures programmatically, with any sequence of amino acids I want; the unit cell would just be made of a repeat of both the sequence and geometry. Since swapping side chains is relatively easy, some pre-made infinite periodic systems of poly-alanine would be a good start.

I know of a few tools which do part of this:

  • PyMOL has the Builder interface which allows making an idealized alpha helix or single strand of a beta sheet. It doesn't seem to have the ability to make a whole beta sheet - I couldn't find a function that would put two strands next to each other in the right geometry. It also doesn't seem to have any ability to get the right unit cell vectors.
  • UCSF Chimera has the addaa command which also builds an alpha helix or single strand of a beta sheet. Same issues - no way to put strands next to each other, and no unit cell.

Is there another tool which would do this out of the box? If not, what's a good way to take what PyMOL or Chimera outputs and make it into a periodic system?

P.S. Possibly tricky parts: if the periodicity of the helix can be described as a coordinate transform M*x+v which can include rotation and translation, then any number of residues (including one) can form an infinite system. But if the periodicity is made just using translations (a triclinic Bravais lattice), then it is necessary to find a way to reproduce an integer number of turns using a translation along the axis, which may not be always possible. If a residue corresponds to exactly 100 degrees turn, then 36 residues = 3600 degrees = 10 turns, which would also repeat using translation. But if not exactly 100 degrees (and not 360 times an integer fraction) it may not have an exact repeat at all. Beta sheets are easier since they are already made by translation.

  • 1
    $\begingroup$ Hopefully the bounty leads to an answer! In the future, you can add bounties here: mattermodeling.meta.stackexchange.com/q/109/5, because otherwise the bounty that you have offered, only lasts for 7 days. $\endgroup$ Jun 17, 2023 at 20:47
  • 1
    $\begingroup$ I gave my +1 long ago, but now that it has been more than 1 year, can you update us please? Are you still urgently or actively in need of an answer to this question? Did you figure it out? $\endgroup$ Dec 9, 2023 at 17:13
  • $\begingroup$ @NikeDattani Thank you - I am still interested, there are some simulations that I'd like to try running for which this would be very helpful. I've gotten by with cutting out a relatively long helix from an existing protein structure, but I don't have a way to make a perfect repeating infinite helix, and definitely not a perfect repeating sheet with idealized geometry. $\endgroup$
    – Alex I
    Dec 10, 2023 at 6:48
  • 1
    $\begingroup$ I have bumped your question to the top of the home page. Hopefully that helps in getting it answered. I would usually try to make a much more substantial edit but I am exhausted today! $\endgroup$ Dec 11, 2023 at 6:04
  • 1
    $\begingroup$ @AlexI - you can specify repeating "HHH" for alpha helix or "EEE" with for extended beta strands with --secstruct to pyPept .. and if you're looking for ideal angles, check Wikipedia, e.g. en.wikipedia.org/wiki/Alpha_helix and en.wikipedia.org/wiki/Beta_sheet $\endgroup$ Dec 14, 2023 at 14:52


You must log in to answer this question.

Browse other questions tagged .