I have a poster session coming up, and I wanted to show a homology model built by my collaborator Justin Kollman. In the past, I’ve found that “feelies” (like flip books) are a great way to engage visitors. Given that my department just got a MakerBot Replicator 2X, why not 3D print the .pdb? In going through this process, I enjoyed an unexpected benefit: handling a physical model led me to a far deeper understanding of the structure than I’ve been able to get by spinning it in virtual space.
3D printers are becoming more and more prevalent. Many universities, recognizing a utility for fabricating custom lab equipment, have them. Outside of academia, makerspaces are cropping up around the world – there’s likely one near you. If not, services like Shapeways can fulfill 3D printing jobs you submit online. Below is a simple workflow you can follow to go from .pdb to plastic with freely available software.
Step 1: Export a surface view in PyMol
Note that MeshLab, used here in step 2, can directly import .pdb files, but I think PyMol gives a nicer surface rendering.
Open the structure of interest with PyMol. To generate a surface view, just type “show surface” into the command line. PyMol can now export a VRML (Virtual Reality Modeling Language) file with the command File/Save Image As/VRML 2. This will generate a file with a .wrl extension.
If you want to use Shapeways, you can stop here – they accept .wrl files!
Step 2: Use MeshLab to convert to .stl
You now may need to convert this .wrl file to a format that can be read by your printer. For example, my department has a MakerBot Replicator 2X, and the software that drives it, MakerWare, doesn’t accept this format. I needed to convert to .stl.
The open-source MeshLab can do this quickly and easily. When you open it up, you’ll see a blank project. Add your .wrl file to it with File/Import Mesh. Now you can use File/Export Mesh As to select from a variety of formats, including .stl, which will strip away color information.’
Step 3: Print
Now you’ll need to take the .stl file and convert it into instructions for your printer. For the MakerBot Replicator 2X, I used MakerWare to arrange the object on the build platform. It’s best to put the face of the protein you care most about pointing upwards, as the underside is more prone to defects if you use supports.
Click the “Make” button, specify the material (ABS) and the resolution, and automatically generate a raft (a printed 2D platform that helps the model adhere to the build plate) and supports (low-density printed scaffolding that barely touches the model itself).
Then press “Export!” to generate an .x3g file that can be read off of an SD card directly by the printer. Three hours later…
Step 4: Finish
To finish the model, you’ll need to break away the raft and support material (a tiny fragment of this can be seen at the bottom center of the picture above!). ABS is acetone-soluble, so you can paint a little bit on to any parts that might have broken off to rebond them. At this stage the object has a topological map look and a matte finish. To give it a high-gloss finish and smooth out the ridges, I used the acetone vapor technique. Briefly, this involves simmering a small quantity of acetone in a deep beaker on a hot plate and suspending the model on an aluminum foil sling into the vapor that’s created for about 30 seconds. You’ll need to watch the model carefully during the process and handle it gingerly afterward until it resets. As a final step, I highlighted important residues with nail polish. High gloss works best, to match the shiny acetone-vapor finish.