Bramble

Bramble: adaptive common neighbor analysis (CNA) for the recognition of surface topologies in nanoparticles - Published in JOSS (2023)

https://github.com/ifilot/bramble

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cna common-neighbor-analysis
Last synced: 6 months ago · JSON representation

Repository

Common Neighbor Analysis Tool

Basic Info
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 7
Topics
cna common-neighbor-analysis
Created almost 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License

README.md

Bramble

GitHub tag (latest SemVer) Build codecov License: GPL v3 status DOI Docker pulls

Purpose

[!TIP] Detailed documentation can be found here.

Bramble is a single atom pattern recognition algorithm based on the Common Neighbor Analysis method. It can efficiently construct CNA fingerprints per atom and connect these fingerprints to a (customizable) pattern library to add labels to the fingerprints.

Nanoparticle

For fingerprints that are (still) unknown or for atoms that have a more amorphous chemical environment, Bramble comes bundled with a similarity analysis tool. Although relatively computationally expensive to execute, it yields a powerful similarity metric by which the extent that two chemical environments are the same can be probed.

Nanoparticle

Compilation

Ensure you have the necessary dependencies installed on your system.

bash sudo apt install -y build-essential cmake libboost-all-dev pkg-config libeigen3-dev libtclap-dev

Next, clone the repository and combile Bramble using

bash mkdir build && cd build cmake ../src make -j

To test that Bramble is working, run the test suite

bash make test

For debugging purposes, one can run

bash CTEST_OUTPUT_ON_FAILURE=TRUE make test

CUDA support

To compile bramble with CUDA support, run

bash cmake ../src -DMOD_CUDA=1 -DCUDA_ARCH=sm_89

where the value for DCUDA_ARCH should match the architecture of your graphical card. A nice overview is given here. For example, for a RTX 4090, -DCUDA_ARCH=sm_89.

Docker container

Rather than compiling Bramble yourself, you can also make direct use of the Bramble docker container. This container is built on top of the NVidia CUDA container allowing you to use the CUDA-enabled version of Bramble.

To use the Docker container, first download it from Docker Hub

bash docker pull ivofilot/bramble

Next, launch the container and link a volume on your hard drive to interact with. This folder should contain the files you wish to work with.

bash docker run --name bramble -v "D:/bramble-data":/home/bramble/data -d ivofilot/bramble:latest

This will launch the bramble image, which you check using

bash docker ps

To execute Bramble, simply log into the container and use the same kind of commands you would normally use for running Bramble.

bash docker exec -it bramble /bin/bash

Go to the /home/bramble/data folder and make sure you have copied patterns.json and pa_fcc111.txt to this folder. Since the bramble executable is available from the path, you can directly invoke it. To perform a pattern identification, run

bash cd /home/bramble/data bramble -p patterns.json -i POSCAR_Rh111 -o pa_fcc111.txt

Owner

  • Name: Ivo Filot
  • Login: ifilot
  • Kind: user
  • Location: Eindhoven, The Netherlands
  • Company: Eindhoven University of Technology

Ivo Filot is a theoretical chemist originating from the Netherlands. His research involves the elucidation of complex chemokinetic networks.

JOSS Publication

Bramble: adaptive common neighbor analysis (CNA) for the recognition of surface topologies in nanoparticles
Published
September 26, 2023
Volume 8, Issue 89, Page 5710
Authors
I.a.w. Filot ORCID
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
M.p.c. van Etten ORCID
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
D.w.j.g. Trommelen ORCID
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
E.j.m. Hensen ORCID
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
Editor
Jeff Gostick ORCID

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
  • Issue comment event: 2
  • Push event: 4
  • Pull request event: 1
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 2
  • Issue comment event: 2
  • Push event: 4
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 74
  • Total Committers: 1
  • Avg Commits per committer: 74.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ifilot i****o@i****l 74
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 24
  • Average time to close issues: about 22 hours
  • Average time to close pull requests: 4 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.04
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: about 22 hours
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • imbama (1)
Pull Request Authors
  • ifilot (28)
Top Labels
Issue Labels
question (1)
Pull Request Labels
documentation (14) enhancement (11) bug (4)

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/stats.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • actions/create-release v1 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite