import molecularnodes as mn
mn.register()
mn.assets.install()= mn.Canvas()
can = (860, 540) can.resolution
Styles
This is how we can add styles or representations of our molecular data, so we can actually see something.
= (
mol "8H1B")
mn.Molecule.fetch("cartoon", material = mn.material.AmbientOcclusion())
.add_style(
.add_style(="surface",
style="is_peptide",
selection=(0.6, 0.6, 0.8, 1.0),
color=mn.material.TransparentOutline()
material
)
)
can.frame_object(mol) can.snapshot()
Fra:1 Mem:147.08M (Peak 162.20M) | Time:00:00.52 | Rendering 1 / 64 samples
Fra:1 Mem:147.08M (Peak 162.20M) | Time:00:00.59 | Rendering 25 / 64 samples
Fra:1 Mem:147.08M (Peak 162.20M) | Time:00:00.65 | Rendering 50 / 64 samples
Fra:1 Mem:147.08M (Peak 162.20M) | Time:00:00.69 | Rendering 64 / 64 samples
Saved: '/tmp/tmp3ap9eb52/snapshot.png'
Time: 00:00.80 (Saving: 00:00.10)
0].remove()
mol.styles[ can.snapshot()
Fra:1 Mem:101.52M (Peak 114.17M) | Time:00:00.07 | Rendering 1 / 64 samples
Fra:1 Mem:101.52M (Peak 114.17M) | Time:00:00.13 | Rendering 25 / 64 samples
Fra:1 Mem:101.52M (Peak 114.17M) | Time:00:00.18 | Rendering 50 / 64 samples
Fra:1 Mem:101.52M (Peak 114.17M) | Time:00:00.22 | Rendering 64 / 64 samples
Saved: '/tmp/tmp8h__eo9u/snapshot.png'
Time: 00:00.26 (Saving: 00:00.03)
(
mol'ribbon', selection="is_peptide")
.add_style('surface', selection="is_nucleic")
.add_style(
)1].backbone_radius = 1.5
mol.styles[1].quality = 5
mol.styles[1].material = mn.material.AmbientOcclusion()
mol.styles[ can.snapshot()
Fra:1 Mem:168.41M (Peak 193.74M) | Time:00:00.12 | Rendering 1 / 64 samples
Fra:1 Mem:168.41M (Peak 193.74M) | Time:00:00.19 | Rendering 25 / 64 samples
Fra:1 Mem:168.41M (Peak 193.74M) | Time:00:00.26 | Rendering 50 / 64 samples
Fra:1 Mem:168.41M (Peak 193.74M) | Time:00:00.30 | Rendering 64 / 64 samples
Saved: '/tmp/tmpwzk_jn4z/snapshot.png'
Time: 00:00.34 (Saving: 00:00.03)
import bpy
can.scene_reset()= (
mol "9EYM")
mn.Molecule.fetch("cartoon", material = mn.material.AmbientOcclusion(), selection = "is_peptide")
.add_style("ball_and_stick", selection=mn.entities.MoleculeSelector().not_peptide())
.add_style(
)= (3.14, 0, 0)
bpy.context.scene.camera.rotation_euler 1].bond_find = True
mol.styles[
can.frame_object(mol)= mn.scene.Cycles(samples=32)
can.engine can.snapshot()
Fra:1 Mem:136.34M (Peak 178.38M) | Time:00:00.18 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Synchronizing object | 9EYM
Fra:1 Mem:159.82M (Peak 178.38M) | Time:00:00.21 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Initializing
Fra:1 Mem:118.16M (Peak 178.38M) | Time:00:00.21 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Images | Loading forest_cave_1k.hdr
Fra:1 Mem:110.41M (Peak 178.38M) | Time:00:00.24 | Mem:8.00M, Peak:8.00M | Scene, ViewLayer | Waiting for render to start
Fra:1 Mem:110.41M (Peak 178.38M) | Time:00:00.24 | Mem:8.00M, Peak:8.00M | Scene, ViewLayer | Loading render kernels (may take a few minutes the first time)
Fra:1 Mem:110.42M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Scene
Fra:1 Mem:110.42M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Shaders
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Procedurals
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Background
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Camera
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Meshes Flags
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Objects
Fra:1 Mem:110.50M (Peak 178.38M) | Time:00:00.43 | Mem:8.02M, Peak:8.02M | Scene, ViewLayer | Updating Objects | Copying Transformations to device
Fra:1 Mem:110.90M (Peak 178.38M) | Time:00:00.43 | Mem:8.41M, Peak:8.41M | Scene, ViewLayer | Updating Objects | Applying Static Transformations
Fra:1 Mem:110.90M (Peak 178.38M) | Time:00:00.43 | Mem:8.41M, Peak:8.41M | Scene, ViewLayer | Updating Particle Systems
Fra:1 Mem:110.90M (Peak 178.38M) | Time:00:00.43 | Mem:8.41M, Peak:8.41M | Scene, ViewLayer | Updating Particle Systems | Copying Particles to device
Fra:1 Mem:110.90M (Peak 178.38M) | Time:00:00.43 | Mem:8.41M, Peak:8.41M | Scene, ViewLayer | Updating Meshes
Fra:1 Mem:114.04M (Peak 178.38M) | Time:00:00.43 | Mem:8.41M, Peak:8.41M | Scene, ViewLayer | Updating Mesh | Computing attributes
Fra:1 Mem:125.46M (Peak 178.38M) | Time:00:00.44 | Mem:8.51M, Peak:8.51M | Scene, ViewLayer | Updating Mesh | Copying Attributes to device
Fra:1 Mem:125.23M (Peak 178.38M) | Time:00:00.44 | Mem:19.60M, Peak:19.60M | Scene, ViewLayer | Updating Geometry BVH Mesh 2/2 | Building BVH
Fra:1 Mem:125.23M (Peak 178.38M) | Time:00:00.44 | Mem:19.60M, Peak:19.60M | Scene, ViewLayer | Updating Geometry BVH Mesh 2/2 | Building OptiX acceleration structure
Fra:1 Mem:125.23M (Peak 178.38M) | Time:00:00.44 | Mem:19.60M, Peak:19.61M | Scene, ViewLayer | Updating Geometry BVH 9EYM 1/2 | Building BVH
Fra:1 Mem:125.23M (Peak 178.38M) | Time:00:00.44 | Mem:19.60M, Peak:19.61M | Scene, ViewLayer | Updating Geometry BVH 9EYM 1/2 | Building OptiX acceleration structure
Fra:1 Mem:125.23M (Peak 178.38M) | Time:00:00.44 | Mem:23.81M, Peak:39.36M | Scene, ViewLayer | Updating Scene BVH | Building
Fra:1 Mem:125.24M (Peak 178.38M) | Time:00:00.44 | Mem:23.81M, Peak:39.36M | Scene, ViewLayer | Updating Scene BVH | Building OptiX acceleration structure
Fra:1 Mem:125.24M (Peak 178.38M) | Time:00:00.44 | Mem:24.06M, Peak:39.36M | Scene, ViewLayer | Updating Scene BVH | Copying BVH to device
Fra:1 Mem:125.24M (Peak 178.38M) | Time:00:00.44 | Mem:24.06M, Peak:39.36M | Scene, ViewLayer | Updating Mesh | Computing normals
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:24.06M, Peak:39.36M | Scene, ViewLayer | Updating Mesh | Copying Mesh to device
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.41M, Peak:39.36M | Scene, ViewLayer | Updating Objects Flags
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.42M, Peak:39.36M | Scene, ViewLayer | Updating Primitive Offsets
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.43M, Peak:39.36M | Scene, ViewLayer | Updating Images
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.43M, Peak:39.36M | Scene, ViewLayer | Updating Camera Volume
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.43M, Peak:39.36M | Scene, ViewLayer | Updating Lookup Tables
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.51M, Peak:39.36M | Scene, ViewLayer | Updating Lights
Fra:1 Mem:133.59M (Peak 178.38M) | Time:00:00.45 | Mem:32.51M, Peak:39.36M | Scene, ViewLayer | Updating Lights | Importance map
Fra:1 Mem:197.62M (Peak 485.59M) | Time:00:00.67 | Mem:96.54M, Peak:256.51M | Scene, ViewLayer | Updating Lights | Computing tree
Fra:1 Mem:222.26M (Peak 485.59M) | Time:00:00.82 | Mem:121.18M, Peak:256.51M | Scene, ViewLayer | Updating Integrator
Fra:1 Mem:223.26M (Peak 485.59M) | Time:00:00.82 | Mem:122.18M, Peak:256.51M | Scene, ViewLayer | Updating Film
Fra:1 Mem:223.27M (Peak 485.59M) | Time:00:00.82 | Mem:122.10M, Peak:256.51M | Scene, ViewLayer | Updating Lookup Tables
Fra:1 Mem:223.27M (Peak 485.59M) | Time:00:00.82 | Mem:122.19M, Peak:256.51M | Scene, ViewLayer | Updating Baking
Fra:1 Mem:223.27M (Peak 485.59M) | Time:00:00.82 | Mem:122.19M, Peak:256.51M | Scene, ViewLayer | Updating Device | Writing constant memory
Fra:1 Mem:223.29M (Peak 485.59M) | Time:00:00.82 | Mem:122.19M, Peak:256.51M | Scene, ViewLayer | Loading denoising kernels (may take a few minutes the first time)
Fra:1 Mem:230.98M (Peak 485.59M) | Time:00:00.83 | Mem:783.31M, Peak:783.31M | Scene, ViewLayer | Sample 0/32
Fra:1 Mem:381.28M (Peak 485.59M) | Time:00:00.84 | Remaining:00:00.41 | Mem:933.61M, Peak:933.61M | Scene, ViewLayer | Sample 1/32
Fra:1 Mem:444.57M (Peak 539.49M) | Time:00:01.36 | Mem:933.61M, Peak:981.07M | Scene, ViewLayer | Sample 32/32
Fra:1 Mem:444.57M (Peak 539.49M) | Time:00:01.36 | Mem:933.61M, Peak:981.07M | Scene, ViewLayer | Finished
Saved: '/tmp/tmp8psrgpat/snapshot.png'
Time: 00:01.69 (Saving: 00:00.16)