Rust DOI

CPPM generator

Overview

This is a single command-line tool that generates spherical Charged Patchy Particle Models (CPPM) which mimic bio-colloidal particles, e.g. globular proteins. The figure below shows examples of interacting CPPMs taken from https://doi.org/10.1063/1.4928077:

cppm-generator generates CPPMs by placing neutral, positive, and negative particles on the surface of a sphere, and minimise the (free) energy using Metropolis-Hastings Monte Carlo sampling.

Installing

~~~ bash $ cargo install cppm-generator ~~~

Usage

The default parameters produce an isotropic, charged particle similar to P00 from Table 1 in this publication. It is also possible to impose a target molecular dipole moment using the --dipole option.

~~~ $ cppm-generator --help

USAGE: cppm-generator [OPTIONS] --file

OPTIONS: -b, --bjerrum-length Bjerrum length (Ã…) [default: 7.0] -h, --help Print help information -m, --minus Number of negative (-1e) particles [default: 37] -N Total number of particles [default: 643] -o, --file Output structure (.xyz or .pqr) -p, --plus Number of positive (+1e) particles [default: 29] -r, --radius Sphere radius (Ã…) [default: 20.0] -s, --steps Number of Monte Carlo iterations [default: 10000] -u, --dipole Target dipole moment (Debye) -V, --version Print version information ~~~

Details and status:

Motivation

Besides some scientific use, this project is mainly a first dive into the Rust programming language.