Bramble
Bramble: adaptive common neighbor analysis (CNA) for the recognition of surface topologies in nanoparticles - Published in JOSS (2023)
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
Repository
Common Neighbor Analysis Tool
Basic Info
- Host: GitHub
- Owner: ifilot
- License: gpl-3.0
- Language: GLSL
- Default Branch: master
- Homepage: https://ifilot.github.io/bramble/
- Size: 7.98 MB
Statistics
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 7
Topics
Metadata Files
README.md
Bramble
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.

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.

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
- Website: http://www.ivofilot.nl
- Repositories: 16
- Profile: https://github.com/ifilot
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
Authors
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
Inorganic Materials and Catalysis, Department of Chemical Engineering and Chemistry, Eindhoven University of Technology, Eindhoven, The Netherlands
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
Top Committers
| Name | 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
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3 composite
- 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
- actions/checkout v3 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- 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