:py:mod:`alhambra.flatish`
==========================

.. py:module:: alhambra.flatish

.. autoapi-nested-parse::

   Tiles, seeds, glues, and lattices for the 'flatish' tile motif.



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   alhambra.flatish.FlatishSingleTile9
   alhambra.flatish.FlatishSingleTile10
   alhambra.flatish.FlatishVDupleTile10_E2
   alhambra.flatish.FlatishVDupleTile9_E2
   alhambra.flatish.FlatishHDupleTile9_E
   alhambra.flatish.FlatishHDupleTile10_E
   alhambra.flatish.FlatishHSeed9
   alhambra.flatish.FlatishVSeed9




.. py:class:: FlatishSingleTile9(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.BaseSSTSingle`

   Flatish single tile, with domains (5'→3') of 12, 9, 11, and 10 nt.  North edge is 9nt.

   .. py:attribute:: _base_domains
      :type: ClassVar[list[alhambra.tiles.SSGlue]]

      

   .. py:attribute:: _scadnano_offsets
      :value: ((), (), (1, 11), (1,))

      

   .. py:attribute:: _scadnano_5p_offset
      :value: (0, 21)

      


.. py:class:: FlatishSingleTile10(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.BaseSSTSingle`

   Flatish single tile, with domains (5'→3') of 11, 10, 12, and 9 nt. North edge is 10nt.

   .. py:attribute:: _base_domains
      :type: ClassVar[list[alhambra.tiles.SSGlue]]

      

   .. py:attribute:: _scadnano_offsets
      :value: ((), (), (1, 12), (1,))

      

   .. py:attribute:: _scadnano_5p_offset
      :value: (0, 21)

      


.. py:class:: FlatishVDupleTile10_E2(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.VDupleTile`, :py:obj:`alhambra.tiles.BaseSSTile`

   Base class for a tile.

   .. py:property:: domains
      :type: list[alhambra.tiles.SSGlue]


   .. py:attribute:: _base_domains
      :type: ClassVar[list[alhambra.tiles.SSGlue]]

      

   .. py:attribute:: _base_edges

      

   .. py:attribute:: _scadnano_offsets
      :value: ((), (), (0, 21), (2, 23), (2, 1), (1,))

      

   .. py:attribute:: _scadnano_5p_offset
      :value: (1, 33)

      

   .. py:method:: to_scadnano(design: scadnano.Design, helix: int, offset: int) -> scadnano.Strand


   .. py:method:: _input_neighborhood_domains() -> Sequence[tuple[Sequence[str], Sequence[str]]]



.. py:class:: FlatishVDupleTile9_E2(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.VDupleTile`, :py:obj:`alhambra.tiles.BaseSSTile`

   Base class for a tile.

   .. py:property:: domains


   .. py:attribute:: _base_domains
      :type: ClassVar[list[alhambra.tiles.SSGlue]]

      

   .. py:attribute:: _base_edges

      

   .. py:attribute:: _scadnano_offsets
      :value: ((), (), (0, 21), (2, 23), (2, 2), (1,))

      

   .. py:attribute:: _scadnano_5p_offset
      :value: (1, 32)

      

   .. py:method:: to_scadnano(design: scadnano.Design, helix: int, offset: int) -> scadnano.Strand


   .. py:method:: _input_neighborhood_domains() -> Sequence[tuple[Sequence[str], Sequence[str]]]



.. py:class:: FlatishHDupleTile9_E(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.HDupleTile`, :py:obj:`alhambra.tiles.BaseSSTile`

   Base class for a tile.

   .. py:property:: domains


   .. py:attribute:: _base_domains
      :type: list[alhambra.tiles.SSGlue]

      

   .. py:attribute:: _base_edges

      

   .. py:attribute:: _scadnano_5p_offset
      :value: ()

      

   .. py:method:: to_scadnano(design: scadnano.Design, helix: int, offset: int) -> scadnano.Strand


   .. py:method:: _input_neighborhood_domains() -> Sequence[tuple[Sequence[str], Sequence[str]]]



.. py:class:: FlatishHDupleTile10_E(edges: Optional[Iterable[alhambra.glues.Glue | str]] = None, name: Optional[str] = None, color: Optional[Color] = None, stoic: Optional[float] = None, note: Optional[str | dict[str, Any]] = None, use: Sequence[alhambra.glues.Use | int | str] | None = None, fake: bool = False, uses: Sequence[Sequence[alhambra.glues.Use | int | str]] | None = None)


   Bases: :py:obj:`alhambra.tiles.HDupleTile`, :py:obj:`alhambra.tiles.BaseSSTile`

   Base class for a tile.

   .. py:property:: domains


   .. py:attribute:: _base_domains
      :type: ClassVar[list[alhambra.tiles.SSGlue]]

      

   .. py:attribute:: _base_edges

      

   .. py:attribute:: _scadnano_5p_offset
      :value: ()

      

   .. py:method:: to_scadnano(design: scadnano.Design, helix: int, offset: int) -> scadnano.Strand


   .. py:method:: _input_neighborhood_domains() -> Sequence[tuple[Sequence[str], Sequence[str]]]



.. py:class:: FlatishHSeed9(adapter_tiles: Sequence[tuple[alhambra.glues.Glue | str, FlatishSingleTile9]] = tuple())


   Bases: :py:obj:`alhambra.seeds.Seed`

   Flatish origami seed.

   .. py:attribute:: adapter_tiles
      :type: list[tuple[alhambra.glues.Glue | str, FlatishSingleTile9]]

      

   .. py:method:: to_dict(glues_as_refs: bool = False) -> dict


   .. py:method:: from_dict(d: dict) -> T_FHS9
      :classmethod:


   .. py:method:: to_xgrow(gluenamemap: Callable[[str], str] = lambda x: x, offset: tuple[int, int] | None = None, xgtiles: Optional[Sequence[xgrow.tileset.Tile]] = None) -> tuple[list[xgrow.tileset.Tile], list[xgrow.tileset.Bond], xgrow.tileset.InitState]

      Create xgrow implementation of the seed.

      Converts the Seed to a list of xgrow tiles to add to a system, a list of bonds to add,
      and an initial state.



.. py:class:: FlatishVSeed9(adapter_tiles: Sequence[tuple[alhambra.glues.Glue | str, FlatishSingleTile9]] = tuple())


   Bases: :py:obj:`alhambra.seeds.Seed`

   Flatish origami seed (vertical).

   .. py:attribute:: adapter_tiles
      :type: list[tuple[alhambra.glues.Glue | str, FlatishSingleTile9]]

      

   .. py:method:: to_dict(glues_as_refs: bool = False) -> dict


   .. py:method:: from_dict(d: dict) -> FlatishVSeed9
      :classmethod:


   .. py:method:: to_xgrow(gluenamemap: Callable[[str], str] = lambda x: x, offset: tuple[int, int] | None = None, xgtiles: Optional[Sequence[xgrow.tileset.Tile]] = None) -> tuple[list[xgrow.tileset.Tile], list[xgrow.tileset.Bond], xgrow.tileset.InitState]

      Create xgrow implementation of the seed.

      Converts the Seed to a list of xgrow tiles to add to a system, a list of bonds to add,
      and an initial state.



