Addon and nodes for working with structural biology and molecular data in Blender.

Overview

Molecular Nodes 🧬 🔬 💻

Buy Me a Coffee to Keep Development Going!

Buy Me A Coffee

Join a Community of Blender SciVis People!

What is Molecular Nodes?

Molecular Nodes provides a convenient method for importing structural biology files into Blender, and several nodes for working with atomic data inside of Blender's Geometry Nodes.

Blender's Geometry Nodes provides a powerful interface for procedural modelling and animation. Currently it is limited in its ability to read any kind of structured data file as input, that isn't a 3D mesh. Molecular Nodes bridges this gap by providing an interface for converting .pdb and other file types into meshes that are usable by Geometry Nodes.

Acknowledgements

This addon is built crucially around the python library atomium, which provides a great lightweight and pure-python way to to parse a variety of structural biology files, that interface nicely with the built-in python interpreter that is bundled with Blender.

This addon is built using the excellent plugin for creating addons Serpens, which made the process of compiling a clear and concise addon, significantly reducing development time an creating a better addon overall.

Importantly none of this would be possible without the Blender and the Blender Foundation and the fantastic work of all the developers, from the community and the foundation itself.

This documentation is currently not complete for all of the nodes, but there should be enough to get you started. More complete documentation is in the works.

Installation

This addon is built with Blender v. 3.1.2, some of the nodes may break in earlier versions.

To install Molecular Nodes, download the latest release and install the addon through the preferences panel inside of Blender, and select the MolecularNodes_0.3.8.zip file

Edit -> Preferences -> Addons -> Install Screenshot highlighting the install addon button.

If the addon isn't highlighted, search for it and click the tick box to enable the addon. Screenshot highlighting the enable Molecular Nodes Addon

Installing Atomium

Windows: You must run Blender as Administrator to be able to install Atomium successfully.

Screenshot highlighting the Install Atomium Button

While still in the preferences panel, click the Install Atomium button to download and install the Atomium python library. This should only need to be done the first time you install Molecular Nodes. You will need to complete this step again if you reinstall Blender or upgrade the version.

The addon should now be enabled and available for use.

Loading Structures

You can load structures using the Molecular Nodes panel, which should be available at the top-right of the 3D viewport. You can press N to show & hide the side panels. Click on the Molecular Nodes tab to reveal the panel.

Screenshot highlighting the Molecular Nodes Penal

Molecular Nodes provides two ways to open files. You can fetch directly from the PDB by inputting the 4-character code into the top box and pressing the download button. This will download the file and open it inside of Blender.

Screenshot showing the interface of the Molecular Nodes Panel

You can also open a file saved on your local computer. Click the folder icon to navigate to your .pdb file, select it and press OK. Then press Open on the Molecular Nodes panel to read the file and load the model into Blender.

Using the Nodes

Atomic Properties

With Molecular Nodes enabled, create a geometry nodes node tree, and inside the add menu (Shift + A) there will be an additional category for Molecular Nodes. image

To access the atomic properties that are associated with the model, add the "Atomic Properties" node from Properties -> Atomic Properties and in the node, select the *_properties collection. This will scale the points according to their Atomic Radii, and make all of the atomic properties associated with the atoms (atomic number, is_backbone / is_sidechain) available for use inside of the node tree.

Styling

image

To quickly colour the structure, add the "Style Colour" node from Styling -> Style Colour, select a material for the atoms, and connect the atomic_number from the Properties node to the atomic_number of the style node. The outputted colour becomes an output for the node tree.

image

Name the output for the node tree in the modifier tab: image

And add an attribute node to the shader, inputting the name for the colour output fromt the GN node tree, in this case colour. image

Voila!

By default, the atoms are 'point clouds' and only visible inside of Cycles.

The atoms should now be visible, inside of the Cycles render engine: image

To make the atoms visible inside of EEVEE, use the Styling -> Atoms EEVEE node. You will need to create and assign a material for each element individually.

image

Animating Frames

