Skip to main content

High-performance molecular simulation toolkit with Python bindings

Project description

FBTK: Forblaze Toolkit

PyPI - Version Documentation

High-performance molecular analysis and building tools powered by Rust. Designed as a "Transparent Accelerator" for Python (ASE/RDKit) workflows with a smart, object-oriented interface.

Features

  • 🚀 High Performance: Core logic written in Rust with parallel processing (Rayon).
  • 🏗️ Intelligent Builder:
    • Optimized Initial Packing: Grid-based placement with uniform density.
    • Polymer Synthesis: Automatic chain generation with leaving atom support.
    • Tacticity Control: Supports Isotactic, Syndiotactic, and Atactic arrangements via center-of-mass analysis and mirroring.
    • Built-in 3D Generation: 3D coordinate generation from SMILES handled by internal VSEPR + UFF engine.
    • Fast Structural Relaxation: O(N) Cell-list optimization with the FIRE algorithm.
  • 🔍 Advanced Analysis:
    • Parallel RDF, MSD, COM (Center of Mass), Angles, Dihedrals.
    • O(N) Neighbor List search.
  • 📏 Robust Physics: Correct handling of PBC, Triclinic cells, and Minimum Image Convention (MIC).

Installation

Python Library (Recommended)

pip install fbtk

Requirements: Python 3.8+ and NumPy.

Standalone CLI (No Python Required)

For non-Python environments, pre-compiled standalone binaries for Linux, Windows, and macOS are available on the GitHub Releases page.

  • Download the archive for your platform (e.g., fbtk-cli-v0.9.1-linux-x86_64.tar.gz).
  • Requirements: None. These are self-contained binaries.

Usage

1. System Building

Build and relax a complex molecular system with just a few lines of code.

import fbtk

# 1. Setup Builder
builder = fbtk.Builder(density=0.8)
builder.add_molecule_smiles("ethanol", count=50, smiles="CCO")

# 2. Build and Relax
system = builder.build()
system.relax(steps=500)

# 3. Export to ASE
atoms = system.to_ase()
atoms.write("system.xyz")

2. RDF Analysis

Fast analysis of large trajectories using smart selection queries.

from ase.io import read
import fbtk

# Load trajectory (ASE list of Atoms)
traj = read('simulation.lammpstrj', index=':')

# Compute RDF using a simple query string
r, g_r = fbtk.compute_rdf(traj, query="O-H", r_max=10.0)

3. Command Line Interface (CLI)

FBTK provides standalone CLI tools for batch processing.

fbtk-build: Build from Recipe

# Run building and relaxation from a YAML recipe
fbtk-build --recipe recipe.yaml --relax --output system.mol2

Example recipe.yaml:

system:
  density: 0.8
  cell_shape: [20.0, 20.0, 20.0]
components:
  - name: "ethanol"
    role: "molecule"
    input:
      smiles: "CCO"
    count: 50

fbtk-analyze: Analyze Trajectory

# Compute RDF for a LAMMPS trajectory
fbtk-analyze rdf --input traj.lammpstrj --query "type 1 with type 2"

Selection Query Syntax

FBTK supports intuitive strings to select atoms for analysis:

  • Element: "O", "H", "element C"
  • Pairs (RDF): "O-H", "C - C"
  • Index Range: "index 0:100" (start:end)
  • Residue: "resname STY"

Author

Forblaze Project
Website: https://forblaze-works.com/en/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fbtk-0.9.5.tar.gz (6.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

fbtk-0.9.5-cp38-abi3-win_arm64.whl (854.0 kB view details)

Uploaded CPython 3.8+Windows ARM64

fbtk-0.9.5-cp38-abi3-win_amd64.whl (892.7 kB view details)

Uploaded CPython 3.8+Windows x86-64

fbtk-0.9.5-cp38-abi3-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

fbtk-0.9.5-cp38-abi3-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

fbtk-0.9.5-cp38-abi3-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

fbtk-0.9.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

fbtk-0.9.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

fbtk-0.9.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

fbtk-0.9.5-cp38-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

fbtk-0.9.5-cp38-abi3-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file fbtk-0.9.5.tar.gz.

File metadata

  • Download URL: fbtk-0.9.5.tar.gz
  • Upload date:
  • Size: 6.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5.tar.gz
