#tile #assembly #model #interface #events #xgrow

bin+lib rgrow

A modular Tile Assembly Model simulator, inspired by Xgrow

8 releases (breaking)

0.18.0 Sep 4, 2024
0.17.0 Jul 14, 2024
0.15.0 Jun 27, 2024
0.14.1 Jun 14, 2024
0.6.0 Oct 25, 2022

#71 in Simulation

BSD-3-Clause

510KB
12K 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

~49–87MB
~1.5M SLoC