|
Please Note The "v3" of PBD Reader that ships with LW is actually a much older version (and poorly named) version of this plugin. The most current version of the software, v2.85 is available here. It is far more advanced than the older version. Sorry for the confusion. |

PDB is an abbreviation for Protein Database. It is a popular format for storing the 3D structure of proteins and other organic molecules. There is an ongoing effort to catalog and release into the public domain many of these structures.
It is not truly a 3D file format. It contains the XYZ spatial coordinates of the atoms in a molecule, but nothing else. This program will read that information, and from it place a representation of that atom (a point, a sphere, a HyperVoxel or HyperVoxle sprite).

It is also capable of deriving the likely connecting points between atoms and drawing those as well.
In the documentation below, you can see the various types of rendering that are possible. You can also browse sample images in the gallery. Special thanks to Alexx for his contributions to the redesign.
Download
PDB Reader v2.85 Intel/Mac 7.5+
HV Text Sprites
Docs [ PDF ]
Sample PDBs
PDB Files on the Web
PDBs for Teaching Organic Chemistry
RCSB Protein Databank (The Big Database)
PDB Reader v2.85
Tested in Lscript v2.6 for Lightwave 7.5
Loading a PDB File
When you run the script, you will be prompted to load a PDB File:

Double-click on a file, or pick a file and click open.
The Interface

Field Chooser
The first part of the interface sets up the reading of the PDB file.

The first line gives an overview of the PDB file. In this example, there are 2912 ATOM entries. A line in the PDB file that begins with the ATOM field will contain coordinate information and an chemical designation of the atom to be placed. HET entries contain the same information. A valid PDB file may have one or both of these type of entries. This PDB file will generate 3035 atoms.
CONECT entries contain information on how atoms in the file are connected to each other. Large files like this one don’t generally store explicit connection information. 5 entries for 3000+ atoms is not much information. We’ll deal with this information further on.
Field to read ATOM info: This requester highlights the field that the program will use to assign the atoms chemical name. It will usually default to the correct field. If not you will need to choose the field. Frequently, it will be a valid chemical symbol, C,H,O,N etc. Large file sometimes pack extra information in that field, and it may appear like CO3, HOH, or 8CT. If your molecule renders strangely, you may have chosen an incorrect ATOM field. Check the Create ATOM box to create these entries in Modeler.
Field to read HET info: This operates the same as the ATOM field. Check the Create HET box to create these entries in Modeler.
Field to read as Protein Group: Unless you work with large proteins, you many never see this option. This will allow to tag and color atoms by the membership in different protein groups. These groups generally go by three letter tags like TYR, ADE, and in this case, GLU. If you choose the GLU field, and check the (unfortunately truncated) Use Group Color, your atoms will be surfaced by protein group.
Scale Options
There are many ways to display molecular models. The first step in defining a look is to set the manner in which the atoms and links will scale with each other.
![]()
Each type of atom has inherent scale information. Hydrogen is smaller than Carbon, Carbon is smaller than sulphur, etc. Changing the Atom Scale will increase or decrease the size of the atoms, but they will still maintain their scale relative to each other. Useful values will generally be in the 0.0 – 2.0 range.
Stick Scale changes the thickness of the sticks that form the link between atoms. Useful values will generally be in the 0.3 – 1.5 range.
Scale Down Mode reduces the relative scaling between atoms. 50% halves the relative scale. Monoscale discards relative scaling for a single size. Atom Scale still controls the size of the atoms.
Display Options
This is the heart of the look your model will achieve.

