Atomic Blender (PDB/XYZ)

Le module complémentaire Atomic Blender (PDB/XYZ) importe des structures atomiques (molécules, cristaux, amas, particules, surfaces, etc.), qui sont décrites dans les fichiers PDB (.pdb) et XYZ (.xyz) (Import PDB/XYZ). Le module complémentaire lit les coordonnées de tous les atomes dans le fichier PDB/XYZ et représente les sticks sous forme de boules dans le monde de Blender. De plus, les sticks, qui sont décrits uniquement dans les fichiers PDB, sont affichés si les sticks sont explicitement répertoriés dans le fichier PDB. Le Principled BSDF shader est utilisé pour décrire les propriétés matérielles des atomes.

Pour l’importation, de nombreuses options peuvent être choisies, qui permettent de représenter les atomes et les sticks de différentes manières. Avec l’aide de plusieurs outils dans le panneau Atomic Blender Utilities panel, les structures atomiques peuvent être modifiées après l’importation.

Notez que les coordonnées des structures atomiques sélectionnées dans le monde Blender 3D peuvent également être exportées dans des fichiers PDB/XYZ.

Motivation générale : Atomic Blender (PDB/XYZ) est intéressant pour les scientifiques, qui souhaitent visualiser leurs structures atomiques décrites dans des fichiers PDB ou XYZ avec Blender. Grâce à Blender, des graphiques sophistiqués de molécules, de structures cristallines, de surfaces, de nanoparticules, de clusters et d’arrangements atomiques complexes peuvent être obtenus. Ces graphiques répondent aux normes des revues de top-niveau, qui ont un facteur d’impact élevé. Voir les Examples à la fin de cette page.

Voir aussi

Informations sur PDB et XYZ

  • Description du format de fichier PDB : Wikipedia et RCSB.

  • Description du format de fichier XYZ : Wikipedia et Open Babel.

  • Certaines notes sur les fichiers PDB et XYZ peuvent également être trouvées sur le site du développeur et les remarques.

  • De nombreuses molécules peuvent être téléchargées sur le site du site RCSB (aller sur “Télécharger”).

  • Une liste de logiciels qui traitent de PDB de différentes manières peut être trouvée sur le RCSB site Il y a aussi Vesta, ASE et touts les calculateurs chimiques quantiques utilisées dans la recherche, qui peuvent créer ou même calculer les structures atomiques et les stocker dans des fichiers PDB/XYZ.

Voir aussi

Forum

  • Veuillez utiliser le forum Blender Artists pour les commentaires et questions ou directement le Blender chat.

  • Il est également possible de poser des questions sur Stack Exchange. Cependant, notez que certains développeurs (comme Blendphys) n’ont pas assez de crédits nécessaires pour donner des réponses sur Stack Exchange.

Indication

Défauts dans une structure atomique

Si vous souhaitez afficher des défauts tels que des lacunes dans une structure atomique, utilisez un “X” pour le nom de l’élément dans le fichier PDB ou XYZ (voir ici). Un défaut est représenté sous la forme d’un cube.

Import PDB/XYZ

../../_images/addons_import-export_mesh-atomic_import-PDB.png

Le panneau avec les options d’importation PDB.

Camera & Lamp

Une caméra et/ou une source de lumière sont placées dans le monde 3D. Les deux sont placés de telle sorte que toute la structure atomique puisse être bien vue par la caméra avec suffisamment de lumière provenant de la source lumineuse.

Object to Origin (PDB)

La structure atomique est placée à l’origine (0.0, 0.0, 0.0) du monde 3D.

Object to Origin (XYZ)

Soit dans seulement la première image, soit dans toutes les images, la structure atomique est mise à l’origine (0.0, 0.0, 0.0) du monde 3D.

Balls/Atoms

Type Of

Choisir NURBS, Mesh ou Metaballs pour les atomes. Pour l’option Mesh, les valeurs Azimut et Zenith peuvent être choisies. Les Metaballs peuvent conduire à des effets fantaisistes : par exemple, si elles sont suffisamment grandes, leurs formes se fondent ensemble, montrant une sorte d’effet de surface.

../../_images/addons_import-export_mesh-atomic_import-XYZ.png

Le panneau avec les options d’importation XYZ.

Scaling Factors

Les rayons des atomes ainsi que les distances entre les atomes peuvent être redimensionnés par un simple facteur.

Type

Le type de rayon de l’atome (atomic, van der Waals or as predefined) peut être choisi.

Sticks/Bonds (seulement PDB)

Use Sticks

