Alguns dos algoritmos estão disponíveis no código-fonte para os diferentes pacotes. PyMol é um desses, e a fonte do VMD também está acessível.
Eu implementei o algoritmo de faixa de opções do VMD nos anos 90. O primeiro passo é a determinação da estrutura - onde estão os aminoácidos? quais estão conectados em uma cadeia? onde estão os átomos de alfa-C?
Em seguida, como Kyle disse, é o spline. O VMD usa um spline Catmull – Rom, com os alfas C como pontos de controle. Este é um spline de 3ª ordem e os splines passam pelos C-alfas. Se você elaborar a matemática, há um único parâmetro livre, que corresponde à rigidez do spline em torno do ponto de controle. Tentei alguns valores até encontrar o que era esteticamente agradável.
Há também alguns truques sobre como lidar com o fim, que não têm C-alfas suficientes. Extrapolei para obter os outros pontos.
Isso dá o caminho. Uma extrusão circular ao longo do caminho dá um tubo. Você pode variar os raios da seção transversal para obter uma elipse e, com um pouco mais de trabalho, defina a faixa de opções.
O problema é encontrar a norma correta, para que as fitas estejam alinhadas com uma hélice alfa. Tentei várias coisas e desisti, olhei para a implementação do Raster3D, obtive permissão para usá-la e adicionei isso ao VMD. É uma soma cumulativa da norma anterior do vetor e da norma atual definida pelo rastreamento C-alfa. Eu teria que procurar na fonte como ele funciona novamente. Curiosamente, Ethan Merritt, o autor do Raster3D, apontou que ele recebeu esse pedaço de código da FRODO, por isso tem uma longa história.
O VMD agora tem "NewRibbons", que foi implementado após o meu tempo. Eu não sei como isso funciona.
A maneira mais fácil de fazer uma hélice alfa é desenhar uma linha do primeiro ao último resíduo; expulse um círculo ao longo da linha e você terá um cilindro. Você também pode fazer um ajuste linear à hélice, mas acho que isso causou problemas para hélices curtas. É provável que haja maneiras mais inteligentes de fazê-lo, incluindo maneiras como Kyle sugeriu, o que permite curvas suaves.
Os fios beta são fáceis. Existem dois caminhos de controle, um para cada lado. Aqueles definem o caminho da costa e o normal. Você precisa ter um pouco de cuidado com as torções, para que seu fio não torça 290 graus quando deve torcer 70 graus, mas isso não foi difícil de manusear.
Uma parte difícil, que você não mencionou, é como detectar onde as cadeias alfa-hélice e beta estão localizadas. Alguns registros PDB contêm isso, mas não todos. Punt e usei uma ferramenta de terceiros, STRIDE, para isso. Warren implementou seu próprio algoritmo. Roger Sayle implementou sua própria versão do DSSP para Raster3D.