#system #tile #rgrow

bin+lib rgrow

A modular Tile Assembly Model simulator, inspired by Xgrow

12 releases (7 breaking)

new 0.19.3 Apr 14, 2025
0.18.0 Sep 4, 2024
0.17.0 Jul 14, 2024
0.12.2 May 12, 2023
0.7.1 Nov 12, 2022

#71 in Simulation

Download history 2/week @ 2025-01-31 1/week @ 2025-02-07 367/week @ 2025-04-04 125/week @ 2025-04-11

492 downloads per month

BSD-3-Clause

585KB
14K SLoC

Introduction

rgrow (which may change name in the future) is a fast, extensible simulator for Tile Assembly Models, primarily focused on kinetic models that require fast simulations of attachment and detachment events. It is inspired by Xgrow, but seeks to be more extensible and easier and faster to use programmably. It has Rust and Python interfaces, and a command line and UI interface similar to Xgrow. It includes an implementation of forward flux sampling for nucleation rate calculations.

Python documentation is available at https://rgrow.readthedocs.io/en/latest/.

Rust documentation is available at https://docs.rs/rgrow/.

For FFS examples, see the examples/ffs folder.

Installation

Python library

Releases are pushed, in both source and a variety of binary forms, to PyPI. To install the latest release, use:

pip install rgrow

To install directly from git using Pip:

pip install "git+https://github.com/cgevans/rgrow.git#subdirectory=py-rgrow"

or check out the repository, and use

cd py-rgrow
maturin develop --release -- -C target-cpu=native

The FLTK-based UI is usable within Python if you have the correct dependencies, and activate the "ui" feature:

cd py-rgrow
maturin develop --release -F ui -- -C target-cpu=native

Rust / CLI

Note that the rust version currently requires Rust nightly. This should change soon.

cargo install rgrow

Dependencies

~0–41MB
~669K SLoC