Utilisation ou non des sticks. Notez que les sticks doivent être répertoriés dans le fichier PDB. Le module complémentaire ne “calcule” pas les liens possibles entre les atomes, qui sont alors affichés sous forme de sticks !

Type

En général, les options Sector et Radius déterminent respectivement la précision et la dimension des sticks. L’option Smooth signifie toujours qu’un opérateur Smooth est appliqué sur les sticks. L’option Color signifie que le stick est divisé en deux parties, montrant les couleurs des deux atomes respectifs qu’il relie.

Instancing Vertices

Les sticks d’un élément sont placés dans une structure de sommets instanciés et les sticks apparaissent comme des cylindres. La structure des sommets d’instanciation rend l’affichage et le chargement de nombreux sticks relativement rapides (voir Section La structure des sommets d’instanciation pour plus d’informations). L’option Unit est la longueur d’une unité (un petit cylindre) : plusieurs de ces unités sont assemblées pour former en fait le stick (cylindre). Plus la longueur de l’unité est longue, moins il y a de telles unités et donc plus l’affichage est rapide. Cependant, si la longueur unitaire est trop longue, le stick devient finalement plus long que la longueur de liaison (distance entre les atomes). Cela crée alors des effets de chevauchement. L’option Bonds affiche séparément des liaisons simples, doubles, triples, etc. tandis que l’option Distance est la distance de liaison correspondante mesurée en diamètre de stick.

Skin

Les modificateurs skin et subdivision sont utilisés pour construire les sticks. Cela donne un joli réseau de sticks, qui peuvent être utilisés pour montrer, par exemple seulement les liaisons de la structure (supprimez les atomes avant!). Les options SubDivV et SubDivR sont des paramètres de l’opérateur de subdivision. Si l’option Smooth est activée, le profil carré initial des sticks passe à un profil plus circulaire. Notez que si cette option est choisie, il n’y a qu’un seul objet représentant tous les sticks.

Normal

Des cylindres normaux sont utilisés. Pour chaque liaison, un cylindre individuel est utilisé. Si l’option One Object est activée, environ No sticks n’est joint en un seul objet maillé. Cela rend l’affichage des sticks très rapide. Cependant, les sticks individuels n’existent plus.

Frames (uniquement XYZ)

Load All Frames

Charger uniquement la première ou toutes les images.

Skip Frames

Sauter et ne charger que chaque n-ième image. Très utile pour les données volumineuses où il peut être suffisant de n’afficher que chaque 4ème image.

Frames/Key

Afficher un nombre spécifique d’images par clé. De nombreuses images dans une clé mènent à une présentation plus fluide.

Important

N’oubliez pas que le nombre d’atomes dans une frame doit être le même de partout !

La structure des sommets d’instanciation

../../_images/addons_import-export_mesh-atomic_dupli_1.png

La structure NaCl dans l’outliner.

Il est essentiel de comprendre comment les atomes (et les sticks) d’une structure atomique sont organisés à l’intérieur de Blender. C’est pourquoi nous nous concentrons un peu sur cela dans ce qui suit :

Lorsque des structures atomiques sont importées via l’importateur PDB ou XYZ, les atomes sont placés dans ce que l’on appelle des structures de sommets d’instanciation, un peu comme dans des “groupes” d’éléments. Par exemple, tous les atomes de sodium d’une structure NaCl forment une structure de sommet instanciée, et il en va de même pour les atomes de chlore (voir figure). Dans le cas des atomes de sodium, il existe une collection Sodium qui inclut la collection Sodium_atom. Au sein de cette dernière, le Sodium_mesh est composé du mesh lui-même (Mesh_Sodium) et d’une boule appelée Sodium_ball. Le maillage ne contient que des sommets (pas d’objets !), et les sommets sont situés aux positions x,y,z spécifiées dans le fichier PDB/XYZ. Ce que fait Blender, c’est simplement “dupliquer” la boule “représentative” Sodium_ball à tous les sommets ! Parce qu’une seule balle est utilisée, cela rend les choses incroyablement rapides en représentant, par exemple, un millier d’atomes à l’intérieur de Blender. Notez que la boule représentative est au centre de la structure, sans avoir aucune signification. C’est la raison pour laquelle l’interrupteur de visibilité de la balle représentative est éteint (voir flèche rouge) !

Il y a quelques conséquences : a) La balle représentative apparaît à tous les sommets avec la même orientation. b) La modification des propriétés matérielles de la balle représentative modifie les propriétés de toutes les balles dupliquées. c) Une boule n’est PAS un objet individuel, c’est plutôt un membre lié de la structure. En fait, l’objet en tant que tel n’existe pas.