To animate between frames of a .pdb file, add the Animate Frames node from Animation -> Animate Frames and choose the *_frames collection to give the model the infomation of the different structures. You can now animate between the frames by using the Animate 0...1 slider which will animate between the first frame (0) and the last frame (1). Attach the Animate Node from Animation -> Animate to automatically play through the frames.

image

You can now play back the animation!

In the example below, I create the .pdb frames from this tweet and imported them with the steps above, and added a Random Vector based on the chain number, to colour the carbons of the different chains different colours.

Want to support the development of this addon? Buy me a coffee! (it took a lot of them to make it)

Buy Me A Coffee

Issues
  • Problem with the Atomium instalation on windows?

    Problem with the Atomium instalation on windows?

    I get the error below when trying to import a pdb-file, online or localy.

    I have followed the steps in the instalation guide: I run Blender as an administrator on Windows 10, and after installing the add-on, i click the button to install Atomium. I get a confirmation that Atomium is successfully installed.

    In the MolecularNodes panel i click the "Download" / "Open" button and get the error below. I assume the it is because the Atomium library is not properly installed.

    Python: Traceback (most recent call last):
      File "C:\Users\Jonas\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1401, in execute
        sna_func_import_structure_EE5B6(bpy.context.scene.sna_pdb_code,
      File "C:\Users\Jonas\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1134, in sna_func_import_structure_EE5B6
        pdb = atomium.fetch(pdb_id)
    UnboundLocalError: local variable 'atomium' referenced before assignment
    
    location: <unknown location>:-1
    

    I am very curious to try this amazing add-on, hope that you can help resolve the issue.

    bug 
    opened by chromascope 36
  • MOL_atomic properties not a library

    MOL_atomic properties not a library

    Hi!

    I installed MolecularNodes, both the add-on and the atomium installation was said to be fine. However, when I tried to load a pdb file (even from pdb or file), I get the following error: image Blender version: 2.93.4, add-on version: 0.4.0

    What could the the issue?

    opened by Furman-Lab 8
  • KeyError: 'bpy_prop_collection[key]: key

    KeyError: 'bpy_prop_collection[key]: key "Group Input" not found'

    Hi, I'm trying "Download from the PDB" and "Load MD Trajectory File" according to your document. However, I got the same error in both cases. Thanks!

    Python: Traceback (most recent call last):
      File "C:\Users\ryohei.yamaguchi\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 2471, in invoke
        return self.execute(context)
      File "C:\Users\ryohei.yamaguchi\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 2458, in execute
        sna_func_import_structure_EE5B6(
      File "C:\Users\ryohei.yamaguchi\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1583, in sna_func_import_structure_EE5B6
        sna_setup_node_tree_272D6(output_name, unique_chains, base_model,
      File "C:\Users\ryohei.yamaguchi\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 2599, in sna_setup_node_tree_272D6
        create_starting_node_tree(collection_of_properties=col_properties,
      File "C:\Users\ryohei.yamaguchi\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 2523, in create_starting_node_tree
        node_input = node_mod.node_group.nodes['Group Input']
    KeyError: 'bpy_prop_collection[key]: key "Group Input" not found'
    
    location: <unknown location>:-1
    
    opened by porunga00 5
  • Windows Install

    Windows Install

    Excited to see this! Blender wouldn't let me enable the plugin saying it crashed on line 23 of __init__.py file (see source below). I was able to just install atomium by copy/paste the install script in repo though. This was on Blender 3.0.0

    bl_info = {
        "name" : "Molecular Nodes",
        "author" : "Brady Johnston", 
        "description" : "A plugin and nodes for working with molecular data in Blender.",
        "blender" : (3, 0, 0),
        "version" : (0, 3, 2),
        "location" : "Perth, Australia",
        "waring" : "",
        "doc_url": "", 
        "tracker_url": "https://github.com/BradyAJohnston/MolecularNodes/issues", 
        "category" : "Molecular" 
    }
    
    import bpy
    import bpy.utils.previews
    
    import subprocess
    import os
    import bpy
    import bpy
    import os
    import bpy
    import atomium # error here
    
    opened by whitead 5
  • Incorrect assignment of elements

    Incorrect assignment of elements

    I have a little hydrogen peroxide pdb file that looks like this:

    ATOM      1  O   PER     0       0.038  -0.113  -0.046  0.00  0.00           O  
    ATOM      2  H   PER     0       0.132  -0.803  -0.752  0.00  0.00           H  
    ATOM      3  O   PER     0      -1.074  -0.427   0.586  0.00  0.00           O  
    ATOM      4  H   PER     0      -0.777  -0.749   1.475  0.00  0.00           H  
    END
    

    When I load it with MolecularNodes it seems to become three oxygens and one hydrogen. I notice that the auxllary object ohoh_properties_1 only has three vertices, where I would have expected four. The x-values of the vertices are 8.0, 1.0, and 8.0, which I assume are the atomic numbers. Nothing seems to tell Blender that the last atom is a hydrogen. I spotted a potential too short range in create_properties_model, in which case one should remove '-1' from the following: locations=list(map(lambda x: [get_value(prop_x, x), get_value(prop_y, x), get_value(prop_z, x)], range(len(first_model.atoms()) - 1))))

    bug 
    opened by ErikMarklund 4
  • Mol style ribbon cannot be loaded

    Mol style ribbon cannot be loaded

    Hi all, I am getting the following error, when trying to add the Ribbon style node, under Styling-Style ribbon. (The same thing happens when trying to add any of the nodes from the Molecular Nodes package). Thanks!

    Python: Traceback (most recent call last): File "C:\Users\sarah\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes_init_.py", line 2501, in invoke return self.execute(context) File "C:\Users\sarah\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes_init_.py", line 2495, in execute bpy.context.active_node.node_tree = bpy.data.node_groups[ AttributeError: 'FunctionNodeRandomValue' object has no attribute 'node_tree'

    location: :-1

    opened by sjpiper 3
  • "not alpha carbon" doesn't select non-alpha carbon

    Hey :)

    It seems that "not alpha carbon" doesn't select non-alpha carbon on my example (here I remove all non-alpha carbon):

    https://user-images.githubusercontent.com/8037224/169951938-d6b82adb-70d3-4475-a377-317a18b490fa.mp4

    opened by tubiana 3
  • MacOS: Wrong directory of installation of atomium ?

    MacOS: Wrong directory of installation of atomium ?

    Hi Brady :-)

    Thank again for this wonderfull addon =D I was trying to set it up on my MacBook Pro, and It didn't work because blender didn't find atomium (despite the installation ended up well). After some investigation I saw that all tools were install in my Home directory ~/.local/lib/python3.10/site-packages instead of the blender directory (/Applications/Blender.app/Contents/Resources/3.1/python/lib/python3.10/site-packages)

    Quick and dirty fix : mv ~/.local/lib/python3.10/site-packages/* Applications/Blender.app/Contents/Resources/3.1/python/lib/python3.10/site-packages/

    Now it works, but I just wanted to reported it if anyone have the same issue at some point :-)

    opened by tubiana 3
  • import_protein_local does not import frames

    import_protein_local does not import frames

    I was trying to debug why my generated PDB files were not working and I think I tracked it down to the import_protein_local function.

    If I try enter PDB code and download, all is good.

    But if I manually download, enter the location of pdb file, I get this error: image

    The frames are not imported.

    Here is the pdb file I tried: https://files.rcsb.org/view/7QIL.pdb

    bug 
    opened by sokrypton 3
  • Selection > AA Name doesn't insert new node

    Selection > AA Name doesn't insert new node

    And last one of today's batch 😅

    when I tried to insert a node "selection > AA Name", nothing happens and no new nodes are inserted...

    Cheers! Thibault.

    opened by tubiana 2
  • test_chain_selection return python error

    test_chain_selection return python error

    Hi again :)

    I wanted to try the "test_chain_selection" node but it return a python error when an MD is loaded (I haven't tried yet with a static PDB)

    Python: Traceback (most recent call last):
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 604, in invoke
        return self.execute(context)
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 417, in execute
        bpy.ops.wm.append(
      File "C:\Program Files\Blender Foundation\Blender 3.1\3.1\scripts\modules\bpy\ops.py", line 132, in __call__
        ret = _op_call(self.idname_py(), None, kw)
    RuntimeError: Error: 'C:\Users\BradyJohnston\Documents\GitHub\MolecularNodes\molecular_nodes_append_file.blend\NodeTree\MOL_utils_bool_chain': not a library
    
    
    location: <unknown location>:-1
    

    Cheers! Thibault.

    bug 
    opened by tubiana 2
  • MDAnalysis unavailable error

    MDAnalysis unavailable error

    I keep getting "Error: MDAnalysis Unavaiable" despite having MDanalysis installed. I just followed the instructions, and installed:

    • Blender 3.1.2 (ok)
    • Molecular Nodes 0.5.19 (ok),
    • Atomium (ok),
    • python3 -m pip install MDAnalysis (ok)

    However, I keep getting the error "MDAnalysis Unavaiable" (I obtain the path from import MDAnalysis as mda; mda.__path__)

    bug 
    opened by soviete 25
  • PDB without 4-character code

    PDB without 4-character code

    I'm trying to load a PDB from a MD simulation from a folder. It has no 4-character code and all the times i tried to, it failed.

    Is there a way to load a "custom" pdb or only from PDBDatabank?

    image

    Thank you!

    enhancement 
    opened by Alexsg14 12
  • No way to distinguish waters in the structure.

    No way to distinguish waters in the structure.

    Currently there is no way to select, delete or distinguish water molecules in the structures that are imported.

    Having a is_water property would fix this issue.

    enhancement 
    opened by BradyAJohnston 1
  • How can I debug Molecular Nodes? (Cannot load some PDBs and mmCIFs)

    How can I debug Molecular Nodes? (Cannot load some PDBs and mmCIFs)

    Hi Brady,

    I have a local PDB file, attached as CTD.zip. It is self-generated so that it has nothing else but only the atom position information. It can be opened in PyMol or ChimeraX. But when I load it via Molecular Nodes, it tells the following error.

    Python: Traceback (most recent call last):
      File "C:\Users\luod\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1491, in execute
        sna_func_import_structure_EE5B6(
      File "C:\Users\luod\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 907, in sna_func_import_structure_EE5B6
        n_atoms = len(first_model.atoms())
    AttributeError: 'File' object has no attribute 'atoms'
    
    location: <unknown location>:-1
    

    My ultimate goal is to convert this CTD.pdb into mmCIF (with more than one instance of the protein in mmCIF, and hence with transformation info) and then combine multiple proteins' mmCIFs into one big mmCIF. The final mmCIF will have more than 99,999 atoms for sure. So I can only rely on mmCIF format. I tried several tools (mmcif.pdbj.org converter, export from PyMol/ChimeraX, gemmi, pdb-tools). None of them give me a successful loading. The mmcif.pdbj.org converter does seem promising in my case, as the converted file (CTD.pdb.zip) gives the same error as above. And I also noticed that if I convert in this way for 1bna, the converted mmCIF can indeed be loaded via Molecular Nodes. However, I do want to rely on a command-line tool to finish the format conversion as I have a handful of PDBs to be converted.

    My guess is there is some metadata that is required to be in the PDB/mmCIF either from the Molecular Nodes side or from the Atomium side. But this info might not actually be that necessary.

    Anyways, it would be great and be appreciated if you can help with the debugging. But I would also like to set up a debugging/dev environment. This is the first time I use both Blender and its python addons. But I have some experience using PyCharm/VS/VS code. Could you please guide me shortly on how to set up the dev env? Thanks.

    bug 
    opened by RodenLuo 2
  • Blender 3.2 Compatibility

    Blender 3.2 Compatibility

    Runninng list of compatibility issues with the new Blender 3.2 beta release and upgrades of nodes and interface required for a 1.0 release with Blender 3.2.

    Will be targeting a 1.0 release of Molecular Nodes to coincide with Blender 3.2 release, which will bring named attributes to GN and make the Molecular Nodes nodes much cleaner and easier to work with.

    Import

    • [x] Create panel for MD trajectory import

    • [ ] Improve Bond Calculations on Import

      • [x] LImit to within chains
        • [x] Exceptions for disulphide bonds
      • [ ] Confirm radii for usage in algorithm
      • [ ] Attempt to speed up with numpy
    • [x] upgrade Find Bonds node to take into account chains

    • [x] Add automatic setup of animat frames nodes for multi-state PDB files

    MDAnalysis Compatability

    • [x] Confirm import of all properties
    • [ ] Add per-frame b-factor import
    • [x] Enable detection of MDAnalaysis by Blender python installation
      • [x] Improve detection of MDAnalysis once installed
    • [x] Enable automatic setuyp of animate frames nodes for MD trajectory files
    • [x] re-order properties to align between MDA and atomium import strategies

    Interface

    • [x] Addition of geometry node modifier doesn't auto-create and assign a new node tree, so setup of default nodes fails.
    • [x] Add tooltips to all interface items.

    Nodes

    • [x] Upgrade Find Bonds node to take into account atomic radius element
    • [x] Upgrade colour node to use attributes
    • [x] Upgrade selection nodes to use attributes
    • [x] Upgrade EEVEE atoms node to utilise instancing and materials attributes
    • [x] Add invert button for object effect
    • [x] Fix the animate_frames node to not be relative to original position, breaks when atoms teleport to the other side of the simulation box
    • [ ] Add per-chain custom colour node
    • [ ] Update custom chain selection node to use named attributes

    Documentation

    • [x] Documentation for Atomium Install
    • [x] Documentation for MDAnalsysi install and linking
    • [x] Documetation for PDB Download
    • [x] Documentation for opening local file
    • [x] Documentation for MD Trajectory import
    • [ ] Nodes Documentation
      • [ ] Atomic Properties Documentation
      • [ ] Animate Frames Documentation
      • [ ] Styling nodes documentation
    bug enhancement 
    opened by BradyAJohnston 0
  • Atomium and big pdb file?

    Atomium and big pdb file?

    Hello Brady :)

    Long time ago I made a video on VMD of my Norovirus Capsid, and I thought that it could be a good test for your tool (Since I have 600K+ atom in the PDB). Here it is (just 1 state) morph_state001-capsid.zip

    The problem is that only one part seems to be read since the numbering stop at 99999 (cf. Screenshot 1). I tried different format (convertion with Pymol to mmtf, mmcif, cif, pdb.gz, cif.gz) and it fails for other format (But here the problem seems to come from the atomium library for reading mmtf or mmcif when the output comme from Pymol maybe ?)

    For this issue maybe the problem come from the atomium library itself ? But I wanted to repport it since with this new render system it seems possible to load very big systems, and unfortunatly the "assembly" coming from the PDB is splitted into different models (so your addon think it's a trajectory)

    Anyway, here's some extra information ⤵️ and thank you again for this already great piece of work =D Thibault.

    Screenshot 1: image

    traceback for loading when it's mmtf

    Python: Traceback (most recent call last):
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 80, in execute
        sna_func_import_structure_EE5B6(bpy.context.scene.sna_pdb_code,
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1137, in sna_func_import_structure_EE5B6
        pdb = atomium.open(pdb_path)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\utilities.py", line 41, in open
        return parse_string(filestring, path, *args, **kwargs)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\utilities.py", line 122, in parse_string
        parsed = file_func(filestring)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\mmtf.py", line 18, in mmtf_bytes_to_mmtf_dict
        return decode_dict(raw)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\mmtf.py", line 40, in decode_dict
        new_value = [decode_dict(x) for x in new_value]
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\mmtf.py", line 40, in <listcomp>
        new_value = [decode_dict(x) for x in new_value]
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\mmtf.py", line 37, in decode_dict
        new_value = parse_binary_field(new_value)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\mmtf.py", line 56, in parse_binary_field
        codec, length, params = struct.unpack(">iii", b[:12])
    struct.error: unpack requires a buffer of 12 bytes
    
    location: <unknown location>:-1
    

    Traceback for loading when it's mmcif

    Python: Traceback (most recent call last):
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 506, in add_atom_to_non_polymer
        ] = atom_line_to_dict(line, aniso_dict)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 530, in atom_line_to_dict
        a["x"] = float(line[30:38].strip())
    ValueError: could not convert string to float: '9 ? -57.'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 80, in execute
        sna_func_import_structure_EE5B6(bpy.context.scene.sna_pdb_code,
      File "C:\Users\tubia\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\molecular_nodes\__init__.py", line 1137, in sna_func_import_structure_EE5B6
        pdb = atomium.open(pdb_path)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\utilities.py", line 41, in open
        return parse_string(filestring, path, *args, **kwargs)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\utilities.py", line 124, in parse_string
        parsed = data_func(parsed)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 86, in pdb_dict_to_data_dict
        update_models_list(pdb_dict, data_dict)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 158, in update_models_list
        add_atom_to_non_polymer(line, model, res_id, aniso, full_names)
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 512, in add_atom_to_non_polymer
        "atoms": {int(line[6:11]): atom_line_to_dict(line, aniso_dict)}
      File "C:\Users\tubia\AppData\Roaming\Python\Python310\site-packages\atomium\pdb.py", line 530, in atom_line_to_dict
        a["x"] = float(line[30:38].strip())
    ValueError: could not convert string to float: '9 ? -57.'
    
    location: <unknown location>:-1
    
    enhancement 
    opened by tubiana 9
Releases(v0.5.21)
  • v0.5.21(May 26, 2022)

    Multiple Bug Fixes:

    • Fixed custom chain selection node being added #27
    • Fixed AA name selection node being added #28
    • Fixed alpha carbon selection as part of atomic properties
    • Fixed problem where last atom of properties were being omitted, leading to incorrect element assignment to the last atom in the model #25

    Update:

    • Fixes broken UI not building. Bump version to 0.5.22

    Update:

    • fixes broken adding of nodes. Bump version to 0.5.23
    Source code(tar.gz)
    Source code(zip)
    molecular_nodes_0.5.23.zip(534.09 KB)
  • v0.5.15(May 23, 2022)

    EDIT: Quick fix added to solve the creation of node trees on MD import. Bumped version number to 0.5.16 EDIT2: additional quick fix to solve appending of nodes on import. Bumped version number to 0.5.17 EDIT3: additional quick change: changed default link for animate note from animate to animate mapped. Bumped version number to 0.5.18 EDIT4: quick fix: fixed import breaking when MD import did not detect any chains from topology. Bumped to v 0.5.19 EDIT5: quick fix: added node for interpolating between mismatched frames & fixed multi-append to single .blender file. Bumped to 0.5.20

    Additional release for Blender 3.1.2 to enable the beta-testing of additional features for importing MD trajectories like .dcd and .xtc files via the MDAnalysis package.

    • Addresses some issues raised in #13 preparing for a Blender 3.2 release, much work still needs to be done.

    New Features

    • Rework of the Molecular Nodes panel, added clearer categories for type of file import.
    • Moved panel to the Scene Properties tab, with optional panel in the 3D viewport enabled via the add-on preferences.
    • Import of topology and trajectory files from MD programs such as GROMACS etc, enabled via MDAnalysis package.
    • Launch of the documentation website to present more in-depth documentation than is possible with a GitHub README.
    • Added node to interpolate between multiple frames that have mismatching number of points. Currently atomic properties are not interpolated between frames except for b-factor.

    What's Changed

    • Mda import by @BradyAJohnston in https://github.com/BradyAJohnston/MolecularNodes/pull/23

    New Contributors

    • @BradyAJohnston made their first contribution in https://github.com/BradyAJohnston/MolecularNodes/pull/23

    Full Changelog: https://github.com/BradyAJohnston/MolecularNodes/compare/v0.4.1...v0.5.15

    Source code(tar.gz)
    Source code(zip)
    molecular_nodes_0.5.20.zip(717.56 KB)
  • v0.4.1(May 12, 2022)

    DOI

    Improvements:

    • No longer prompts to confirm when downloading or opening a structure file #18
    • Makes b_factors available per-frame, from the Animate Frames node #6, b_factors are also interpolated between frames when that option is selected.
    • New styling node for Ribbon representation, based on the alpha carbons.

    Bug Fixes

    • Fixes problemwith not-defined atom-types, causing the failure of all attributes to be imported #15
    • output_name for the object custom property previously failed to be assigned properly when opening a local file #17

    Future Releases

    This will likely be the last release targeting Blender 3.1.2, pending major bugs that arise, development will now focus on updating and improving the nodes to work with the Named Attributes that are coming in Blender 3.2 which will greatly improve the workflow and node trees. These future versions however will not be backwards compatible with previous versions of Blender or Molecular Nodes.

    Source code(tar.gz)
    Source code(zip)
    molecular_nodes_0.4.1.zip(513.54 KB)
  • 0.4(May 2, 2022)

    Import and setup are now much faster, with everything required for you to be able to see the atoms automatically set up on import, speeding up the workflow of importing multiple molecules.

    Cleanup of multiple node names and socket names, with some additional new features:

    New Features:

    • Auto-setup of GN node tree and shader node tree upon molecule import, should now be able to render molecules after 1 click.
    • Added a node for the selection of chains by their name, which is unique to each molecule.
    • Added ability to generate bonds on import (can be slow for large structures)
    • Added ability to build biological assembly on import.

    Bug Fixes:

    • Resolved errors with atomium installation and import that was reported on multiple systems (#4)
    • Fixed the is_alpha_carbon and not_alpha_carbon selections to not include other backbone carbons (#11)
    • Fixed Scale Radii node to properly scale the selected radii of the atoms
    • Fixed error in 0.3.8 release that was incorrectly assigning atomic properties to the atoms
    Source code(tar.gz)
    Source code(zip)
    molecular_nodes_0.4.0.zip(485.59 KB)
  • beta(Apr 26, 2022)

Owner
Brady Johnston
Biochemist and structural biologist interested in compelling visualisations of complex biological data.
Brady Johnston
[peer review] An Arbitrary Scale Super-Resolution Approach for 3D MR Images using Implicit Neural Representation

ArSSR This repository is the pytorch implementation of our manuscript "An Arbitrary Scale Super-Resolution Approach for 3-Dimensional Magnetic Resonan

Qing Wu 8 Jan 18, 2022
style mixing for animation face

An implementation of StyleGAN on Animation dataset. Install git clone https://github.com/MorvanZhou/anime-StyleGAN cd anime-StyleGAN pip install -r re

Morvan 43 Nov 07, 2021
Instance-level Image Retrieval using Reranking Transformers

Instance-level Image Retrieval using Reranking Transformers Fuwen Tan, Jiangbo Yuan, Vicente Ordonez, ICCV 2021. Abstract Instance-level image retriev

UVA Computer Vision 47 Jan 10, 2022
PyTorch EO aims to make Deep Learning for Earth Observation data easy and accessible to real-world cases and research alike.

Pytorch EO Deep Learning for Earth Observation applications and research. 🚧 This project is in early development, so bugs and breaking changes are ex

earthpulse 21 Jan 23, 2022
Tools for computational pathology

A toolkit for computational pathology and machine learning. View documentation Please cite our paper Installation There are several ways to install Pa

141 Feb 04, 2022
Orthogonal Over-Parameterized Training

The inductive bias of a neural network is largely determined by the architecture and the training algorithm. To achieve good generalization, how to effectively train a neural network is of great impo

Weiyang Liu 9 Dec 02, 2021
High-Resolution Image Synthesis with Latent Diffusion Models

Latent Diffusion Models arXiv | BibTeX High-Resolution Image Synthesis with Latent Diffusion Models Robin Rombach*, Andreas Blattmann*, Dominik Lorenz

CompVis Heidelberg 420 Feb 03, 2022
The official implementation of CSG-Stump: A Learning Friendly CSG-Like Representation for Interpretable Shape Parsing

CSGStumpNet The official implementation of CSG-Stump: A Learning Friendly CSG-Like Representation for Interpretable Shape Parsing Paper | Project page

Daxuan 27 Dec 25, 2021
Official code for the ICCV 2021 paper "DECA: Deep viewpoint-Equivariant human pose estimation using Capsule Autoencoders"

DECA Official code for the ICCV 2021 paper "DECA: Deep viewpoint-Equivariant human pose estimation using Capsule Autoencoders". All the code is writte

15 Dec 02, 2021
Tesla Light Show xLights Guide With python

Tesla Light Show xLights Guide Welcome to the Tesla Light Show xLights guide! You can create and run your own light shows on Tesla vehicles. Running a

Tesla, Inc. 2.1k Feb 03, 2022
The Video-based Accident Detection System built in Python

Accident-detection-system About the Project This Repository contains the Video-based Accident Detection System built in Python. Contributors Yukta Gop

SURYAVANSHI SNEHAL BALKRISHNA 25 Feb 02, 2022
Official Implementation of "Tracking Grow-Finish Pigs Across Large Pens Using Multiple Cameras"

Multi Camera Pig Tracking Official Implementation of Tracking Grow-Finish Pigs Across Large Pens Using Multiple Cameras CVPR2021 CV4Animals Workshop P

21 Feb 14, 2022
Training Confidence-Calibrated Classifier for Detecting Out-of-Distribution Samples / ICLR 2018

Training Confidence-Calibrated Classifier for Detecting Out-of-Distribution Samples This project is for the paper "Training Confidence-Calibrated Clas

161 Jan 24, 2022
A facial recognition doorbell system using a Raspberry Pi

Facial Recognition Doorbell This project expands on the person-detecting doorbell system to allow it to identify faces, and announce names accordingly

rydercalmdown 20 Jan 01, 2022
Instance-wise Feature Importance in Time (FIT)

Instance-wise Feature Importance in Time (FIT) FIT is a framework for explaining time series perdiction models, by assigning feature importance to eve

Sana 33 Jan 15, 2022
Official Implementation of SimIPU: Simple 2D Image and 3D Point Cloud Unsupervised Pre-Training for Spatial-Aware Visual Representations

Official Implementation of SimIPU SimIPU: Simple 2D Image and 3D Point Cloud Unsupervised Pre-Training for Spatial-Aware Visual Representations Since

Zhyever 16 Jan 12, 2022
Implementation of SSMF: Shifting Seasonal Matrix Factorization

SSMF Implementation of SSMF: Shifting Seasonal Matrix Factorization, Koki Kawabata, Siddharth Bhatia, Rui Liu, Mohit Wadhwa, Bryan Hooi. NeurIPS, 2021

Koki Kawabata 8 Nov 15, 2021
Official PyTorch implementation of MX-Font (Multiple Heads are Better than One: Few-shot Font Generation with Multiple Localized Experts)

Introduction Pytorch implementation of Multiple Heads are Better than One: Few-shot Font Generation with Multiple Localized Expert. | paper Song Park1

Clova AI Research 75 Jan 19, 2022
なりすまし検出(anti-spoof-mn3)のWebカメラ向けデモ

FaceDetection-Anti-Spoof-Demo なりすまし検出(anti-spoof-mn3)のWebカメラ向けデモです。 モデルはPINTO_model_zoo/191_anti-spoof-mn3からONNX形式のモデルを使用しています。 Requirement mediapipe

KazuhitoTakahashi 5 Dec 29, 2021
Code of our paper "Contrastive Object-level Pre-training with Spatial Noise Curriculum Learning"

CCOP Code of our paper Contrastive Object-level Pre-training with Spatial Noise Curriculum Learning Requirement Install OpenSelfSup Install Detectron2

Chenhongyi Yang 16 Jan 20, 2022