Tessellated Sphere: Choosing this option will make atoms as tessellated spheres. Smaller models will benefit from higher tessellation levels, but large (500+) models will take a long time to create at higher levels.
Segmented Spheres: Same as above, but with Modelers segmented spheres. Primarily a matter of taste.
Boxes: Atoms will be created as cubes. Very fast to create. Could be used as subdivision surfaces to create spheres quickly.
HV Particles: This is the fastest option, and provides for some interesting possibilities. It creates a point for each atom. Atom types are segregated by layer. In layout, you can apply Hyper Voxels to these points for a variety of effects, from spheres, to melded blobs, and even Text, using Hyper Voxel Sprites. This is the best solution for text label models, as the hypervoxel sprites always face the camera. I will soon be adding a standard set of HV Sprite labels for this type of use.
Text: Plots atoms using polygonal text labels. User has the choice of axis to render into when this option is chosen. Inferior to the Hyper Voxel Sprite approach.
Adaptive Tessellation: Some sort of override to the other sphere settings. Alexx…what does this do? };^)
Sticks: Clicking None will create no links between atoms. A large Atom Scale and no sticks will create a Space-Filling model
From CONECT: remember that CONECT info from the Field Chooser? If there is a reasonable number of CONECT entries for the number of atoms in the file, then the atomic bonds are probably recorded in the file. This option will attempt to display these explicit bonds.
Generate: Using exciting concepts from science, generate will scan the PDB model and determine the molecular bonds automatically. This is probably the best all around setting to use if you want to display the sticks. It has been optimized to work with large files, which rarely have explicit CONECT information.
Stick Resolution determines the number of side the connecting cylinders will have. Use the smallest value you can get away with, 3 – 5 is best for large models. A value of 1 will make a 2 point poly-line (very fast).
Warning: The biggest slowdown in this program comes from Modeler drawing primitives like spheres and cylinders. For large models, keep the resolution values low, or set aside 15 minutes to an hour to generate the models. There does not appear to be any way to speed up Modelers creation of these objects. Choose HV Particles and a stick resolution of 1 to see how fast the program calculates all the factors. Then boost the resolution, and weep at Modeler’s primitive draw speed.
Skip Hydrogen: When checked, Hydrogen is not created. For large models, hydrogen often impairs the view of the meaty bits of the molecule.
There is currently a bug in LScript that prevents the program from automatically coloring all surfaces, although the surface assignments have been made. There are controls for this function that should come on line automatically when you update to the next release of LScript. In theory.
The Color Bug Workaround
Included in the zip distribution of the PDB Reader are (2) Lightwave objects. Both of these objects contain all the surfaces created by PDB Reader, and their Shapley/CPK colors. Simply load one of these objects, which loads all the surfaces, then cut the geometry by hitting "x" to clear the layer. Don’t close the object. Now run the program. The resulting molecule should be properly surfaced. Be sure to save the object under a different name, or you’ll have to grab the template objects from the zip again.
Organization Options
The Reader can split molecules into logical groups on different layers. The HV Particles display option does this automatically.
The rest of the options are pretty self-explanatory. I haven’t had much use for them, but they are there for those that do.
The Log File is primarily a developer’s tool. For PDB files that have explicit CONECT info, the log will spit out all atoms pairs that share a link, and what the distance in standard units between those pairs are.
Known Issues
When generating stick connections, the sticks are generated on the last layer if the model is split by layers.
Bugs
Bug reports have been pretty quiet for the last year, but I’m sure there are a few. This isn’t a production tool, so much as a series of night and weekends I’ll never get back.
Feel free to submit bugs here .
I would strongly advise against the holding of breath until bugs are fixed. I haven’t touched the codebase in over a year, so that’s just asking for trouble.



Many thanks to share this good piece of soft.
LAV
Gianandrea Ghirri
La Spezia – Italy
You’re most welcome. Always glad to know people are getting good use from it.
Greetings;
I’ve tried to download PDB format files from the RCSB Protien Data Bank website and then import them using pdbreaderv3 in Lightwave 9.0. I continually get an error message saying there is no atomic data etc.
Help. Is there another type of PDB file I should be downloading in order to get into the interface of the pdbreaderv3 plug-in?
Any suggestions would be appreciated when you have the time.
Thanks.
Rollie Hudson
Confusingly, the “v3″ that ships with LW is an older piece of software.
Download the current version here, which is completely rewritten and much more advanced.
Sean;
Thanks for the response! I’ve loaded your PBD Reader 2.85 as I would load a plug-in into Modeler (LW 9.0.0). I added it to my menu and again attempted to load PBD files, both from the http://www.rcsb.org site and from site at your suggested Small Organic Molecules site. Alas, I’m still getting only a
“No ATOM or HETATM data found. Your file may be corrupt.”
…error message.
Am I not downloading the correct kind of PDB files? Most of the PBD files I’m downloading and attempting to import into Modeler are in the 80 KB to 600 KB range in size. Any suggestions as to what I might be doing wrong?
Thanks for taking the time to consider this, as I am neither a an organic chem scientist or LScript coder, mearly an animator who would like to make cool looking scientific animations with tools like your plug-in and its ability to use Hypervoxels and volume attributes on 3D models. Much appreciated.
Hi Rollie,
I tried emailing you a response, but the address failed.
Can you send me one of the PDB files you downloaded? Use the address on the Contact Page.
I looked at the site. All of the PDB files are compressed in GZ format, so you would have to decompress them before they would be readable by the plugin. That would be the first thing to check.
Using LW9, I found that I must change the PDB file into a .txt file in order to import it. (I used MS word, but any text editor will work.)
If anyone knows how to import the “ribbon”style models into LW (instead of points, it uses polys), please let me know.
Yeah. Haven’t tackled ribbon modeling yet. If anyone knows of some good resources that discuss ribbon rendering, drop me a line.
Here they’ve managed to get ribbons into LW using PC software. I’m on a Mac but will try to replicate what they’ve done if I can get my hands on a PC. If anyone has any other ideas, let me know. Thanks.
http://www.kombyonyx.com/4767/11646.html?*session*id*key*=*session*id* val*
Hey Steve,
Where are you getting your PDB files? I’d like to take a look at them. I’m guessing it’s a PC/Unix line feed issue that’s causing you to have to re-save them.
allow to download free
I’m just getting back into LW V9 and I too am getting no atomic data only the HETATM – I am getting models in Modeler so I’m not sure what’s going on- I’m using plug V2.85 (as well as the LW V3 of the plug). I’ll keep tinkering. My skill level is so low after a 10-year hiatus from LW that I’m basically starting over again– painful but challenging!
Jim pointed out offline that the link above to the gallery was broken. It’s now fixed, or you can check out the PDB gallery here.
Thanks, Jim!
This plugin is great! Is there any way to label specific amino acids using this script? If not, do you have any ideas for how to do this other than labeling individual atoms once I am already in Lightwave?
Thanks,
Matt
Hmm…can do protein groups, not sure about amino acids. If you send me a sample PDB, I’ll poke through the file and see what I can come up with. Email is on the contact page.
-S.
thaaaaaaaaaaaaanks
thank you veeeeeeeeeery much