../../_images/addons_import-export_mesh-atomic_dupli_2.png

La structure NaCl dans l’outliner.

Modifications

Déplacer un atome “individuel”

Pour cela, le sommet respectif doit être déplacé : passez en mode d’édition et sélectionnez l’atome. Vous pouvez maintenant déplacer l’atome (vertex).

Modification des propriétés des matériaux (de tous les atomes)

Pour cela, les propriétés matérielles de la balle représentative doivent être modifiées : dans l’outliner, activez la visibilité de la balle représentative (ici, Sodium_ball, voir la flèche rouge sur la figure). Vous pouvez ensuite sélectionner la balle et modifier les propriétés du matériau. Après, rendez invisible la boule représentative, sinon elle apparaît dans la structure.

Séparer un atome

Pour cela, voir Section Separate Atoms.

Pour rendre la manipulation des structures atomiques un peu plus facile, le panneau utilitaire peut être utilisé, voir la section suivante.

Indication

Conversion de tous les atomes d’une structure de sommets d’instanciation en objets réels indépendants

Procédez comme suit : Sélectionnez toute les structures atomiques avec la souris puis utilisez Make Instances Real. Comme cela, vous produisez de vrais objets indépendants ! Dans l”Outliner, supprimez les structures de sommets d’instanciation restantes, nommées comme “Carbon”, “Hydrogen” etc.

Notez que si les structures représentent plusieurs centaines et milliers d’atomes, Blender peut devenir assez lent : à la fois, tous ces nouveaux atomes sont représentés comme des objets balle individuels et Blender doit tous les gérer de plusieurs manières. Comme mentionné ci-dessus, pour chaque structure de sommet d’instanciation, il n’y a qu’un seul objet balle représentatif !

Panneau Atomic Blender Utilities

Le panneau Atomic Blender Utilities vous facilite la vie lors de la manipulation des atomes de structures importées.

../../_images/addons_import-export_mesh-atomic_custom_file.png

L’entrée pour l’hydrogène dans le fichier de données personnalisé.

Custom Data File

Un fichier de données personnalisé séparé peut être chargé, qui contiendra pour chaque élément les informations suivantes :

  • Tous types de rayons (atomique, VdW, ionique) en Å

  • Couleur de balle

  • Autres propriétés matérielles pour le shader BSDF Principled.

Une telle option est utile lorsque l’on souhaite utiliser des valeurs prédéfinies pour les rayons des atomes et les propriétés du shader. Un exemple peut être téléchargé à partir d’ici : Fichier de données personnalisé.

Le fichier de données personnalisé est un fichier ASCII, qui peut être dupliqué et modifié par l’utilisateur. Le rayon et les propriétés matérielles des atomes peuvent être modifiés comme suit : ouvrez le fichier ASCII avec un éditeur de texte standard, recherchez le nom de l’atome et modifiez le rayon (Radius used). Faites de même avec, par exemple, les valeurs RVB pour la couleur (Color). La valeur RGBA(1.0, 1.0, 1.0, 1.0) correspond au blanc et RGBA(0.0, 0.0, 0.0, 1.0) au noir. Notez que la dernière valeur d’un tuple de couleur est la valeur alpha de la couleur. De plus, plusieurs autres propriétés telles que Metallic, Roughness et Transmission peuvent être modifiées. Ce sont les propriétés du Principled BSDF shader. Il existe également des propriétés pour EEVEE, qui peuvent être utilisées pour déterminer la transparence de l’objet, etc.

Notez que dans l’en-tête du fichier de données personnalisé, toutes les valeurs possibles des options de chaîne P BSDF Subsurface method,``P BSDF Distribution``, Eevee Blend Method et Eevee Shadow Method sont répertoriées.

../../_images/addons_import-export_mesh-atomic_utilities-panel.png

Le panneau Atomic Blender Utilities.

Dans Blender, le fichier de données doit d’abord être chargé. Les couleurs et es propriétés des matériaux sont modifiés après l’exécution de Apply. Notez que seuls les atomes sélectionnés sont modifiés!

Measure Distances

Avec cet outil, la distance de deux objets en mode objet mais aussi en mode édition peut être mesurée. L’unité est Ångström.

Change Atom Size

Notez que les structures atomiques doivent être sélectionnées !

Type of Radii
Type

Avec ce sélecteur, le type de rayon peut être choisi. Soit on utilise des rayons Predefined, Atomic ou Van der Waals. Les valeurs par défaut des rayons prédéfinis sont les rayons Atomic.

