Make pseudo AFM images from a structure file.
All the configurations are written in .toml
file.
No command-line option is available.
$ afmize example.toml
See also: example/actin/README.md
It uses toml format as a config file format. For more information about the format, see the spec of toml-v1.0.0.
file.input = "example.pdb"
file.output.basename = "output"
file.output.formats = ["tsv", "json", "ppm", "svg"]
probe.size = {radius = "1.0nm", angle = 10.0}
resolution.x = "1.0nm"
resolution.y = "1.0nm"
resolution.z = "0.64angstrom"
range.x = ["0.0nm", "100.0nm"]
range.y = ["0.0nm", "100.0nm"]
scale_bar.length = "5.0nm"
noise = "0.3nm"
Length unit is angstrom by default.
You can explicitly specify "nm"
, "pm"
, and "angstrom"
.
file
tablefile.input
: String
.pdb
or .xyz
are available.file.output.basename
: String
file.output.formats
: Array of Strings
["csv", "json", "ppm", "svg"]
.method
method
: String, "rigid"
or "smooth"
.
"rigid"
."rigid"
is a collision-detection based method."smooth"
is a method introduced in the paper
probe
tableIn the "rigid"
method, the AFM cantilever tip will be modeled as a hemisphere on top of truncated cone.
If you specify "smooth"
method, the value will be ignored.
probe.size.radius
: String or Floating
probe.size.angle
: Floating
resolution
tableresolution.x
: String or Floating
resolution.y
: String or Floating
resolution.z
: String or Floating
range
tablerange.x
: Array of Strings or Floatings
range.y
: Array of Strings or Floatings
stage
tablestage.position
: String or Floating
0
.stage.align
: Boolean
true
, the position in Z axis of the structure will be aligned to 0
.true
.radii
tableYou can change the atom radius in this table.
By defualt, only a few number of atoms are supported.
If you got some error like unknown atom
, specify its radius in this table.
radii.atom.[name-of-atom]
: String or Floating
[name-of-atom]
by your atom name.[name-of-atom]
will have the radius you specified here.radii.residue.[name-of-residue]
: String or Floating
[name-of-residue]
by your residue name.[name-of-residue]
will have the same radius you specified here.scale_bar
tableScale bar option is only available with .svg
output format.
If you specify other format, the value will be ignored.
length
: String or Floating
sigma
and gamma
Parameters sigma
and gamma
that are used in the "smooth"
method.
If you specify "rigid"
method, the value will be ignored.
sigma
: String or Floating
sigma
in the formula described in the paper.gamma
: String or Floating
gamma
in the formula described in the paper.First, clone this repository via git
. Do not download auto-generated zip or tar
file that does not include submodule information.
Use your favorite package managers (e.g. apt
) to install them.
All other dependencies are managed by CMake script and git submodule.
$ git clone https://github.com/ToruNiina/afmize.git
$ cd afmize
$ git submodule update --init
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make test # optional
After this, you will find the executable at bin/
directory.
Please cite the following.
If you have any question, please feel free to make an issue to this repository.
Issues are public. Everyone can share information about problems and save time.
If you want to share a sensitive data with the repository owner to solve the problem, you can e-mail to me.
This product is licensed under the terms of the MIT License.
All rights reserved.