Biochemical Visualization Using Blender

Here at the Scientific Visualization Unit of the National Research Council in Pisa, Italy, we have been using Blender since 2008 for doing some very interesting bio-molecular visualization at the sub-cellular level.  I myself joined the team just over 3 months ago, and am eager to share some of our work with the Blender community now that the Italian soccer team can stop embarrassing themselves in South Africa.

We use Blender to visualize protein motions and interactions, as well as making short animations that show the inside of a cell in a way that had never been seen with the unaided eye.  Because one key focus of the project is scientific accuracy, a lot of time is spent to ensure that the visualization is not only nice-looking, but also scientifically accurate. The process involves using numerous third-party programs to convert the input data (atomic coordinates of a protein) into something Blender can read. We use Python extensively to help facilitate data conversion between different formats.  The result is this video:

To really appreciate the video, it helps to understand the science going on behind it.  If you are a bit lost, have a look at the explanatory note associated with the video.  The video is made and rendered with Blender in 1080p HD, we also toyed with stereoscopic rendering with some very good result.  You can download the HD stereo version from the SciVis site.

Currently, we are working to build an interactive protein viewer inside Blender.  Using Blender 2.5 as the platform, we built an interface that will allow biologist to load a text description of any protein (a PDB file), and Blender will display the imported file in an intuitive interactive viewer. (As shown below)

Why Blender? Blender is especially suitable for this task for several reasons. Its python support allows us to accomplish a lot of custom features in relatively very little coding.  Having a game engine and a physics engine built-in means we can use do realtime visualization all from one software package.  Its open source nature allows us to easily modify (at least have access to) the source code if needed.

Above is our BioBlender interface for Blender 2.5.  The protein on the right is MLCK backbone, a 1845 residue long protein.

There is still a lot of work to be done.  Blender is currently having a hard time handling large proteins that contains thousands of amino acid groups, the interface turns sluggish with as the number of object increases.   Surprisingly, the game engine performance is very fast, it manages to maintain 20fps on a laptop even with a fancy ambient occlusion shader.

12 thoughts on “Biochemical Visualization Using Blender

  1. Hey Mike, great work! I didn’t know you are in Italy now, great to have you here around. Too bad that Pisa is quite far away from my place.
    Keep up the good work, and have a nice staying. :)

  2. Enrico I am a big fan of your work, thanks for the kind words. I do like Italy so far!

  3. awesome what kind of computer did you use to deal with all that detail

  4. matty,

    A few modern workstations (2-4GB RAM, Dual Core) is sufficient for the development of the film. The rendering is done on a cluster of a dozen computers. But mainly because they are available, not because of the excessive time it would take otherwise.

  5. Nice Work!

    I do a lot of stereoscopic visualization using LCD shutter glasses (CrystalEyes or Nvidia’s 3D Vision system) and I would love to see the Protein Expressions – Study N 3 animation in true 3D. Is there any possibility that you could release the separate left eye and right eye videos besides the combined anaglyph version? Stereoscopic movie players such as that at http://3dtv.at make it easy to combine the two streams for viewing on whatever 3D hardware I use.

    - Darryl

  6. Yes Darryl,
    write to us and we can provide you with an ftp place where you can download the separate eyes, but be warned that they are in HD (about 10 MB total).
    (The server is not ours, and I am not sure I can post it).

    Monica

  7. That was spectacular! Great work team, that seems soooo much more difficult than a Blender array animation ;)

    I love the black and white instead of the false colour stuff, and the lighting was ccool too. Real matrix machine world (inside each of us!).

    Just want to say thankyou, its a real eye opener for openware.

  8. Currently the SciVis group is the only developer of the project. However we do plan to make it open source and invite other developers to contribute to the project. In fact, since almost everything is written in Python, the source code is already visible to anyone who downloaded the application.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>