# _groslicer_—slice gro files by processing a stream of lines A small, simple utility to slice [gro files][gro] according to a set of minimum and maximum _x_, _y_, _z_ coordinates. The lines of the input structure file are processed line-by-line. If a position is within the provided range, the line is written verbatim to the output structure file. This means that a very large structure can be sliced efficiently and with very low runtime memory requirements, since the structure is never loaded into memory as a whole. The [eigthyseven][eightyseven] library is used for processing the gro atom lines. ## Installation ```console cargo install --git 'https://git.sr.ht/~ma3ke/groslicer' ``` Or, build it from source. ```console git clone https://git.sr.ht/~ma3ke/groslicer cd groslicer cargo install --path . ``` ## Usage ``` Slice a structure. Provide slice dimensions in nanometers. Usage: groslicer [OPTIONS] Arguments: Structure input path (gro) Structure output path (gro) Options: --minx --maxx --miny --maxy --minz --maxz -h, --help Print help (see a summary with '-h') ``` [gro]: https://manual.gromacs.org/current/reference-manual/file-formats.html#gro [eightyseven]: https://crates.io/crates/eightyseven --- Marieke Westendorp, 2024