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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded PyPymanylinux: glibc 2.17+ ARM64

fbtk-0.9.4-cp38-abi3-win_amd64.whl (893.8 kB view details)

Uploaded CPython 3.8+Windows x86-64

fbtk-0.9.4-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.4-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.4-cp38-abi3-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

fbtk-0.9.4-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.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fbtk-0.9.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d14dfb94b5e675273c6eb92fb82abf41f6d216953558a5989f862fa07d1bf1ba
MD5 511487de660e5a1fe3bd90bd48730424
BLAKE2b-256 aefa793f50a09b9719e7f228fe515dda5d5c0c718b3dd2fefb5628d28e1c9538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fbtk-0.9.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3905b920ef6a368d821d3065ae785628fb9f91e356d90151406e8e36169c6095
MD5 f92c9bb3075bf6f4d9d1118e009ea3a2
BLAKE2b-256 1b6b8e07ec6e6859c30038e8d6ec854fb4ff6e608174cd4e1c32c5e481aba61f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fbtk-0.9.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0b0b4f05d444dfac23a568cd0c27edff8060d6bf36522e1b2635d49bedf66298
MD5 476c065bf13b71b8e269628a41b96e09
BLAKE2b-256 aba8fd254c3166a1c44ea554d39db550627e41f11ee8505887634514e026f6a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fbtk-0.9.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33d51123a6b0ebfbeb886ecba389a5046c7fb1d6b0919edcd51e020faf1a20c4
MD5 71877b280ece8b5133bc355409b08354
BLAKE2b-256 89ed2521cba661e2b3a1b072b6baef495e0ec221f1309a203a9bbf63d613446c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fbtk-0.9.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 10d1cf3959eb9d2b260a33f46ef1d4d595e4f15db7ea9ffe56a4a591f47cdec4
MD5 fd4e141cd5992e7bca53a5c1800ebb9d
BLAKE2b-256 d5aa817630dfa84dcb0cd232c245239cbd76de4d15627adfb713e720ba312692

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fbtk-0.9.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b0c5e3b3fdd331a9948e43cc2de418d76c95d085b65031ef771eb87a5ded46f
MD5 86afa434cca5014a4f83a908925f9138
BLAKE2b-256 b04213cfbc282d3b652d861a63c665bd1a0a8d74c22fe0e3d8cc93133200030c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fbtk-0.9.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aca6cd308d4cf0ed29bdb6100a658f4571f3bd4a1e15690383227605467f37c4
MD5 60fc65572c93719c83a77ab6224cd9ec
BLAKE2b-256 5d457aadc4b3417314cadc04db9b1b1e8f5010c1ff06b89af4e454bed45c48ea

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