coflandscaper.pick_lower_left_pair_from_lines

coflandscaper.pick_lower_left_pair_from_lines(atom_lines)[source]

Pick the lower‑left atom pair from consecutive atom lines.

Each pair is assumed to be consecutive lines representing a lower and upper atom. The “best” pair is chosen by the smallest wrapped (x, y).

Parameters:

atom_lines (Iterable[str]) – Iterable of atom lines in consecutive pairs.

Returns:

Tuple of (pair_index, (lower_line, upper_line), (x, y, z), (xw, yw)).

Raises:

ValueError – If the line count is odd or coordinates cannot be parsed.

Return type:

tuple[int, tuple[str, str], tuple[float, float, float], tuple[float, float]]