cadnano version 2.2.0

The 2.2.0 release of cadnano introduces a new plugin framework to facilitate sharing of user-created extensions of the software. We've included one example plugin to serve as a reference for developing additional plugins, and plan to document everything in a future release. Overall stability of the application is also improved.

Download links

AutoBreak Plugin

  • As a first example plugin, we have written an automatic staple-breaking plugin that introduces breakpoints into the staple strands according to user-specified parameters.
  • The plugin requires networkx to run. Note to developers: networkx is included in our binaries, but is not included in the git source. You'll need to navigate to the cadnano2/include folder and run "python getdependencies.py" to download the source.

Before AutoBreak:

After AutoBreak:

Developing custom plugins

  • Please write to us with questions, as this feature is still in the early stages of development and we are happy to help anyone who wants to develop a plugin. We can even help you create a dialog if you're not familiar with Qt.
  • The best way to start writing a custom plugin is to clone the cadnano2 git repository and get that running on your machine. Next, create a new sub-folder in the plugins directory that follows the same format as the AutoBreak plugin
  • The plugin adds itself to the menu in __init__.py, and connects its QAction signal to the desired slot. The slot (i.e. the actual plugin code that manipulates the model) can live in a separate file, (see autobreak.py)
  • Qt Designer can be used to create a custom dialog that accepts input parameters for the plugin. PyQt's pyuic4 can then be used to compile the ui file into python (see our Makefile).

Bug fixes & Updates

  • Fixed merging of strands that contained loops.
  • Fixed some subtle bugs with AutoStaple that would crop up later when editing strands downstream.
  • Patched Windows installer so it can now find Maya and cadnano files not on the C:\.
  • Fixed bug in which cadnano was using the wrong environment variable to find the home folder in Windows.
  • Visibility / z-stacking issues with pencil tool.
  • Applied sequences don't get cleared when breaking or merging strands.
  • Mousing over a strand now displays its length in the status bar.
  • Fixed display of insertion sequences in the path view.