{"id":15140785,"url":"https://github.com/mcellteam/cellblender","last_synced_at":"2025-04-07T06:12:58.062Z","repository":{"id":28801147,"uuid":"32324146","full_name":"mcellteam/cellblender","owner":"mcellteam","description":"Create, Simulate, Visualize, and Analyze Realistic 3D Cell Models","archived":false,"fork":false,"pushed_at":"2025-03-12T18:10:26.000Z","size":31793,"stargazers_count":64,"open_issues_count":37,"forks_count":13,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-31T05:06:21.271Z","etag":null,"topics":["blender","mcell","molecule"],"latest_commit_sha":null,"homepage":"http://mcell.org/tutorials/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcellteam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-16T12:44:26.000Z","updated_at":"2025-03-14T15:05:46.000Z","dependencies_parsed_at":"2022-08-24T15:10:27.317Z","dependency_job_id":"65b1f590-d314-4568-a2ac-a825f1b1cde2","html_url":"https://github.com/mcellteam/cellblender","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcellteam%2Fcellblender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcellteam%2Fcellblender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcellteam%2Fcellblender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcellteam%2Fcellblender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcellteam","download_url":"https://codeload.github.com/mcellteam/cellblender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601449,"owners_count":20964864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blender","mcell","molecule"],"created_at":"2024-09-26T08:41:20.081Z","updated_at":"2025-04-07T06:12:58.041Z","avatar_url":"https://github.com/mcellteam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"CellBlender 1.2\n===============================================================================\n\nIntroduction:\n-------------------------------------------------------------------------------\n\nCellBlender development is supported by the NIGMS-funded (P41GM103712) National\nCenter for Multiscale Modeling of Biological Systems (MMBioS).\n\nCellBlender 1.2 is an addon for Blender (2.7x) to create computational cell\nbiology models for use in MCell and potentially other cell simulation\nbiophysics engines. With CellBlender, you can define molecules and reactions,\ncreate geometric objects, define named surface regions on the objects, assign\nproperties to those regions, run an MCell simulation based off of the\nCellBlender project, create plots of said simulation, visualize an animation of\nthe molecule trajectories, and render the results.\n\nOne goal for CellBlender is to provide a comprehensive model building and\nvisualization environment which completely encapsulates all of MCell's MDL\nlanguage in GUI form such that the user need not ever edit an MDL file by hand\n(or even know that such files exist).\n\nInstalling CellBlender Addon:\n-------------------------------------------------------------------------------\n\nNote that you will not be getting the full value out of CellBlender with\nBlender and this repo alone, since CellBlender also depends on many other\ntools. As such, we've begun to produce what we call a *CellBlender bundle*,\nwhich includes Blender itself, the CellBlender addon, a custom verion of Python\nand necessary libraries, MCell, GAMer, and many other useful tools. To build a\nbundle, please see the\n[bundle_cellblender](https://github.com/mcellteam/bundle_cellblender) repo. If\nyou would still like to use Blender the traditional way, please continue with\nthese instructions.\n\nBlender looks for addons in one of three directories, which are referred to as\n**LOCAL**, **USER**, and **SYSTEM**. See this [Blender\ndocumentation](https://docs.blender.org/manual/en/dev/getting_started/installing/configuration/directories.html)\nfor more information. To install in the **LOCAL** addons directory, you would\nnavigate to whatever directory you extracted or installed Blender. Inside of\nthat main Blender directory, you should find the following file path:\n\n`./2.79/scripts/addons`\n\nSimply place CellBlender in this addons directory, such that the full path is:\n\n`\u003cBlender Directory\u003e./2.79/script/addons/cellblender`\n\nActivating CellBlender Addon in Blender:\n-------------------------------------------------------------------------------\n\nIn the **Addons** panel scroll down till you see **Cell Modeling: CellBlender**\nand check the check box to enable it. Then click **Save as Default** to enable\nthe addon permanently in Blender for any future projects you make.\n\nUsing CellBlender:\n-------------------------------------------------------------------------------\n\nFor detailed instructions with images, please see http://mcell.org/tutorials/.\nIf you have any questions about CellBlender, feel free to ask us at\nhttp://mmbios.org/index.php/mcell-cellblender-forum/.\n\nAdditional notes:\n-------------------------------------------------------------------------------\n\nIf you are hand-editing MDLs, note that **CELLBLENDER** mode **VIZ_OUTPUT**\nwill output molecules but will not output meshes. We assume that your meshes\nare already present in your CellBlender/Blender project. The philosophy here is\nthat the CellBlender/Blender project IS your MCell project and that the MCell\ncompute kernel is a physics engine driving the dynamics of objects created and\nvisualized in Blender.\n\nDepending on your graphics hardware beware, of exporting more than 10000\nmolecules or so, if you want good performance (\u003e10 frames per second) in\nCellBlender playback. But if your goal is to render a movie you should be able\nto export and render many 100s of thousands of molecules per frame with\nCellBlender. \n\n\nParameter Sweeping:\n-------------------------------------------------------------------------------\n\nSome newer versions of **CELLBLENDER** support parameter sweeping via controls\nin the \"Parameters\" panel. This creates a subdirectory tree structure containing\nmany different MCell runs.\n\nIn order to contain the potentially large number of directories produced, these\nnewer versions of CellBlender put all generated output into the \"output_data\"\nsubdirectory below the \"mcell\" folder. Older (non-sweeping) versions did not add\nthis extra subdirectory layer. Those older versions used the following standard\ndirectory tree for a Blender file named \"**MyProject.blend**\" in **some_directory**:\n```\n.../some_directory/MyProject.blend                   (Blender file)\n.../some_directory/MyProject_files                   (Directory of related files)\n.../some_directory/MyProject_files/mcell             (MDL files for running MCell)\n.../some_directory/MyProject_files/mcell/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/viz_data    (Contains a Directory per seed)\n```\n\nThe newer format adds the **\"output_data\"** directory directly below the **\"mcell\"** folder\nas shown here:\n```\n.../some_directory/MyProject.blend                               (Blender file)\n.../some_directory/MyProject_files                               (Directory of related files)\n.../some_directory/MyProject_files/mcell                         (MCell-Specific files)\n.../some_directory/MyProject_files/mcell/output_data             (MDL files for running MCell)\n.../some_directory/MyProject_files/mcell/output_data/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/viz_data    (Contains a Directory per seed)\n```\n\nThat would be the directory layout for a run with no parameters being swept. If\nany parameters are swept, then an additional subdirectory tree is inserted below\nthe **\"output_data\"** subdirectory of that tree and above the **react_data** and **viz_data**\ndirectories. For example, if a single parameter named **\"a\"** were to be swept\nwith values of **{3.5, 3.7, and 3.8}**, then the directory structure produced by \nCellBlender would be:\n```\n.../some_directory/MyProject.blend                                         (Blender file)\n.../some_directory/MyProject_files                                         (Directory of related files)\n.../some_directory/MyProject_files/mcell                                   (MCell-Specific files)\n.../some_directory/MyProject_files/mcell/output_data                       (Files related to running MCell)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0             (MDL files for a=3.5)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1             (MDL files for a=3.7)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2             (MDL files for a=3.8)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/viz_data    (Contains a Directory per seed)\n```\n\nIf two parameters (**a** and **b**) were being swept with **a** taking values\n**{3.5, 3.7, 3.8}** and **b** taking values **{100, 200}** then the directory\nstructure would be:\n```\n.../some_directory/MyProject.blend                                                   (Blender file)\n.../some_directory/MyProject_files                                                   (Directory of related files)\n.../some_directory/MyProject_files/mcell                                             (MCell-Specific files)\n.../some_directory/MyProject_files/mcell/output_data                                 (Files related to running MCell)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0                       (Directory for a=3.5)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_0             (MDL files for a=3.5, b=100)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_0/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_0/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_1             (MDL files for a=3.5, b=200)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_1/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_0/b_index_1/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1                       (Directory for a=3.7)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_0             (MDL files for a=3.7, b=100)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_0/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_0/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_1             (MDL files for a=3.7, b=200)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_1/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_1/b_index_1/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2                       (Directory for a=3.8)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_0             (MDL files for a=3.8, b=100)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_0/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_0/viz_data    (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_1             (MDL files for a=3.8, b=200)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_1/react_data  (Contains a Directory per seed)\n.../some_directory/MyProject_files/mcell/output_data/a_index_2/b_index_1/viz_data    (Contains a Directory per seed)\n```\n\nIn addition to these output files, two additional files are produced\nduring a typical run:\n```\n.../some_directory/MyProject_files/mcell/data_model.json    (JSON CellBlender Data Model)\n.../some_directory/MyProject_files/mcell/data_layout.json   (JSON description of directory tree)\n```\n\nThe first file (**\"data_model.json\"**) contains a JSON representation of CellBlender's\nData Model. This file describes the model and also contains all of the parameter\nsweeping specifications.\n\nThe second file (**\"data_layout.json\"**) contains a JSON description of the data produced\nby the run. It can be used by CellBlender and other applications to navigate the\ndirectory structure and know the values used for each parameter in the output data\ndirectory tree. Here's the \"data_layout.json\" file for the previous example where two\nparameters (**a** and **b**) are being swept with **a** taking values **{3.5, 3.7, 3.8}**\nand **b** taking values **{100, 200}** and 3 seeds **{1, 2, 3}**:\n```\n{\n  \"version\": 0,\n  \"data_layout\": [\n    [\"/DIR\", [\"output_data\"]],\n    [\"a\", [3.5, 3.7, 3.8]],\n    [\"b\", [100, 200]],\n    [\"/FILE_TYPE\", [\"react_data\", \"viz_data\"]],\n    [\"/SEED\", [1, 2, 3]]\n  ]\n}\n```\n\nThis file facilitates automated processing of the output_data tree with the implied\nassumption that the data is \"hyper-rectangular\".\n\nThese two files (**data_model.json** and **data_layout.json**) allow a relatively\nsimple program (or script) to make use of CellBlender's parameters sweeping output\nfor a variety of purposes. At the present time, they are used by CellBlender for\nplotting and visualization. They are also being used to integrate MCell into Galaxy.\n\nNote that the **data_layout.json** specification is still under development. It may\nbe redefined so that the special keys of \"/DIR\" and \"/FILE_TYPE\" are changed to names\nor symbols that are not legal MCell parameter names. Note also that the \"/DIR\" level\nprovides flexibility to change the name \"output_data\" to some other name or eliminate\nthat directory layer altogether.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcellteam%2Fcellblender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcellteam%2Fcellblender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcellteam%2Fcellblender/lists"}