3D-Printed Enzyme – Proof of Concept
I had theorized in my previous post that it was possible to easily 3D print an enzyme structure given a Protein Data Bank (PBD) file. Now, a month and many iterations later, I was finally able to print restriction enzyme Fok1 [PDB ID:1fok], bound to a strand of DNA. I had not anticipated the problems of 3D-printing such a complex structure when I first started this expedition, I now have a very robust and simple way of printing these structures.
The printed model, Fok1 [PDB ID:1fok], is in Sculpteo’s white plastic, and is approximately 4.8cm x 4.0cm x 4.3cm. It has a slight coarse and grainy texture, but still retains tiny details like arrowheads on the model. One factor that surprised me is the model’s flexibility. Whereas my previous printed models were rigid, this printed protein strand has spring like behavior in certain areas and can withstand some serious stretching.
My goal was to optimize simplicity in the PDB-to-3D-model methodology. This means, I wanted minimal manual adjustment of vertices to the PDB render. On top of that, I wanted to print a ribbon style model, which was more challenging to print than a mesh based model, due to its thin components.
I started by rendering the Fok1 [PBD ID:1fok] in Chimera. Chimera conveniently can export the model in a STL format, perfect for 3D printing. Before exporting, I thickened the model to meet minimum thinness requirements. Finally, I uploaded the STL to Sculpteo to print.
- Import PBD file into Chimera, via either a fetching of the file from PDB or a custom PDB file.
- Select the chains containing DNA or substrate and hide the atom and bond models. The atom and bond models typically are too thin to be printed, without more finessing.
- Select the remaining ribbon model and adjust the ribbon model attributes in Tools>Depiction>Ribbon Style Editor. The ribbon model, as is, is too thin to be printed. All attributes need to be thickened. The following is the setting I used for my Fok1 model.
- Export the scene to an STL and then upload the model to Sculpteo for printing. Sculpteo offers a beautiful, almost-real-time printability check of the model, for fast design feedback turnaround times.
The major problems I encountered was having structures too thin to be printed. I initially tried to print with Shapeways. However, the first ~10 iterations didn’t even pass their manual checking stage. Printing a wirely protein structure is definitely pushing the boundaries of 3D printing capabilities. I eventually decided to switch to Sculpteo because of their significantly faster turnaround times. Sculpteo was awesome and definitely delivered.
Great work Jenny!
Would love hear more from you about your experience with Sculpteo & shapeways
My general experiences are, Shapeways is much cheaper and Sculpteo is much less work/faster.
Thanks for this. Going to try and print my own protein soon.
Happen to have a time estimate on the editing it took to get this in printable format?
If you go through Sculpteo to print, it shouldn’t take long at all. Sculpteo does a lot of the fixes for you. I also have an article on the settings I used for Chimera, to get it printable.
1) Do you have any spare time to work on something like this?
2) If so… shoot me an email.
If not I’ll check out the tutorials and see about sorting it myself
Really cool stuff. Do you have any experience printing ribbon structures of 2 proteins non-covalently joined together i.e. a T-cell receptor binding an MHC molecule plus antigen (e.g. PDB 4LHU?) I can’t figure out how to join all the pieces together and would love your advice!
Hello. I haven’t done multiple protein structures. If the bonds on are not rendered, you might need to manually add a structure between them to keep them attached, like a rod in-between two structures. You can do this in almost any 3D modeling software, like Blender, 3DSMax, Solidworks.
Would you share the STL file?
Hello. Unfortunately, I don’t think I have the original STL anymore. However, if you follow the instructions on this page, you should be able to recreate the STL.