[Chimera-users] Automatic struts for 3D printing?
Hurt, Darrell (NIH/NIAID) [E]
darrellh at niaid.nih.gov
Fri Aug 16 19:02:30 PDT 2013
Thanks. This is some of our best stuff. For our material, the struts are
vitally important or the whole thing crumbles. We use so many struts that
a script is really important to doing this efficiently. I have no idea how
it will work in a monochrome plastic printer. However, there are some
plastic printers emerging on the market now that can print in two colors
plus a support material. That might help with distinguishing between
structure and strut. One idea is to print both the struts and the building
supports in the same material and then dissolving all that, leaving just
You're right about the struts being too short. They would be pointless
along a helix. So I think there is a hard-coded minimum strut distance to
prevent struts within the helix, but a user-settable parameter for the
maximum strut distance. This is especially important in protein complexes.
The pink and baby blue blobs are glycosylation on the surface of the
proteins. These are modeled in using the glycoprotein builder:
If you think this is cool, you've got to check out what Kawakami Masaru is
doing with 3D printed molecules:
Darrell Hurt, Ph.D.
Section Head, Computational Biology
Bioinformatics and Computational Biosciences Branch (BCBB)
31 Center Drive, Room 3B62B, MSC 2135
Bethesda, MD 20892-2135
Mobile: 301-758-3559Web: BCBB Home Page
Twitter: @niaidbioit <https://twitter.com/niaidbioit>
Disclaimer: The information in this e-mail and any of its attachments is
confidential and may contain sensitive information. It should not be used
by anyone who is not the original intended recipient. If you have received
this e-mail in error please inform the sender and delete it from your
mailbox or any other storage devices. National Institute of Allergy and
Infectious Diseases shall not accept liability for any statements made
that are sender's own and not expressly made on behalf of the NIAID by one
of its representatives.
On 8/16/13 8:46 PM, "Tom Goddard" <goddard at sonic.net> wrote:
> Your plastic models are super cool. I'm jealous -- we don't have a
>color printer. I had no idea you were adding so many struts. I'm afraid
>it would look less attractive in one color. I see that some models are
>ribbon only and some have the residues depicted as surface blobs -- none
>of your pictured models used spheres and cylinders for atoms and bonds.
>That helps avoid confusing the struts for molecular bonds. I'm a puzzled
>by your dozens of pink blobs in image 3 and 7 and cyan blobs in image 9
>in each case connected by lots of sticks. They look like individual
>residues but are too far apart to be a polypeptide I think -- maybe many
>copies of a small ligand?
> The algorithm for placing struts sounds quite simple. Chimera has
>ribbon splines that go exactly through the C-alphas, and can also join
>side chains to a ribbon even when the C-alpha is not on the ribbon. So I
>think that won't be a problem. The Jmol strut code I looked at looked
>more complex than what you describe. If it simply chose short distance
>struts wouldn't you get a bunch of unneeded struts say within one alpha
>helix, and maybe lack some long range struts that are needed to hold
> In any case, if we come up with an algorithm, or just want to copy the
>Jmol code, it looks very easy to add to Chimera. I can probably do an
>implementation in half a day. The main thing is to figure out exactly
>what the algorithm should do. Maybe I can put something in next week.
>On Aug 16, 2013, at 5:16 PM, "Hurt, Darrell (NIH/NIAID) [E]" wrote:
>> Hi Tom,
>> I've been printing ribbon/cartoon and surface representations of
>> and nucleic acids for many years using a Z Corp machine. I've also done
>> some "ball-and-stick" and "VDW-sphere" kinds of prints. Often we print
>> substrates in "stick" mode and connect the sticks to the ribbon using
>> manually-placed struts. We will continue to use our Z Printer, but we
>> also buying a "desktop" 3D printer that more people can afford. It is an
>> "FDM" printer similar to the uPrinter your webpages describe.
>> The algorithm used by the George Phillips script is a little different
>> (and perhaps simpler) than the one you describe. It has two parameters:
>> (1) the maximum length of a strut and (2) the minimum closeness of any
>> struts. The second parameter is a little funky; I'll describe it below.
>> The script first identifies all pairs of C-alphas (or pairs of initial
>> phosphates on the backbone for nucleic acids). Then it creates
>> "pseudobonds" (the struts) between all of those pairs which conform to
>> maximum length parameter. The next step is to cull the list of
>> according to the minimum distance parameter so that you don't get struts
>> everywhere. Here's where it gets kind of funky because I don't know how
>> this distance is calculated. Either it is calculated from the starting
>> of a pseudobond (which is what I expect from what I can see of the
>> of the script) or it does it from center/centroid of the pseudobond.
>> The script also adjusts some parameters to thicken the ribbons, sticks,
>> etc. and increase the triangle count of the exported mesh.
>> This usually works great, but there is one little problem because the
>> struts are calculated to put the ends of the struts at the C-alpha
>> positions. For helices, this usually isn't a problem because the helix
>> ribbon/cartoon goes through the C-alpha position. But for strands which
>> are drawn on a spline of the C-alphas, the struts sometimes either go
>> through or do not reach the ribbon, making the struts useless. Using
>> standard tools in PyMOL, I force the ribbon to go through the C-alpha
>> positions everywhere there is a strut terminus. In this way, the ribbon
>> and the ends of the struts correspond and the print is strengthened
>> without sacrificing the aesthetics of the splined ribbon.
>> I've attached the results of this script for both the mesh and the
>> print (the "ribbon.jpg" and "ribbon.png" images). Of course, printing in
>> monochrome plastic will be different, but that's what we're hoping to
>> experiment with. I've also attached a few other pictures of our prints.
>> George and I have discussed sharing his script with a wider audience or
>> even publishing some kind of technical note about it. He seems willing
>> share it with certain limitations. Maybe we can all write something
>> together if we build it into Chimera. We might be able to do it
>> internally, but I would have to get my developers more familiar with the
>> internals of Chimera first. I welcome any efforts you or others might
>> Darrell Hurt, Ph.D.
>> Section Head, Computational Biology
>> Bioinformatics and Computational Biosciences Branch (BCBB)
>> 31 Center Drive, Room 3B62B, MSC 2135
>> Bethesda, MD 20892-2135
>> Office: 301-402-0095
>> Mobile: 301-758-3559Web: BCBB Home Page
>> Twitter: @niaidbioit <https://twitter.com/niaidbioit>
>> Disclaimer: The information in this e-mail and any of its attachments is
>> confidential and may contain sensitive information. It should not be
>> by anyone who is not the original intended recipient. If you have
>> this e-mail in error please inform the sender and delete it from your
>> mailbox or any other storage devices. National Institute of Allergy and
>> Infectious Diseases shall not accept liability for any statements made
>> that are sender's own and not expressly made on behalf of the NIAID by
>> of its representatives.
>> On 8/16/13 6:14 PM, "Tom Goddard" wrote:
>>> Hi Darrell,
>>> Here are some of the molecule models we have printed in plastic.
>>> and a description of the printer we used
>>> Chimera does not currently have any tool to automatically add struts,
>>> although I've done this by hand in Chimera. For instance the heptatis
>>> virus pentamer on the above web page had part of an icosahedral cage
>>> from cylinders underneath it to hold the proteins on the virus surface
>>> One thing you'll see is that all our printed molecules came from
>>> surface depictions in Chimera (made with molmap command). I'm not sure
>>> if we successfully printed and ball and stick models via STL or VRML.
>>> tried years ago and I recall them falling apart because where the
>>> and cylinders intersected it put no plastic. Basically an atom sphere
>>> and bond cylinder are two surfaces and for points inside two surfaces
>>> any even number of surfaces I think) the printer places no plastic. So
>>> overlapped cylinders and spheres didn't hold together. This seems to
>>> a printer driver issue -- how it takes a surface and makes a solid out
>>> it. I don't know that we've tried with our newer printers at UCSF --
>>> maybe it works now.
>>> Have you successfully printed ball and stick models exported from
>>> Chimera? What kind of printer?
>>> Now about automatically adding struts -- probably would not be hard.
>>> The struts code I saw online
>>> didn't have a clear description of the algorithm the use, but it would
>>> just take an hour to study it. I could see aiming to add struts that
>>> are cylinders between atoms, 2) are short, 3) make the whole model one
>>> connected piece, 4) make every contiguous N (50) residues connected in
>>> least 3 places (2 probably being continuations before and after and one
>>> being a crossbridge) to other residues for rigidity, 5) not put
>>> connections at the ends where they would be easily confused for real
>>> biological connections, 6) struts should not look like real bonds --
>>> maybe make them fatter or better square cross-section. Actually that
>>> rigidity constraint is more complex -- probably don't want to have two
>>> large pieces connected to each other through only one bond.
>>> I recall printing some ribbon models in ABS plastic with ribbon
>>> cross-section pretty small -- half a centimeter. With 100 residues and
>>> no cross bridges the model is very flexible and easy to break.
>>> Could you provide a picture of a ball and stick model with struts to
>>> give a better idea of what you are shooting for?
>>> On Aug 16, 2013, at 2:32 PM, "Hurt, Darrell (NIH/NIAID) [E]" wrote:
>>>> Hi everyone,
>>>> We are assembling an open data portal or "exchange" for producing
>>>> "ready-to-3D-print" files for biological molecules, EM data, and other
>>>> imaging data using some automated pipelines. A little bit more on our
>>>> project can be found here:
>>>> A few years ago this came up on the "dev" discussion board:
>>>> In the email thread above, it mentions a script by George Phillips
>>>> called "struts.py" that was modified for use in RasMol. I am familiar
>>>> with his version of this script for PyMOL. It works very well and I
>>>> been using it for years. However, the VRML from PyMOL is sometimes
>>>> buggy. I like the exports from Chimera much better, including the
>>>> X3D2VRML and X3D2STL utilities. If I could get the same functionality
>>>> this "struts" script in Chimera, that would be one less thing I need
>>>> go to PyMOL for (the list is getting shorter and shorter!).
>>>> We're looking at doing it here, but I would welcome any contribution
>>>> from the Chimera community if something already exists. Do you have
>>>> anything? Is this script something of interest? Anyone interested in
>>>> contributing to our "exchange" database/web portal? I would love any
>>>> feedback you might have.
>>>> Darrell Hurt, Ph.D.
>>>> Section Head, Computational Biology
>>>> Bioinformatics and Computational Biosciences Branch (BCBB)
>>>> 31 Center Drive, Room 3B62B, MSC 2135
>>>> Bethesda, MD 20892-2135
>>>> Office: 301-402-0095
>>>> Mobile: 301-758-3559
>>>> Web: BCBB Home
>>>> Twitter: @niaidbioit<https://twitter.com/niaidbioit>
>>>> Disclaimer: The information in this e-mail and any of its attachments
>>>> is confidential and may contain sensitive information. It should not
>>>> used by anyone who is not the original intended recipient. If you have
>>>> received this e-mail in error please inform the sender and delete it
>>>> from your mailbox or any other storage devices. National Institute of
>>>> Allergy and Infectious Diseases shall not accept liability for any
>>>> statements made that are sender's own and not expressly made on behalf
>>>> of the NIAID by one of its representatives.
>>>> Chimera-users mailing list
>>>> Chimera-users at cgl.ucsf.edu
>> Chimera-users mailing list
>> Chimera-users at cgl.ucsf.edu
More information about the Chimera-users