deletion_multiscan
Delete segments at multiple positions simultaneously, placing deletion
markers at each site. Deletion sites are guaranteed to be non-overlapping.
Use mode='sequential' to enumerate arrangements as separate states;
mode='random' samples one arrangement per draw (default num_states
is 1 unless you set it higher).
import poolparty as pp
pp.init()
Parameters
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
|
(required) |
Input pool or sequence string. |
|
|
(required) |
Length of each deletion window. |
|
|
(required) |
Number of simultaneous non-overlapping deletions per draw. |
|
|
|
String to place at each deletion site. |
|
|
|
Allowed position sets for each deletion window. |
|
|
|
Named region or interval to restrict deletions to. |
|
|
|
Names for each deletion window. |
|
|
|
Minimum gap (in bases) between deletion windows. |
|
|
|
Maximum gap (in bases) between deletion windows. |
|
|
|
Prefix for the operation node name in the pool graph. |
|
|
|
|
|
|
|
Number of states. |
|
|
|
Display style for deletion markers. |
|
|
|
Enumeration order when combined with other pools. |
|
|
|
Design card columns to include in library output. |
Note
Only the most commonly used parameters are shown above. For the full
parameter list, see deletion_multiscan() in the
API Reference.
Examples
Two simultaneous single-base deletions
Mark two randomly chosen single-base positions with the default "-"
deletion marker.
wt = pp.from_seq("ATCGATCGATCG")
scan = wt.deletion_multiscan(deletion_length=1, num_deletions=2,
mode="random", style="grey")
scan.print_library()
Two simultaneous 2-base deletions
Delete two non-overlapping dinucleotide windows per draw.
wt = pp.from_seq("ATCGATCGATCG")
scan = wt.deletion_multiscan(deletion_length=2, num_deletions=2,
mode="random", style="grey")
scan.print_library()
Multiscan deletion within a named region
Restrict both deletion windows to positions inside the cre region,
keeping the flanking sequence intact.
wt = pp.from_seq("AAAA<cre>ATCGATCG</cre>TTTT")
scan = wt.deletion_multiscan(deletion_length=1, num_deletions=2,
region="cre", mode="random", style="grey")
scan.print_library()
Spacing constraints (min_spacing, max_spacing)
min_spacing and max_spacing control the gap between deletion windows.
Two 3-base deletions must be 4–8 bases apart on a 24-mer.
wt = pp.from_seq("ATCGATCGATCGATCGATCGATCG")
scan = wt.deletion_multiscan(deletion_length=3, num_deletions=2,
min_spacing=4, max_spacing=8,
mode="sequential", style="grey")
scan.print_library()
---GATCG---GATCGATCGATCG
---GATCGA---ATCGATCGATCG
---GATCGAT---TCGATCGATCG
---GATCGATC---CGATCGATCG ... (65 total)
Explicit position sets (positions)
Specify allowed starts for each deletion window. Below, the first deletion can start at 0, 3, or 6 and the second at 10 or 14.
wt = pp.from_seq("ATCGATCGATCGATCG")
scan = wt.deletion_multiscan(deletion_length=2, num_deletions=2,
positions=[[0, 3, 6], [10, 14]],
mode="sequential", style="grey")
scan.print_library()
--CGATCGATCGAT--
ATC--TCGAT--ATCG
ATC--TCGATCGAT--
ATCGAT--AT--ATCG
ATCGAT--ATCGAT--
See deletion_multiscan().