Charge

Pour l’option Ionic radii, l’état de charge peut être choisi et les rayons des objets sélectionnés sont instantanément modifiés. Sélectionnez un type d’atome (par exemple, uniquement tous les atomes d’hydrogène), puis appliquez l’état de charge. Les modifications ne s’appliquent que si un état de charge d’un atome est disponible. Voir, par exemple, dans le Custom data file.

Radii in pm

Tous les rayons d’un type d’atome appartenant à un élément peuvent être manipulés. Tapez le nom de l’atome (par exemple “Hydrogen”) et choisissez le rayon en picomètres.

Radii by Scale

Cela modifie les rayons de tous les atomes et structures d’atomes sélectionnés avec un facteur d’échelle. Tapez le facteur d’échelle et augmentez ou diminuez la taille des rayons en utilisant respectivement le bouton Bigger ou Smaller.

Change Stick Size

Le diamètre des sticks sélectionnés est modifié. Les boutons Bigger et Smaller permettent respectivement d’augmenter ou de diminuer le diamètre. Le facteur d’échelle détermine la force du changement de diamètre. En utilisant l”Outliner, on peut appliquer ces opérateurs uniquement sur une sélection de sticks (par exemple uniquement les sticks des atomes d’hydrogène). Notez que les modifications ne s’appliquent que si les sticks sont des objets individuels, par ex. cylindres simples ou si les sticks sont décrits dans des structures de sommets d’instanciation.

Change Atom Shape

Il est possible de changer la forme de l’atome en sphère, cube, icosphère, etc. De plus, le matériau de l’atome peut être changé. Tout d’abord, sélectionnez vos atomes dans la fenêtre 3D ou l”Outliner.

Shape

Choisir la forme dans le premier sélecteur.

Material

Choisir l’un des matériaux dans le deuxième sélecteur. Les matériaux ne sont que des exemples, d’autres améliorations peuvent être apportées dans l’onglet Matériaux des Propriétés.

Special

Ici, vous pouvez choisir un objet avec une forme spéciale, un matériau, etc. Ces objets sont assez agréables pour représenter des défauts dans des structures atomiques. Lorsque vous choisissez un objet aussi spécial, vous ne pouvez plus choisir séparément la forme et le matériau comme ci-dessus. Dans les onglets Objets et Matériaux des Propriétés, d’autres modifications peuvent être effectuées.

Button Replace

Enfin, appuyez sur le bouton Replace. La forme et/ou le matériau de tous les atomes sélectionnés sont ensuite modifiés. Cette option fonctionne pour les objets et les structures instanciant des sommets d’objets.

Button Default

Si vous souhaitez avoir les valeurs par défaut (sphères NURBS et couleurs et tailles d’élément spécifiques) des atomes sélectionnés, appuyez sur le bouton Default.

Separate Atoms

Pour séparer des atomes uniques, sélectionnez d’abord les atomes (sommets) dans le mode d’édition. Lorsque vous choisissez le mode d’édition, le bouton Separate apparaît en bas du panneau Atomic Blender Utilities. Si les sélecteurs dans Change atom shape de l’atome restent sur Unchanged, le type d’objet (NURBS, maillage, méta) et ses propriétés ne seront pas modifiés lors de la séparation.

Après avoir choisi les atomes, utilisez le bouton Separate Atoms pour séparer les atomes sélectionnés : les atomes sont maintenant de nouveaux objets uniques, qui peuvent être manipulés de manière standard. Ils apparaissent dans l’Outliner et portent le suffixe _sep.

Exemples

../../_images/addons_import-export_mesh-atomic_molecule-representations.jpeg

Différentes présentations d’une seule et même molécule.

../../_images/addons_import-export_mesh-atomic_DNA.jpeg

Partie d’une molécule d’ADN.

../../_images/addons_import-export_mesh-atomic_JPCC-2014.jpg

Molécules d’hélicène [5] fonctionnalisées sur la surface NaCl (001) (Clemens Barth et al. – Link to publication).

../../_images/addons_import-export_mesh-atomic_ESE-2017.jpeg

Structure des cellules solaires pour souligner les propriétés des nanocristaux de silicium déposés par un système de pulvérisation pulsée (Mickael Lozac’h et al. – Lien vers la publication).

Cette video a été réalisée par Sébastien Coget (responsible researcher : Frank Palmino) à Femto-ST institute Besançon (France). Le film démontre qu’avec Blender, des films professionnels peuvent être réalisés pour la recherche. Il a été rendu avec Cycles.