explorations of theory and programming in self-assembly

36
Matthew J. Patitz Explorations of Theory and Programming in Self- Assembly Matthew J. Patitz Department of Computer Science University of Texas-Pan American 10/19/2010

Upload: felicia-goodman

Post on 03-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Explorations of Theory and Programming in Self-Assembly. Matthew J. Patitz Department of Computer Science University of Texas-Pan American 10/19/2010. Introduction to self-assembly. Q: What is self-assembly?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Explorations of Theory and Programming in Self-Assembly

Matthew J. PatitzDepartment of Computer ScienceUniversity of Texas-Pan American

10/19/2010

Page 2: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Introduction to self-assembly

A: The process by which relatively simple components in a disorganized state autonomously combine to form more complex objects

Q: What is self-assembly?

Page 3: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Introduction to self-assembly

Q: What self-assembles?A: Many structures at many scales! Examples include:

• Crystals (such as snowflakes)• Biological structures (e.g. viruses)• Cosmic structures (e.g. galaxies)

Images courtesy of SnowCrystals.com

Image courtesy of NSF.gov Image courtesy of hubblesite.org

A: The process by which relatively simple components in a disorganized state autonomously combine to form more complex objects

Q: What is self-assembly?

Page 4: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Introduction to self-assembly

Q: What self-assembles?A: Many structures at many scales! Examples include:

• Crystals (such as snowflakes)• Biological structures (e.g. viruses)• Galaxies

A: The process by which relatively simple components in a disorganized state autonomously combine to form more complex objects

Q: What is self-assembly?

Q: Why study self-assembly?A: Several reasons:

• Better understand origin and functioning of living systems• Mathematically interesting properties• Eventual creation of ‘fantastic’ technologies

Page 5: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Directions in self-assembly research

Toward atomically-precise manufacturingIBM-Caltech collaboration to use self-assembled molecules to guide design of smaller processors

Credit: PRNewsFoto/IBM

Nano biomedical devicesAarhus University Center for DNA Nanotechnology’s box with programmable lid

Credit: : Ebbe S. Andersen, Aarhus University

Page 6: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Researchers study both natural and artificial self-assembling systems

Theoretical as well as experimental work

My focus is on theoretical research into an artificial model, which I will now introduce…

Directions in self-assembly research

Page 7: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile Assembly Model

Erik Winfree introduced the Tile Assembly Model (TAM) in 1998

It was later refined by Paul Rothemund

The TAM is based on experimental work with DNA molecules by Ned Seeman

* Both Winfree and Rothemund have both been named MacArthur Fellows

Page 8: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile Assembly Model

DNA molecules formed into shapes such as Holliday junctions can be treated logically as 2-dimensional squares

Molecular structure of a Holliday junction(Image courtesy of Wikipedia)

Schematic view of Holliday junction with extended

‘sticky ends’

With the ‘sticky ends’ treated as glues, these molecules can be

thought of as square ‘tiles’

Page 9: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile Assembly Model

Fundamental components are 2-D square tilesEach side has an associated glue, with:

A type (usually represented by a string value)An integer-valued strength (usually 0, 1, or 2)

Tiles can also have labels (non-functional, for convenience)Tiles cannot be rotatedFinite number of different tile types

An infinite supply of each tile typeAbutting sides of tiles bind if both glue strengths and values match

Those sides bind with that shared strengthA tile can bind to an assembly if the sum of binding strengths is at least equal to the “temperature” value of the system (usually 1 or 2)

Assembly begins from a “seed” tile or assembly and grows 1 tile at a time

Strength 0 Strength 1 Strength 2

Page 10: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Temperature value = 2Seed = (S, (0,0))

Tile assembly example

Strength 0 Strength 1 Strength 2

Tile set:

Page 11: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile assembly example

Attachment by 2 strength-1 bonds is a form of “cooperation” between multiple tiles that gives the model great power

5

4

3

2

1

Page 12: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile Assembly Model

A tile assembly system (TAS) is an ordered triple T =(T,σ,)

T is the tile set (a set of tile types)σ defines the seed assembly (tile types and locations)is an integer value specifying the temperature (the minimum total binding strength required for a tile to adhere to an assembly)

