Atomic Blender (PDB/XYZ)
The Atomic Blender (PDB/XYZ) add-on imports atomic structures
(molecules, crystals, clusters, particles, surfaces, etc.), which are described in
PDB (.pdb
) and XYZ files (.xyz
) (Import PDB/XYZ). The add-on reads the coordinates of
all atoms in the PDB/XYZ file and represents the atoms as balls in the Blender world.
Also the sticks, which are described in PDB files only, are shown if the sticks are explicitly listed in the PDB file.
The Principled BSDF shader
is used to describe the material properties of the atoms.
For the import, many options can be chosen, which allow representing the atoms and sticks in different ways. With help of several tools in the Atomic Blender Utilities panel, the atomic structures can be modified after the import.
Note that the coordinates of selected atomic structures in the Blender 3D world can also be exported into PDB/XYZ files.
General motivation: Atomic Blender (PDB/XYZ) is interesting for scientists, who want to visualize with Blender their atomic structures described in PDB or XYZ files. Thanks to Blender, fancy graphics of molecules, crystal structures, surfaces, nanoparticles, clusters and complex atomic arrangements can be obtained. Such graphics meet the standards of top-level journals, which have a high impact factor. See Examples at the end of this page.
Ver también
Info about PDB and XYZ
Descripción del formato del archivo: Wikipedia y Open Babel.
Some notes about PDB and XYZ files can also be found here and here.
Muchas moléculas también pueden ser descargadas desde el sitio RCSB (ve a “Download”).
Una lista de software que trata con PDB en diferentes formas puede ser encontrada en el sitio RCSB. También está Vesta, ASE y todas las calculadoras químicas cuánticas utilizadas en investigación, que pueden crear e incluso calcular estructuras atómicas y almacenarlas en archivos PDB/XYZ.
Ver también
Forum
Please, use the Blender Artists forum for comments and questions or directly the Blender chat.
There also is the possibility to ask questions on Stack Exchange. However, note that some of the developers like Blendphys don’t have enough credits, which are, however, needed to have the permission for giving answers on Stack Exchange.
Consejo
Defects in an Atomic Structure
If you want to show defects like vacancies in an atomic structure, use an “X” for the element name in the PDB or XYZ file (see here). A defect is shown in the form of a cube.
Import PDB/XYZ
Camera & Lamp
Una cámara y/o una fuente de luz son ubicadas en el mundo 3D. Ambas son ubicadas de tal forma que toda la estructura atómica puede ser bien vista por la cámara, con suficiente iluminación desde la fuente de luz.
Object to Origin (PDB)
La estructura atómica es ubicada en el origen del mundo 3D (0.0, 0.0, 0.0)
Object to Origin (XYZ)
Ya sea sólo en el primer frame o en todos los frames, la estructura atómica es puesta en el origen del mundo 3D (0.0, 0.0, 0.0).
Balls/Atoms
- Type Of
Choose either NURBS, Mesh or Metaballs for the atoms. For option Mesh, the Azimuth and Zenith values can be chosen. Metaballs can lead to some fancy effects: for instance, if enough large, their shapes melt together showing some kind of surface effect.
- Scaling Factors
Los radios de los átomos, así también como la distancia entre ellos, pueden ser escalados por un factor simple.
- Tipo
The type of atom radius (atomic, van der Waals or as predefined) can be chosen.
Sticks/Bonds (only PDB)
- Use Sticks
Use sticks or not. Note that the sticks must be listed in the PDB file. The add-on does not “calculate” possible bonds between atoms, which are then shown as sticks!
- Tipo
En general, las opciones Sector y Radius determinan la precisión y la dimensión del enlace, respectivamente. La opción Smooth siempre significa que un operador Smooth es aplicado a los enlaces. La opción Color significa que el enlace está dividido en dos partes, mostrando los colores de los dos átomos respectivos que éste conecta.
- Instancing Vertices
The sticks of one element are put into one instancing vertice structure and the sticks appear as cylinders. The instancing vertice structure makes the displaying and loading of many sticks relatively fast (see Section The instancing vertice structure for more info). Options Unit is the length of a unit (a small cylinder): several of such units are put together forming actually the stick (cylinder). The longer the unit length is the less is the number of such units and thus the faster is the displaying. However, if the unit length is too long the stick becomes eventually longer than the bond length (distance between atoms). This can then lead to a “overlapping effect” where a stick intersects the atoms. Option Bonds displays apart from single also double, triple, etc. bonds whereas option Distance is the distance between the bonds measured in stick diameter.
- Skin
Los modificadores skin y subdivision son utilizados para construir los enlaces. Esto da una buena red de enlaces, que pueden ser usados para mostrar, por ejemplo, sólo los vínculos de la estructura (¡borrar los átomos antes!) Las opciones SubDivV y SubDivR son parámetros del operador subdivision. Si la opción Smooth está activada, el perfil cuadrangular inicial de los enlaces cambia a uno más circular. Notar que si esta opción es elegida, solo habrá un objeto representando a todos los enlaces.
- Normal
Son usados cilindros normales. Por cada vínculo es utilizado un cilindro individual. Si está activada la opción One Object, alrededor de No enlaces son unidos en un objeto malla. Esto hace que visualizar los enlaces sea muy rápido. Sin embargo, los enlaces individuales ya no existen más.
Frames (only XYZ)
- Load All Frames
Carga sólo el primero o todos los frames.
- Skip Frames
Saltea y carga sólo cada n-ésimo frame. Esto es bastante útil para datos grandes donde podría ser suficiente mostrar sólo cada 4 frames.
- Frames/Key
Muestra un número específico de frames por clave. Muchos frames en una clave conducen a una presentación más fluida.
Importante
Please, keep in mind: the number of atoms in a frame has to be the same for all frames!
The instancing vertice structure
It is essential to understand, how the atoms (and sticks) of an atomic structure are organized inside Blender. This is why we focus a little bit onto this in the following:
When atomic structures are imported via the PDB or XYZ importer, the atoms are put into a so-called instancing vertice structures, somewhat into “groups” of elements. For instance, all sodium atoms of a NaCl structure form one instancing vertice structure, and the same applies for the chlorine atoms (see figure). In the case of the sodium atoms, there is a collection Sodium that includes the collection Sodium_atom. Within the latter, the Sodium_mesh is composed of the mesh itself (Mesh_Sodium) and a ball called Sodium_ball. The mesh only contains vertices (no objects!), and the vertices are located at the x,y,z positions specified in the PDB/XYZ file. What Blender is doing is simply “duplicating” the “representative” ball Sodium_ball at all the vertices! Because only one ball is used, it makes things incredibly fast by representing, e.g., a thousand of atoms inside Blender. Note that the representative ball is in the center of the structure, without having any meaning. This is the reason why the visibility switch of the representative ball is switched off (see red arrow)!
There are some consequences: a) The representative ball appears at all vertices with the same orientation. b) Changing the material properties of the representative ball changes the properties of all duplicated balls. c) A ball is NOT an individual object, it is rather a linked member of the structure. Actually, the object as such does not exist.
Modifications
- Displacing an “individual” atom
For this, the respective vertice has to be displaced: go into the Edit Mode and select the atom. You can now displace the atom (vertice).
- Changing material properties (of all atoms)
For this, the material properties of the representative ball must be changed: in the outliner, switch on the visibility of the representative ball (here, Sodium_ball, see red arrow in figure). You can then select the ball and change the material properties. After, make unvisible the representative ball, otherwise it appears in the structure.
- Separate an atom
For this, see Section Separate Atoms.
For making the handling of the atomic structures a bit more easy, the utility panel can be used, see the next Section.
Consejo
Converting All Atoms of an Instancing Vertice Structure to Real Independent Objects
Do the following: Select the atomic structures with the mouse and use Make Instances Real. With this, you produce real independent objects! In the Outliner, delete the remaining instancing vertice structures, named like «Carbon», «Hydrogen», etc.
Note that if the structures represent many hundreds and thousands of atoms, Blender can be become quite slow: at once, all these new atoms are represented as individual ball objects and Blender has to deal with all of them in several ways. As mentioned above, for each instancing vertice structure, there is only one representative ball object!
Panel Atomic Blender Utilities
El panel Atomic Blender Utilities hace tu vida más fácil durante la manipulación de átomos de estructuras importadas.
Custom Data File
A separate custom data file can be loaded, which contains for each element the following information:
All types of radii (atomic, VdW, ionic) in Å
Ball color
Other material properties for the Principled BSDF shader.
Such an option is useful when it is desired to use predefined values for atom radii and shader properties. An example can be downloaded from here: Custom data file.
The custom data file is an ASCII file, which can be duplicated and modified by
the user. The radius and material properties of the atoms can be
changed as follows: open the ASCII file with a standard text editor, search
the name of the atom and change the radius (Radius used
). Do the same
with, e.g., the RGB values for the color (Color
). The value
RGBA(1.0, 1.0, 1.0, 1.0) corresponds to white and RGBA(0.0, 0.0, 0.0, 1.0) is
black. Note that the last value of a color tuple is the alpha value of the
color. Furthermore, several other properties such as Metallic
,
Roughness
and Transmission
can be changed. These are the properties
in the
Principled BSDF shader.
There are also some properties for
Eevee, which
can be used to determine the object’s transparency etc.
Note that in the header of the custom data file,
all possible values of the string options P BSDF Subsurface method
,
P BSDF Distribution
, Eevee Blend Method
and Eevee Shadow Method
are listed.
Inside Blender, the data file needs to be loaded first. The colors and material properties are changed after executing Apply. Note that only selected atoms are changed!
Measure Distances
With this tool the distance of two objects in the Object Mode but also in the Edit Mode can be measured. The unit is Ångström.
Change Atom Size
Note that the atomic structures must be selected!
- Type of Radii
- Tipo
Con este selector pueden ser elegidos los tipos de radios. Cualquiera de ellos utiliza radios Predefined, Atomic o Van der Waals. Los valores por defecto para los radios Predefined radii son los radios Atomic.
- Charge
For option Ionic radii, the charge state can be chosen and the radii of selected objects are instantaneously changed. Select one type of atom (e.g. only all hydrogen ones) and then apply the charge state. Changes only apply if a charge state of an atom is available. See, e.g., in the Custom data file.
- Radii in pm
The radii of all atoms that belong to one element can be manipulated. Type in the name of the atom (e.g. “Hydrogen”) and choose the radius in picometer.
- Radii by Scale
This modifies the radii of all selected atoms and atom structures with one scaling factor. Type in the scaling factor and increase or decrease the size of the radii by using the Bigger or Smaller button, respectively.
Change Stick Size
The diameter of selected sticks are changed. The buttons Bigger and Smaller allow increasing or decreasing the diameter, respectively. The scale factor determines, how strong the change of diameter will be. By using the Outliner, one can apply these operators on only a selection of sticks (e.g. only the sticks of the hydrogen atoms). Note that changes only apply if the sticks are individual objects, e.g. single cylinders or if the sticks are described in instancing vertice structures.
Change Atom Shape
It is possible to change the atom’s shape to a sphere, cube, icosphere, etc. Furthermore, the material of the atom can be changed. First, select your atoms in the 3D Viewport or the Outliner.
- Shape
Elige la forma en el primer selector.
- Material
Elige uno de los materiales en el segundo selector. Los materiales son sólo ejemplos, pueden ser realizados más refinamientos en la pestaña Materials de Properties.
- Special
Aquí puedes elegir un objeto con una forma especial, material especial, etc. Tales objetos son bastante buenos para representar defectos en estructuras atómicas. Cuando eliges dicho objeto especial, no puedes elegir más, de forma separada, la forma y el material como lo hacías antes. Pueden ser realizados más cambios en las pestañas Objetcs y Materials de Properties.
- Button Replace
After all, push the Replace button. The shape and/or material of all selected atoms are then changed. This option works for objects and instancing vertice object structures.
- Button Default
Si quieres tener valores por defecto (esferas NUBRS, y colores y tamaños de elementos específicos) de los átomos seleccionados, aprieta el botón Default.
Separate Atoms
To separate single atoms, select the atoms (vertices) first in the Edit Mode. Upon choosing Edit Mode, the Separate button appears at the bottom of the Atomic Blender Utilities panel. If the selectors in Change atom shape remain on Unchanged the type of object (NURBS, mesh, meta) and its properties will not be changed upon separation.
After having chosen the atoms, use button Separate Atoms to separate
the selected atoms: the atoms are now single, new objects, which can be
manipulated in standard way. They appear in the Outliner and carry the suffix _sep
.
Ejemplos
This video was created by Sébastien Coget (responsible researcher: Frank Palmino) at the Femto-ST institute in Besançon (France). The movie demonstrates that with Blender, professional movies can be done for research. It was rendered with Cycles.