flip ==== Produce forward and reverse-complement variants of a pool as distinct states. Unlike :func:`~poolparty.rc` (which always reverses), ``flip`` tracks orientation as part of the pool's state dimension: sequential mode enumerates both orientations deterministically; random mode coin-flips each draw with a configurable probability. .. code-block:: python import poolparty as pp pp.init() ---- Parameters ---------- .. list-table:: :header-rows: 1 :widths: auto * - Parameter - Type - Default - Description * - ``pool`` - ``Pool | str`` - *(required)* - The background Pool or sequence string. Must be a DNA pool. * - ``region`` - ``str | list | None`` - ``None`` - Region to flip. A named tag (str), ``[start, stop]`` interval, or ``None`` to flip the full sequence. * - ``rc_prob`` - ``float`` - ``0.5`` - Probability of reverse complement in random mode. Ignored in sequential mode. * - ``prefix`` - ``str | None`` - ``None`` - Prefix for auto-generated sequence names. * - ``mode`` - ``str`` - ``'sequential'`` - ``'sequential'`` enumerates forward then RC as two states; ``'random'`` coin-flips per draw using ``rc_prob``. * - ``num_states`` - ``int | None`` - ``None`` - Override the natural state count. In sequential mode the natural count is 2 (cycling if greater). In random mode, ``None`` means one draw per call. * - ``iter_order`` - ``int | None`` - ``None`` - Enumeration order when combined with other pools. * - ``style`` - ``str | None`` - ``None`` - Display style applied to the reverse-complemented variant only. * - ``cards`` - ``list | dict | None`` - ``None`` - Design card keys to include. Available key: ``'flip'`` (value: ``'forward'`` or ``'rc'``). ---- .. note:: Only the most commonly used parameters are shown above. For the full parameter list, see :func:`~poolparty.flip` in the :doc:`API Reference `. Examples -------- Sequential mode — both orientations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``mode='sequential'`` produces two states: forward then RC. .. code-block:: python wt = pp.from_seq("ATCGATCG") flipped = wt.flip(mode="sequential", style="red") flipped.print_library() .. raw:: html