Algorithm Hash digest
SHA256 b9126624d28cd5cc1332952a9ef425390913e55cd31c9fcfbaa6b8b20df8e71c
MD5 f7daae28426c9ffe942e4020c0de9fc8
BLAKE2b-256 e163a9fd40788714c718c29615db1e263189ac90f891ac8901894a3f14e52053

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: PyPy, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7e3f95fbe9c55bfa2aa4c770dab96b2461a6fdcc083e692ff009e5b4997720df
MD5 992efa274751fc17257814b595a29f7e
BLAKE2b-256 4e385045b0e34132a75713d8f75687f01e73e7b91aa5157c8f1f493ecc160740

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1fac336c94e8548eb7a41849e02c11c8a8df71d6d3ca9ae442ec991e67053181
MD5 9c4271e50ec99f6eeaba840e3f086318
BLAKE2b-256 8aeba625fd9832ac092c3553b77622fd4670be26f6e0d87c1dd13dfe9016e2dd

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: PyPy, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a3999608003435cc7004bd2c1da0a1331cd8c81c1d978c3a8acd09a0fd856076
MD5 b6ad7ba2d7fb3fb5ba7a021601c5c301
BLAKE2b-256 4cdd2f8ab64ec50d48ea84f4b0d891860e046a310f173ed70e187cfae163e6a6

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8fe7f739a475f294109690fc925fcbf2081e25e6717bf9bfb993e89f4920d51d
MD5 0218b95b579f1088e78989cd538d0f6b
BLAKE2b-256 7e7c0fefaed8fc47b9159d77417bf406eee794747e7b06578cdc230881ccc1d6

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-win_arm64.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-win_arm64.whl
  • Upload date:
  • Size: 854.0 kB
  • Tags: CPython 3.8+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 2c212170d5f88474e3a13c6315ccf6f3d079b3fe87d26a2a88c824ec43f2bc51
MD5 880602e98fa0fe324ffda544ec2da799
BLAKE2b-256 e39993c569c94dad8b56317843896c40befd96cc7da88a4668f3a3a28e2dc881

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 892.7 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.2

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5f3045576554684f72482974363d1e6d685c9c515836b6fbab6efa607f5021fb
MD5 220c30b59247c26a685552d0dd698784
BLAKE2b-256 adccb901ba774336e66dff113c28b1b646fff23e782ce58bea4aa670ec753b9a

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8ba3e4d226960287d13ee2330d5918ba07959a15f3e9ab2cfa3f14566dbf8291
MD5 2206f8766ae9a5ab0a22dd8b250d9d12
BLAKE2b-256 0339a2fee637237569ea4511ba8714682022faca954085b66ecf81fc985cfff8

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cd7688c4379607aa512048ee737140d718baf1009ca201a35151d6a49a5b26ba
MD5 8c4ba9d9b6a2d6ede02c9894f6275bd0
BLAKE2b-256 05cc79c290b59f25046508aa4f5e7833eea55aeab7ea4aa1fdf3330f1c53cb45

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cdad559072ada109ccbd76b5330380f82a52f4c5e9c250454c308378f80d7279
MD5 24b06d4da6a011d9a500067c3ecc6a35
BLAKE2b-256 08075db0d6ebee9a0ef1f3b543ef04b8b0ee713ffdf6a55bdb0495722570d35b

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98f4131856f966360b0635758f98bcead86a6f076a2e8f8781b9618fd1836bff
MD5 cf2f281784b9aa35bdee3bad72dd385a
BLAKE2b-256 594cbf3ff8c9375939000be577b7978804694f409b9e577676f6bcf4993f5a09

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: fbtk-0.9.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b03114ce09f67b8da653c09bdffa3714ad9efc5416c787ce846c0224bac57135
MD5 58cb6417e6fe6fb1b2b7618707b35ddf
BLAKE2b-256 666ab3ae290a3bfedffc95a6c01aa4cb62dfc47f53b1c86ecdd041c59d0de5cc

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54da687cc3894daa44c05c8008bdd034bc92b58e734a7996384f3441ad23babd
MD5 a102b0f0c4a8b4f359e79183a049ad0d
BLAKE2b-256 ab725c1e96c6125253919082a048d882ecbffb9ac0048005a63901a010ab91ad

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33253fd1610e12bc4445a9270d5c8625264db5a4b27dfd60863131942164db00
MD5 008216bef545a9f5ad7a1122e1588ac8
BLAKE2b-256 ac0844e5517b4a4e6ebb7d1527671ff45ae032142377b2cce670bd05ef992672

See more details on using hashes here.

File details

Details for the file fbtk-0.9.5-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f1dde0f59e9352a9a4252f2a35c85d82cd909d432435a7dd7492eea528b90ee3
MD5 ffc44db0b330b09dcef0a6f616c90d75
BLAKE2b-256 1d14c0048fe22beeb4440d4ab02097278b46f2b892f63d6948bdf03ba130731c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page