{"id":32178420,"url":"https://github.com/mosdef-hub/mbuild","last_synced_at":"2025-10-21T20:55:26.971Z","repository":{"id":11368760,"uuid":"13804874","full_name":"mosdef-hub/mbuild","owner":"mosdef-hub","description":"A hierarchical, component based molecule builder","archived":false,"fork":false,"pushed_at":"2025-10-21T12:41:00.000Z","size":78450,"stargazers_count":200,"open_issues_count":60,"forks_count":80,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-10-21T20:55:17.948Z","etag":null,"topics":["mbuild","molecular-dynamics","molecular-simulation","molecule-builder","mosdef","python"],"latest_commit_sha":null,"homepage":"https://mbuild.mosdef.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mosdef-hub.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-10-23T14:24:18.000Z","updated_at":"2025-10-21T12:41:04.000Z","dependencies_parsed_at":"2024-01-22T18:06:15.535Z","dependency_job_id":"81fa055e-79c0-4657-a631-fb87f02ea917","html_url":"https://github.com/mosdef-hub/mbuild","commit_stats":{"total_commits":2076,"total_committers":60,"mean_commits":34.6,"dds":0.7167630057803468,"last_synced_commit":"022df2bbd6809a3bb84cf7002bc305d15abc39a8"},"previous_names":["imodels/mbuild"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/mosdef-hub/mbuild","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosdef-hub%2Fmbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosdef-hub%2Fmbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosdef-hub%2Fmbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosdef-hub%2Fmbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mosdef-hub","download_url":"https://codeload.github.com/mosdef-hub/mbuild/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosdef-hub%2Fmbuild/sbom","scorecard":{"id":459115,"data":{"date":"2025-08-11","repo":{"name":"github.com/mosdef-hub/mbuild","commit":"582f0191811b7709831aa227d493ba39675ea77c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 1/4 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/CI.yaml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.rst:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yaml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI.yaml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:96: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI.yaml:148: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/CI.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/codeql.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/mosdef-hub/mbuild/codeql.yml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: pipCommand not pinned by hash: Dockerfile:19-34","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/CI.yaml:117"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (28) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T10:37:13.673Z","repository_id":11368760,"created_at":"2025-08-19T10:37:13.673Z","updated_at":"2025-08-19T10:37:13.673Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280333499,"owners_count":26312845,"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","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["mbuild","molecular-dynamics","molecular-simulation","molecule-builder","mosdef","python"],"created_at":"2025-10-21T20:55:25.715Z","updated_at":"2025-10-21T20:55:26.965Z","avatar_url":"https://github.com/mosdef-hub.png","language":"Python","readme":"## mBuild: a hierarchical, component based molecule builder\n\n[![Gitter chat](https://badges.gitter.im/mosdef-hub/gitter.svg)](https://gitter.im/mosdef-hub/Lobby)\n[![CI](https://github.com/mosdef-hub/mbuild/actions/workflows/CI.yaml/badge.svg)](https://github.com/mosdef-hub/mbuild/actions/workflows/CI.yaml)\n[![Anaconda Badge](https://anaconda.org/conda-forge/mbuild/badges/version.svg)](https://anaconda.org/conda-forge/mbuild)\n[![codecov](https://codecov.io/gh/mosdef-hub/mbuild/branch/master/graph/badge.svg)](https://codecov.io/gh/mosdef-hub/mbuild)\n\nWith just a few lines of mBuild code, you can assemble reusable components into\ncomplex molecular systems for molecular dynamics simulations.\n\n* mBuild is designed to minimize or even eliminate the need to explicitly translate and\n  orient components when building systems: you simply tell it to connect two\n  pieces!\n* mBuild keeps track of the system's topology so you don't have to\n  worry about manually defining bonds when constructing chemically bonded\n  structures from smaller components.\n\nTo learn more, get started or contribute, check out our [website](http://mbuild.mosdef.org).\n\n### mBuild within the MoSDeF Ecosystem\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/mosdef_mbuild.svg?raw=true\" alt=\"mBuild within the MoSDeF Ecosystem\" width=\"500\" height=\"500\"/\u003e\n\u003c/p\u003e\n\n\nThe `mBuild` package is part of the [Molecular Simulation Design Framework (MoSDeF) project](http://mosdef.org/).\nLibraries in the MoSDeF ecosystem are designed to provide utilities neccessary to streamline\na researcher's simulation workflow. When setting up simulation studies,\nwe also recommend users to follow the [TRUE](https://www.tandfonline.com/doi/full/10.1080/00268976.2020.1742938)\n(Transparent, Reproducible, Usable-by-others, and Extensible) standard, which is a set of common\npractices meant to improve the reproducibility of computational simulation research.\n\nInstallation\n------------\nFor full, detailed instructions, refer to the [documentation for installation](https://mbuild.mosdef.org/en/stable/getting_started/installation/installation_toc.html)\n\n#### `conda` installation quickstart\n`mBuild` is available on `conda` and can be installed as:\n```bash\nconda install -c conda-forge mbuild\n```\n\n#### Installing from source\n\nDependencies of mBuild are listed in the files ``environment.yml`` (lightweight environment specification containing minimal dependencies) and ``environment-dev.yml`` (comprehensive environment specification including optional and testing packages for developers).\nThe ``mbuild`` or ``mbuild-dev`` conda environments can be created with\n\n\n```.. code-block:: bash\ngit clone https://github.com/mosdef-hub/mbuild.git\ncd mbuild\n# for mbuild conda environment\nconda env create -f environment.yml\nconda activate mbuild\n\n# for mbuild-dev\nconda env create -f environment-dev.yml\nconda activate mbuild-dev\n\n# install a non-editable version of mbuild\npip install .\n```\n\nNOTE: [openbabel](https://github.com/openbabel/openbabel) is required for some energy minimization methods in `mbuild.compound.Compound()`. It can be installed into your mBuild environment from conda-forge with `conda install -c conda-forge openbabel`; however, openbabel does not yet support python 3.13.\n\n#### Install an editable version from source\n\nOnce all dependencies have been installed and the ``conda`` environment has been created, the ``mBuild`` itself can be installed.\n\n``` code-block:: bash\ncd mbuild\nconda activate mbuild-dev # or mbuild depending on your installation\npip install -e .\n```\n#### Quick Start with Docker\nTo use `mbuild` in a jupyter-notebook that runs from a docker container with all the dependencies installed use the following command:\n\n```sh\n$ docker pull mosdef/mbuild:latest\n$ docker run -it --name mbuild -p 8888:8888 mosdef/mbuild:latest su anaconda -s\\\n      /bin/sh -l -c \"jupyter-notebook --no-browser --ip=\"0.0.0.0\" --notebook-dir\\\n      /home/anaconda/mbuild-notebooks\n```\n\nAlternatively, you can also start a Bourne shell directly:\n```sh\n$ docker run -it --name mbuild mosdef/mbuild:latest\n```\n\nTo learn more about using `mBuild` with docker, please refer to the documentation [here](https://mbuild.mosdef.org/en/latest/docker.html).\n\n### Tutorials\n\n*Interactive tutorials can be found here:*\n\n[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/mosdef-hub/mbuild_tutorials/master)\n\nComponents in dashed boxes are drawn by hand using, e.g.,\n[Avogadro](https://avogadro.cc/) or generated elsewhere. Each\ncomponent is wrapped as a simple python class with user defined attachment\nsites, or ports. That's the \"hard\" part! Now mBuild can do the rest. Each component\nfurther down the hierarchy is, again, a simple python class that describes\nwhich piece should connect to which piece.\n\nUltimately, complex structures can be created with just a line or two\nof code. Additionally, this approach seamlessly exposes tunable parameters within\nthe hierarchy so you can actually create whole families of structures simply\nby adjusting a variable:\n\n```python\nimport mbuild as mb\nfrom mbuild.examples import PMPCLayer\n\npattern = mb.Random2DPattern(20)  # A random arrangement of 20 pieces on a 2D surface.\npmpc_layer = PMPCLayer(chain_length=20, pattern=pattern, tile_x=3, tile_y=2)\n```\n\n![Zwitterionic brushes on beta-cristobalite substrate](docs/images/pmpc.png)\n### Community Recipes\nUse case-specific systems can be generated via mBuild recipes.\nSome users have graciously contributed recipes for particular systems, including:\n\n* [Graphene slit pores](https://github.com/rmatsum836/Pore-Builder)\n* [Nanodroplets on graphene](https://github.com/ftiet/droplet-builder)\n* [Coarse-grained DNA](https://github.com/zijiewu3/mbuild_ONA)\n* [Lipid bilayers](https://github.com/uppittu11/mbuild_bilayer)\n* [Surface Coatings](https://github.com/daico007/surface_coatings)\n\n### Citing mBuild\n\nIf you use this package, please cite [our paper](http://dx.doi.org/10.1007/978-981-10-1128-3_5\n). The BibTeX reference is\n```\n@article{Klein2016mBuild,\n      author = \"Klein, Christoph and Sallai, János and Jones, Trevor J. and Iacovella, Christopher R. and McCabe, Clare and Cummings, Peter T.\",\n      title = \"A Hierarchical, Component Based Approach to Screening Properties of Soft Matter\",\n      booktitle = \"Foundations of Molecular Modeling and Simulation\",\n      series = \"Molecular Modeling and Simulation: Applications and Perspectives\",\n      year = \"2016\",\n      doi = \"http://dx.doi.org/10.1007/978-981-10-1128-3_5\"\n}\n```\n\n### [![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT)\n\nVarious sub-portions of this library may be independently distributed under\ndifferent licenses. See those files for their specific terms.\n\nThis material is based upon work supported by the National Science Foundation under grants NSF CBET-1028374 and NSF ACI-1047828. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.\n","funding_links":[],"categories":["شیمی"],"sub_categories":["کار با زمان و تقویم"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosdef-hub%2Fmbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmosdef-hub%2Fmbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosdef-hub%2Fmbuild/lists"}