Python scripting library for generating designs readable by scadnano.
Project description
scadnano-python-package
The scadnano Python module is a library for describing synthetic DNA nanostructures (e.g., DNA origami).
If you find scadnano useful in a scientific project, please cite its associated paper:
scadnano: A browser-based, easily scriptable tool for designing DNA nanostructures.
David Doty, Benjamin L Lee, and Tristan Stérin.
Technical Report 2005.11841, arXiv, 2020.
[ arXiv paper | BibTeX ]
Overview
This module is used to write Python scripts outputting .dna
files readable by scadnano, a web application useful for displaying and manually editing these structures. The purpose of this module is to help automate some of the task of creating DNA designs, as well as making large-scale changes to them that are easier to describe programmatically than to do by hand in scadnano.
Early versions of this project didn't have well-defined versions. However, we will try to announce breaking changes (and possibly new features) under the GitHub releases page. The version numbers in this Python library repo and the web interface repo won't always advance at the same time. However, when a breaking change is made, this will increment the minor or major version numbers in both libraries (version numbers are major.minor.patch, i.e., version 0.9.2 has minor version number 9).
Reporting issues
Please report issues in the web interface at the scadnano web interface GitHub repository, and report issues in the Python scripting library at the scadnano Python package GitHub repository.
Installation
The scadnano Python package requires Python version 3.7 or later. If you do not have that version (or later) of Python installed, follow this link to install it.
Once Python is installed, there are two ways you can install the scadnano Python package:
-
pip
Use pip to install the package by executing the following at the command line:
pip install scadnano
If your Python installation does not already have pip installed, you may have to install it. Executing this Python script should work; see also https://docs.python.org/3/installing/index.html or https://www.liquidweb.com/kb/install-pip-windows/.
-
download
As a simple alternative, you can download and place the following files (located in the scadnano/ subfolder) in your PYTHONPATH (e.g., in the same directory as the scripts you are running):
- required: scadnano.py
- optional: modifications.py; This contains some common DNA modifications such as biotin and Cy3.
- optional: origami_rectangle.py; This can help create origami rectangles, but it is not necessary to use scadnano.
- optional: _version.py This ensures that the current version number is written into any
.dna
files written by the library; otherwise it may be out of date. (Which should not matter for the most part.)
Unfortunately, the scadnano package uses the Python package xlwt to write Excel files, so in order to call the method
DNADesign.write_idt_plate_excel_file()
to export an Excel file with DNA sequences, xlwt must be installed. To install, typepip install xlwt
at the command line.
Documentation
Online documentation of the package API is located here: https://scadnano-python-package.readthedocs.io
Tutorial
A tutorial shows how to create a "standard" 24-helix DNA origami rectangle using the scripting library.
Examples
Several example scripts are located in the examples/ subfolder. Their output is contained in the examples/output_designs/ subfolder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.