January 3, 2014
I modified a Python script used with Chimera that constructed bent microtuble models to construct just a filament by placing copies of a molecular model along a smooth curve interpolated through a given sequence of points. The points would be placed by hand using the Chimera Volume Tracer tool for example in electron microscopy data to define the path.
The molecule is moved and rotated to follow the bend of the curve and placed at equispaced positions along the curve. The intially specified molecule is at one end of the curve and subsequent copies are created to make the filament. The orientation of one copy to the next is related by the rotation that takes the unit tangent vector to the curve from one equispaced point to the next along the curve.
The script filament.py is on the Chimera Python scripts web page. The image shows an example using PDB 3VO8, with 45 Angstrom spacing, and a curve defined by 4 hand-placed markers. The molecule model is #0, the traced path is #1 and the Chimera command that invokes the script was
runscript /Users/goddard/filament.py #1 45 #0
I used "rainbow model #2" to color the resulting molecule copies (#2.1, 2.2, 2.3, ...), and I used "shape tube #1 radius 5" to draw the tube showing the smooth path.