seams CLI¶
The engine command is seams. The parser is Argum (the same parser as
eonclient). Help, errors, ice-type counts, and --features are
colorized through Argum’s environmentColorStatus.
seams --help
seams --version
seams --features
seams read FILE
seams chill FILE
seams chill-plus FILE
seams cages FILE
A positional command and a positional file are required. Missing
either, an unknown command, or a parse error exits 2.
Commands¶
The command positional help string is read | chill | chill-plus | cages. chill_plus is an accepted alias of chill-plus (not listed
in that help string).
command |
action |
stdout |
|---|---|---|
|
print the loaded cloud |
|
|
CHILL four-neighbour labels |
|
|
CHILL+ four-neighbour labels |
same as |
|
ice score on six-membered rings |
|
chill / chill-plus call nneigh::neighListO, then
chill::getCorrel / chill::getIceTypeNoPrint or
chill::getCorrelPlus / chill::getIceTypePlusNoPrint. Ice names
are the molSys::atom_state_type enumerators: cubic, hexagonal,
water, interfacial, clathrate, interClathrate, reCubic,
reHex, unclassified.
cages reports cage membership, not CHILL labels: hexagonal = HC
(Ih), cubic = DDC (Ic), water = neither. The bond graph is
--graph.
An empty cloud (nop 0) still prints. chill / chill-plus print
nop 0. cages prints nop 0 graph KIND hexagonal 0 cubic 0 water 0.
Options¶
Names and help text are the Argum Option / Positional
definitions in src/seams_cli.cpp. Defaults are the C++
initializers (Argum does not write defaults into the help).
--help, --version, and --features print and exit 0 before any
file is opened.
--cutoff is in Angstrom. -k also applies to knn-union (the
same k feeds nneigh::kNearestNeighbourList). --graph is used
only by cages.
--type¶
value |
single frame ( |
|
|---|---|---|
|
LAMMPS: type 2, then type 1 if that cloud is empty. chemfiles: keep every atom. XYZ: every atom is type 1 |
LAMMPS: every atom ( |
|
LAMMPS |
LAMMPS |
XYZ always stores type 1. Classification still uses --type after
the read (type 0 then becomes 1).
--graph¶
Used only by cages.
value |
graph |
|---|---|
|
mutual |
|
pairs inside |
|
mutual k-nearest ( |
|
union k-nearest ( |
nneigh::bondGraphFromName also accepts knn-mutual and mutual
as knn, and union as knn-union. seeded is handled in the CLI
and is not a BondGraph enumerator. Any other name throws
std::invalid_argument (unknown bond graph 'NAME' (use cutoff, knn, knn-union)) and cages exits 2.
Candidate cutoff for the knn graphs is --cutoff + 1.5.
File suffix¶
seams picks a reader from the path suffix
(path.find_last_of('.')):
suffix |
reader |
compile-time gate |
|---|---|---|
|
|
always |
|
|
|
|
|
|
anything else |
LAMMPS dump ( |
always |
A build without chemfiles or readcon-core treats .pdb / .gro /
.dcd / .con as LAMMPS dumps. seams --features reports those
gates.
Frame ranges¶
Omit --last, or set it equal to --frame, for one frame. That
path calls load and works for every linked suffix.
A range (--last > --frame) always walks a LAMMPS dump through
sinp::forEachLammpsFrame. Each OpenMP worker opens its own handle
and seeks the shared ITEM: TIMESTEP offset table. --jobs 1 is
serial. Non-LAMMPS suffixes are not walked this way.
--features¶
Heading Compile-time features: then one line per backend. Each
line is NAME: enabled or NAME: disabled.
printed name |
macro |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Colors¶
colorizerForFile(environmentColorStatus(), stdout). Argum’s
environmentColorStatus (first match wins):
condition |
result |
|---|---|
|
off |
|
on |
|
on |
|
off |
|
off |
|
allowed (TTY decides) |
|
allowed |
|
off |
otherwise |
TTY / |
Color roles on this binary:
role |
used for |
|---|---|
|
|
|
|
|
|
|
|
|
usage line; |
|
parse / missing-args / unknown-command; |
uncolored |
|
Exit status¶
code |
when |
|---|---|
|
success, including |
|
parse error, missing command or file, unknown command, unknown |
Examples¶
seams read input/traj/exampleTraj.lammpstrj
seams chill-plus input/traj/exampleTraj.lammpstrj --cutoff 3.5 --type 2
seams cages input/traj/mW_cubic.lammpstrj --type 1 --graph seeded
seams cages dump.lammpstrj --graph cutoff
seams cages dump.lammpstrj --graph knn
seams cages dump.lammpstrj --graph knn-union
seams chill-plus dump.lammpstrj --frame 1 --last 50 --jobs 8
Lua and Python are not this binary. See
yodaStruct
(require("dseams")) and
PydSEAMSlib
(pydseams).