A TAS is directed if it has a single, unique final assembly

Page 13: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of shapes

Any finite shape can trivially be self-assembled by creating a hard-coded tile type for every position in the shape.

To test the theoretical limits of the TAM, we explore infinite shapes

Self-similar fractals are interesting infinite shapes because of their complex, aperiodic nature

Page 14: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

A (non-trivial) discrete self-similar fractal is a recursively defined, infinite set of integer lattice points having fractal dimension more than 1 but less than 2.

c

The second stage is the generator of the fractal.

Discrete self-similar fractals

Page 15: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Example Discrete Self-Similar Fractal:The Sierpinski Carpet

Page 16: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

In Self-Assembly of Discrete Self-Similar Fractals, Patitz and Summers showed that there are classes of discrete self-similar fractals that don’t self-assemble in the TAM

We [Patitz and Summers] also proved that for an overlapping class, there are approximations that do self-assemble

Page 17: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

A pinch point discrete self-similar fractal is a discrete self-similar fractal having a “special” kind of generator.

The generator must be connected.

Page 18: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

Theorem. No pinch point discrete self-similar fractal strictly self-assembles in a directed tile assembly system (at any temperature).

Why? Because of the geometry of pinch point discrete self-similar fractals.

Question. Do any non-trivial discrete self-similar fractals strictly self-assemble?

Page 19: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

A nice discrete self-similar fractal is any discrete self-similar fractal whose generator looks like this…

But NOT these…

Page 20: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

For any nice self-similar fractal, we can apply “fiber” to it as follows.

Page 21: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

Start with the third stage of any nice self-similar fractal.

Page 22: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

Add some fiber.

Page 23: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

Recursively build the next stage.

Page 24: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Self-assembly of discrete self-similar fractals

And repeat!

Page 25: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Fibered Sierpinski carpet

Page 26: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Theorem. Every nice self-similar fractal has a fibered version that strictly self-assembles and has the same fractal dimension as its non-fibered counter-part. [Patitz and Summers, 2008]

Self-assembly of discrete self-similar fractals

On to programming tools now…

Page 27: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Simulation of Self-Assembly in the Abstract Tile Assembly Model with ISU TAS

Matthew J. Patitz

Page 28: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

(Iowa State University Tile Assembly Simulator)

Overview of ISU TAS

Open sourceC++ application based on wxWidgets

Cross platform (Windows, Linux, Mac)

Graphical tile set editorSimulator

Many debugging featuresSupports several variations of the model

Page 29: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Tile set editor

Page 30: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Provides a simple graphical representation of the tile set (separate from simulator)

Allows creation of new tiles and editing of existing tiles

Functionality for copying, pasting, rotating, searching, etc.

Displays tile set information such as which tiles are functional duplicates of each other, which tiles are used in the current assembly, etc.

Tile set editor

Page 31: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Simulator

Page 32: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

3-D

Page 33: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Simulations of assemblies begin from a user-defined seed

Simulations can proceed in single steps or in fast-forward mode

Steps are cached, so simulations can also be ‘rewound’

User can set arbitrary zoom factorsAn overview window shows the entire assembly

Frontier locations can be highlighted and toggled

Simulator

Page 34: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Downloading the software

ISU TAS, the fractal generator, and other related software is all freely available (both the

executables and the source code) from the following web site:

http://www.cs.iastate.edu/~lnsa

Page 35: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Roadmap for the futureMany open problems in the TAM yet to explore

Collaborations will be keyFractals, temperature 1, computations vs. space requirements, fault tolerance, etc.

Moving beyond the TAMIt’s an elegant and powerful modelExtremely basic – doesn’t reflect complexity of biological systemsCreate new, more powerful models

Examples:2-handed assemblyDNA/RNA tiles model

“Reusable” space, greater impact of geometryDynamic, adaptable componentsEmphasis on experimental practicalityTheory, programming tools, and laboratory experimentation

Inter-disciplinary research – let’s implement them in the lab!

Page 36: Explorations of Theory and Programming in Self-Assembly

Matthew J. Patitz

Thank you!