alhambra.glues#

Module Contents#

Classes#

Use

int([x]) -> integer

Glue

GlueFactory

SSGlue

DXGlue

GlueList

Abstract base class for generic types.

Functions#

merge_items(→ Optional[T])

_ensure_glue_name(→ str | None)

Ensure the glue name uses *, not /, and is reasonable.

Attributes#

T

GlueA

GlueB

glue_factory

alhambra.glues.T[source]#
alhambra.glues.GlueA[source]#
alhambra.glues.GlueB[source]#
class alhambra.glues.Use[source]#

Bases: int, enum.Enum

int([x]) -> integer int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in the given base. The literal can be preceded by ‘+’ or ‘-’ and be surrounded by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to interpret the base from the string as an integer literal. >>> int(‘0b100’, base=0) 4

UNUSED = 0[source]#
NULL = 1[source]#
INPUT = 2[source]#
OUTPUT = 3[source]#
BOTH = 4[source]#
PERMANENT = 5[source]#
UNSET = 6[source]#
classmethod from_any(other: str | Use | int) Use[source]#
invert() Use[source]#
merge(other: Use) Use[source]#
abstract __or__(other: Any) Use[source]#

Return self|value.

abstract __ror__(other: Any) Use[source]#

Return value|self.

alhambra.glues.merge_items(a: T | None, b: T | None) T | None[source]#
alhambra.glues._ensure_glue_name(n: str | None) str | None[source]#

Ensure the glue name uses *, not /, and is reasonable.

class alhambra.glues.Glue[source]#
abstract property etype: str[source]#
property type: str[source]#
property is_complement: bool[source]#
property complement: GlueA[source]#
name: str | None[source]#
note: str | None[source]#
use: Use[source]#
abstractstrength: int | None[source]#

The stickydesign type of the glue.

_into_complement()[source]#
copy() T[source]#
ident() str[source]#
basename() str[source]#
update(other: Glue)[source]#
merge(other: Glue) Glue[source]#
__or__(other: Glue) Glue[source]#
__ior__(other: Glue)[source]#
__ror__(other: Glue) Glue[source]#
__eq__(other: object) bool[source]#

Return self==value.

to_dict() dict[str, Any][source]#
static from_dict(d: dict[str, Any]) Glue[source]#
class alhambra.glues.GlueFactory[source]#
types: dict[str, Type[Glue]][source]#
register(c: Type[Glue])[source]#
from_dict(d: str | dict[str, Any]) Glue[source]#
alhambra.glues.glue_factory[source]#
class alhambra.glues.SSGlue(name: str | None = None, length: None | int | str | alhambra.seq.Seq = None, sequence: None | str | alhambra.seq.Seq = None, note: str | None = None, use: Use | None = None)[source]#

Bases: Glue

property dna_length: int[source]#
property sequence: alhambra.seq.Seq[source]#
property _shortdesc: str[source]#
etype: str = 'S'[source]#
_sequence: alhambra.seq.Seq[source]#
ident() str[source]#
_into_complement()[source]#
update(other: Glue | str)[source]#
merge(other: Glue | str) SSGlue[source]#
to_dict() dict[str, Any][source]#
class alhambra.glues.DXGlue(etype, name=None, length=None, sequence: alhambra.seq.Seq | str | None = None, fullseq=None, use=None, abstractstrength=None, note=None)[source]#

Bases: Glue

property fseq: str | None[source]#
property seq: str | None[source]#
property comp[source]#

The complement end sequences of the End, as a string.

etype: Literal[TD, DT][source]#
fullseq: alhambra.seq.Seq[source]#
_into_complement()[source]#
merge(other: Glue) DXGlue[source]#
__str__()[source]#

Return str(self).

class alhambra.glues.GlueList(initial: Iterable[T_NMI] = tuple())[source]#

Bases: Generic[GlueA], alhambra.classes.UpdateListD[GlueA]

Abstract base class for generic types.

A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as:

class Mapping(Generic[KT, VT]):
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

This class can then be used as follows:

def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
merge_complements() None[source]#
merge_glue(g: GlueA) GlueA[source]#
merge_glue_and_update_list(g: GlueA) GlueA[source]#
abstract to_endarrays() Any[source]#