TinkerCell is a Computer-Aided Design software tool for Synthetic Biology that promotes collaboration through its plugin interface. This blog is used to keep notes on updates to the project.
Wednesday, May 30, 2012
Thursday, December 8, 2011
Running TinkerCell from USB
To store all the settings in a USB drive, do this:
- Use Settings -> "Export current settings" to export "settings.ini"
- Copy the "settings.ini" file to the same location as TinkerCell (on the Mac, this will be TinkerCell.app/Contents/MacOS)
- Now the TinkerCell application folder is self-contained. Copy it on a USB drive. That's all.
The "settings.ini" stores settings such as window position and sizes, catalog items to display, plot line colors, and so on. Usually, these settings are stored on the computer where TinkerCell runs, but the export option described above can be used to save and load the settings from a file. TinkerCell will first check if there is a "settings.ini" file; if not, then it will load settings from the local machine. So, if you distribute TinkerCell on a USB with the "settings.ini" file, then everyone who copied TinkerCell from that USB drive will have the same settings.
Careful when using dual-monitor: The settings file also includes window positions, so if you use a dual-monitor setup, be sure that the TinkerCell window is on the first monitor. Otherwise, it will load outside the screen when you load it in another computer without a second monitor.
Friday, November 25, 2011
Simple animation based on simulated result
plugins documentation for the code.
Thursday, November 10, 2011
Tuesday, September 13, 2011
SBML and Antimony as modules
The modular framework in TinkerCell is designed to support practically any format that can be loaded into TinkerCell. As a consequence, Antimony and SBML files can be used as modules. In the schreenshot below, a TinkerCell oscillator module is modeled using an Antimony script. The modular framework maps variables in the Antimony script to variables in the conceptual model.
Friday, September 2, 2011
Same network, different behaviors
Coupled oscillator modules
TinkerCell's modular framework allows users to perform experiments such as the one shown below. Here, two oscillators are connected to each other. Each oscillator *can* take multiple models. This is the benefit of using modular design -- the internal details can be swapped without affecting the conceptual overall design, i.e. two coupled oscillators. One of the TinkerCell Python plugins allows users to test all possible oscillator combinations. Currently, only two oscillator designs are available (you can add more and submit to the repository if you want!). So, the total number of combinations are 4, which are the 4 graphs shown below. Notice that in one of the designs (top left), one oscillator somewhat controls the frequency of the other. By tuning parameters further, this design can actually be used to create an oscillator where the frequency is also oscillating.
Thursday, July 21, 2011
More visual cues for showing contents of equations
When hovering over components with a function, TinkerCell used to show a function tool-tip indicating how the function is defined for that component. Now, TinkerCell also highlights all the other components that are involved in that function. For example, if the activity of a gene is describes as plasmid.copy * operator1 * operator2, then TinkerCell will circle the plasmid and both operators when the mouse hovers over the gene component. See screenshots below.
Thursday, July 7, 2011
Sequence annotation widget
It was always possible to add any type of annotation to any component, including sequence annotations, in TinkerCell, but this had to be done programmatically, i.e a couple of lines of python or octave code. For sequence annotation, now the sequence-viewer plug-in also provides a simple widget for adding position and description to the selected part. The table will be saved as "sequence annotation", i.e it can be accessed via a python or octave program using:
p = tc_find("cod2"); #get the part
sa = tc_getTextDataTable(x, "sequence annotation"); #get sequence annotation
tc_getTableValue( sa, 0, 0)
Subscribe to: Posts (Atom)