Unified CAD and scripting packages for megastructure design, orthogonal handle library generation and visualization.
#-CAD provides a graphical interface for designing crisscross megastructures with features including:
- 2D Grid Design: Intuitive slat placement on square or hexagonal grids
- Handle Optimization: Evolutionary algorithm for optimal assembly handle sequence selection from a finite library
- 3D Visualization: Real-time 3D rendering of a design
- Cargo and Seed Placement: Free-form editing of cargo handle placement
- Handle Linking: The ability to link handles or generate duplicates to build repeating unit designs
- Echo Export: Direct export to Echo Liquid Handler command sheets
- (Experimental) Double-Barrel slats - The ability to design and optimize megastructures using double-barrel 2x16 slats (alongside the standard 1x32 slats)
For comprehensive usage instructions, see the User Guide.
Desktop Application: Download the latest release for your platform from GitHub Releases.
| Platform | Download |
|---|---|
| macOS | Hash-CAD-macOS.zip |
| Windows | Hash-CAD-windows.zip |
| Linux | Hash-CAD-linux.tar.gz |
Web Application: Simply open the application URL here.
For detailed installation instructions, see the Installation Guide.
Quick setup tutorial video also available here!
- Create or load a design: Start fresh or import an existing
.xlsxdesign file - Design your slat layout: Place slats on the 2D grid to form your megastructure. Slats must crisscross each other on different layers to produce a valid design.
- Optimize handles: Run the evolutionary algorithm to optimize handle sequence selection.
- Add cargo and seeds: Place functional elements on your design and select the seed binding position (requires a total of 5x16 handles).
- Export: Generate Echo commands or save for Python processing.
See the full User Guide for more details.
The crisscross python API can be used to manipulate megastructures programmatically, and its file format is fully compatible with that of #-CAD. The Python interface provides more flexibility and customizability when compared to #-CAD, at the cost of a steeper learning curve.
The bundled orthoseq_generator package helps you find sets of orthogonally binding DNA sequence pairs. The main focus is on selecting sequences based on thermodynamic binding energy, not sequence diversity (as commonly used in barcoding).
Simply install via pip (requires Python 3.11+):
pip install crisscross_kitPlease check our docs for more details on installation and usage of our joint python libraries for crisscross design and OrthoSeq.
#-CAD and OrthoSeq were developed in the William Shih Lab at the Dana-Farber Cancer Institute and the Wyss Institute at Harvard University. The following contributed to the codebase:
- Matthew Aquilina - Lead developer for the project.
- Florian Katzmeier - Developed handle assignment algorithm and OrthoSeq.
- Stella (Siyuan) Wang - Developed initial megastructure assembly and hamming distance calculation protocols, and implemented various custom megastructure design systems in the final codebase.
- Corey Becker - Developed initial prototype GUI using a combined javascript-python server and laid the foundation for the final #-CAD interface.
Experimental validation of #-CAD was carried out by the entire crisscross origami team, which also included:
All the above team members contributed to beta-testing and test-trialling the app during its development!
Development of the evolutionary algorithm and OrthoSeq were accelerated by the use of Harvard Medical School's O2 High Performance Compute Cluster.
This project was supported by various funding sources:
- A UK Medical Research Council Precision Medicine Transition Fellowship awarded to Matthew Aquilina (grant number MR/N013166/1)
- The Dana-Farber Cancer Institute's Claudia Adams Barr Program for Cancer Research
- A Wyss Institute Northpond Alliance Director's Fund Award awarded to Matthew Aquilina
- The German Research Foundation (Deutsche Forschungsgemeinschaft, DFG) through the Walter Benjamin Programme (project number 553862611, awarded to Florian Katzmeier)
- The U.S. Department of Energy, Office of Science, Basic Energy Sciences, Biomolecular Materials Program (Award No. DE-SC0024136)
- The Carlsberg Foundation (grant CF23-1125, awarded to Minke Nijenhuis)
- A Sloan foundation grant (grant ID G-2021-16495)
- The Harvard College Research Program (funding Corey Becker)
- The Korea-US Collaborative Research Fund (KUCRF) funded by the Ministry of Science and ICT and Ministry of Health & Welfare, Republic of Korea (grant RS-2024-00468463)
- The Novo Nordisk Foundation (grant NNF23OC0084494)
- The Wyss Institute's Molecular Robotics Initiative
For more details of everyone's coding contributions, please check the graphs here. Contributions from the open-source community are welcome!
#-CAD is currently in early-access at Nature Communications (link here):
@article{Aquilina2026Crisscross,
author = {Aquilina, Matthew and Katzmeier, Florian and Nijenhuis, Minke A. D. and Wang, Siyuan Stella and Becker, Corey and Zhao, Yichen and Seok, Su Hyun and Finkel, Julie and Cui, Huangchen and Lee, Jaewon and Lee, Seungwoo and Shih, William M.},
title = {A computational framework for designing micron-scale crisscross {DNA} megastructures},
journal = {Nature Communications},
year = {2026},
month = jul,
date = {2026-07-17},
publisher = {Springer Science and Business Media LLC},
issn = {2041-1723},
doi = {10.1038/s41467-026-75175-6},
url = {https://doi.org/10.1038/s41467-026-75175-6}
}OrthoSeq is currently a preprint, available here and below:
@article {Katzmeier2026OrthoSeq,
author = {Katzmeier, Florian and Aquilina, Matthew and Shih, William M.},
title = {OrthoSeq: A Design Workflow for Thermodynamically Orthogonal DNA Sequence-Pair Libraries},
elocation-id = {2026.08.01.742265},
year = {2026},
doi = {10.64898/2026.08.01.742265},
publisher = {Cold Spring Harbor Laboratory},
abstract = {Programmable DNA hybridization underlies many technologies in DNA nanotechnology, fluorescence imaging, and synthetic DNA sequence assembly. A common design challenge is to generate large sequence libraries in which each strand binds strongly to its intended partner while avoiding cross-hybridization and self-folding. Here, we introduce OrthoSeq, a workflow for designing thermodynamically orthogonal DNA sequence-pair libraries under user-defined experimental conditions. OrthoSeq uses NUPACK to evaluate intended binding, cross-hybridization, and self-folding. Within OrthoSeq, candidate sequence pairs form vertices in a conflict graph, while pairwise cross-hybridization conflicts define the edges. Library selection is then formulated as an independent-set problem and addressed using search strategies tailored to the computational regime considered here, in which thermodynamic evaluations dominate the computational cost. In benchmark comparisons, these strategies identify larger sequence-pair libraries than the commonly employed sequential candidate-addition strategy under the same thermodynamic constraints and computational budget. We further show that sequence-level barcode libraries can serve as candidate pools for thermodynamic refinement with OrthoSeq. To support practical use, OrthoSeq provides a graphical user interface that implements the complete workflow. Altogether, OrthoSeq provides an application-agnostic framework for designing DNA sequence-pair libraries under explicit thermodynamic constraints.Competing Interest StatementThe authors have declared no competing interest.},
URL = {https://www.biorxiv.org/content/early/2026/08/06/2026.08.01.742265},
eprint = {https://www.biorxiv.org/content/early/2026/08/06/2026.08.01.742265.full.pdf},
journal = {bioRxiv}
}Accompanying data for #-CAD and a large set of examples is available at our Zenodo deposition here.
Accompanying data for OrthoSeq is also available on Zenodo here.


