flip
Produce forward and reverse-complement variants of a pool as distinct
states. Unlike 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.
import poolparty as pp
pp.init()
Parameters
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
|
(required) |
The background Pool or sequence string. Must be a DNA pool. |
|
|
|
Region to flip. A named tag (str), |
|
|
|
Probability of reverse complement in random mode. Ignored in sequential mode. |
|
|
|
Prefix for auto-generated sequence names. |
|
|
|
|
|
|
|
Override the natural state count. In sequential mode the natural
count is 2 (cycling if greater). In random mode, |
|
|
|
Dimension-name ordering for downstream multi-pool iteration. |
|
|
|
Display style applied to the reverse-complemented variant only. |
|
|
|
Design card keys to include. Available key: |
Note
Only the most commonly used parameters are shown above. For the full
parameter list, see flip() in the
API Reference.
Examples
Sequential mode — both orientations
mode='sequential' produces two states: forward then RC.
wt = pp.from_seq("ATCGATCG")
flipped = wt.flip(mode="sequential", style="red")
flipped.print_library()
CGATCGAT
Random mode with custom rc_prob
mode='random' samples orientation per draw. Here rc_prob=0.3
means 30% chance of RC on each draw.
wt = pp.from_seq("ATCGATCG")
flipped = wt.flip(mode="random", rc_prob=0.3, num_states=5, style="red")
flipped.print_library()
ATCGATCG
ATCGATCG
ATCGATCG
CGATCGAT
Flip only a named region
region restricts the RC operation to a tagged segment; flanks are
returned unchanged.
wt = pp.from_seq("AAAA<cre>ATCGATCG</cre>TTTT")
flipped = wt.flip(region="cre", style="red")
flipped.print_library()
AAAA<cre>CGATCGAT</cre>TTTT
Use with iter_order in a join
Set iter_order so that flip is the inner loop when joined with
another pool — every insert appears in both orientations together.
inserts = pp.from_seqs(["ACGT", "GGCC"], mode="sequential", iter_order=2)
wt = pp.from_seq("AAAA<ins/>TTTT")
both = wt.replace_region(inserts, "ins").flip(iter_order=1, style="red")
both.print_library()
AAAAGGCCTTTT
AAAAACGTTTTT
AAAAGGCCTTTT
See flip().