staff project download information miscellaneous
Picky   Picky Change Log

Picky 2 Oligo Microarray Design Oligo Sets
C. elegans
E. coli
Plasmodium falciparum

Picky 1 Oligo Microarray Design Oligo Sets


Oligo Microarray Design Tutorials
Guided Tour
Animated Tutorial

Gene Assembly
Microarray Calibration
shRNA Design

Change Log

MangoVect DownloadLucy2 DownloadTrend DownloadGRAMAUBViz DownloadgeneDBN Download

Version 2.20 (10/16/2010)

This is a feature upgrade release. Major new features added in this version are listed below:

1. 64-bit Picky. We thoroughly re-examined each line of Picky programming code and modify it, when necessary, to support 64-bit computing architecture. Our focus was on the economical use of computer memory; thus, only data objects that truly needs to be stored in 64-bit format will be stored that way. At last, we now offer both 32-bit and 64-bit Picky versions compiled from the same source code. The 64-bit versions of Picky are available for 64-bit Linux and 64-bit Windows. However, 64-bit MacOS version is not yet available (Leopard or later) because a key GUI library required to build Picky (Carbon) is not available on 64-bit MacOS due to Apple's decision to obsolete that library in favor of Cocoa GUI library. For more information about the Picky 64-bit versions, see the FAQ page.

2. With the advent of the new 64-bit Picky versions, we also modified Picky licensing agreement. We now allow everyone to license the 32-bit Picky full version for free as long as an online 32-bit Picky licensing agreement is clicked through and proper user contact information is provided. The 64-bit Picky version is freely available to nonprofit users using it for non-commercial purposes, but commerical users will need to pay a licensing fee to license it for commercial use.

3. Multi-threaded suffix array construction algorithm. We switched from the Burkhardt-Kärkkäinen algorithm for suffix array construction to the Larsson-Sadakane algorithm because the latter allows us to create a multi-threaded version for suffix array construction. On a one CPU/core computer, the multi-threaded Larsson-Sadakane algorithm may be slightly slower but on two or more CPU/core computers, the new multi-threaded algorithm runs much faster. With the addition of this new algorithm, now all operations in Picky that may take longer than a few seconds to process are programmed to automatically take advantage of multiple CPU/cores in modern computers.

4. New Picky output file format containing more nontarget information. In some recent applications of Picky, the closest nontarget information it reports for each probe is becoming more useful. This is especially true when examining third party designed probes, when designing short interference RNAs (siRNAs), or when trying to predict the elusive targets of naturally occurring short RNAs. The closest nontargets are transcripts that are the most likely to bind to the probes given suitable hybridization or physiological conditions, but they do not form perfect Watson-Crick base-pairing with the probes. We now allows users to specify, for each probe, how many closest nontargets to report and/or how far away the estimated nontarget melting temperature is to the target melting temperature for it to be reported. The precise location of nontarget binding site is also now reported. This new information makes new applications such as siRNA design easier. These new applications necessitate the change of Picky full name from "Picky: An Optimal Oligo Microarray Design & Analysis Tool" to "Picky: An Optimal Oligonucleotide Design & Analysis Tool" since its applications is no longer limited to just microarray design.

5. This new Picky 2 output file format is not compatible with the previous Picky 1 output file format produced by Picky versions up to 2.14. Therefore, a Perl script is included in the new Picky 2.20 distribution to convert its new output file format to the older format if users have existing bioinformatic software that depends on the older format.

6. Additional user preference options. Users can now specify a fixed directory for Picky to start looking for input files each time it runs. This can be handy if you store your data files in a fixed location on your computer. In addition, users can now specify the number of CPU/cores to be used by Picky. This prevents Picky from grabbing all computing resources on a high-end server with many CPU/cores.

7. A shared probe can now be shared by more than 65536 targets. This may not be useful feature for Picky oligo design, but it's useful when examining third party designed oligos that target repeat regions in a large genome (yes, it happened.).

8. Numerous user interface improvements. Picky now remembers the last directory it has loaded input files across execution sessions, and defaults to this directory unless the fixed startup directory is specified by the users. On a Mac, Picky will not pop up new overlap windows exactly at the same spot on the upper-left corner of the display, which sometimes obscure many underlying windows. During Picky computation, it now reports a bit more information especially during the oligo examination computation. These are added to its processing information window and later saved as .report files. Picky now saves the parameters used in each computation with the probe set the computation created, thus Picky can switch automatically among the different sets of parameters when users click on each of the probe set instead of staying only at the last set of parameters used for the last computation. Some parameter names have also been changed to better explain what they control, and the parameter dialog help messages have been improved to better tell users what each parameter controls. Picky now allows users to skip very short sequences or to break up very long sequences during its data loading so users no longer have to resort to external Perl programs to preprocess the input files. Finally, Picky is more careful in checking filenames user provided for saving data to avoid funny filenames like .picky without the main name part.

Version 2.14 (10/08/2009)

This is a maintenance release.

A deficiency was found in the Picky code for examining shared oligo candidates. This deficiency prevents some valid candidates from being considered, i.e., it has a false-negative impact on oligo selections, estimated to be less than 1% of all shared oligos considered. Note that it does not produce any false-positives; all the oligos selected by previous versions of Picky were still valid under the given design parameters. This deficiency also does not influence unique oligo selections. When examining third party oligos, because these oligos were fixed, Picky might identify some as bad oligos even though they were indeed valid oligos due to this deficiency. In this regard, it is considered a bug! This deficiency has now been fixed.

A minor problem was found in identifying oligo target genes as either"unique" or "shared" (see Picky FAQ #6). Their identification might be influenced by the order of name appearance in the oligo set, which in turn might be influenced by the "minimal temperature difference" parameter. This problem has been fixed and all gene target types will be correctly identified disregard the order of their appearance.

We revert back to use G++ 3.4.6 on Linux to compile this version of Picky; it seems to produce code slightly faster than G++ 4.1.2 we used for the previous version.

Version 2.13 (2/06/2008):

This is a bug fix release.

A boundary condition bug was found in Picky during a recent internal Picky data structure dump for sample data gathering. This bug can be triggered ONLY when designing fixed length oligos, i.e., when the maximum and minimum oligo length input parameters are the same. This bug causes suboptimal fixed length oligos to be chosen by Picky.

Since the Picky author and his collaborators never designed fixed length oligos, this bug was not uncovered earlier and may have been in Picky since its first public release. We apologize for this inadvertently overlooked bug and the inconvenience it may have caused.

If you have never designed fixed length oligos, i.e., if your maximum and minimum oligo length parameters are not the same as we have always recommended for general Picky usage, then you are not influenced by this bug and your previous oligos are all OK.

If you have however designed fixed length oligos using Picky, your oligos might not be of high quality and you should redesign them. If you have already synthesized these oligos, we suggest you to use the new Oligo Examination feature in Picky to check how many of your previous oligos are still usable. You can replace the unsuitable ones with newer oligos designed with Picky 2.13 or later.

In all cases, we recommend upgrading to this new version 2.13.

Version 2.12 (11/08/2007):

Updates in this release are all related to third party oligo check.

1. Fixed the problem that duplicative oligos can be displayed when unknown oligos in a third party oligo set exceeds 65536, causing the oligo index to wrap back to the first oligo, thus the duplicates. This limitation has been removed now.
2. Generalized oligo probe display so each oligo base can now assume different color. This is to cope with the fact that third party oligos may overlap each other, and may also be nonspecific (black), unique (blue) or shared (green). Picky can now display multiple colors on the same oligo to indicate that it is overlapped by other oligos in the same oligo set and on the same target gene region.
3. Picky now also reports unique third party oligos that happen to target uncertain (e.g., N base) regions in their target gene sequences. These bases were converted to A in Picky but were marked to be uncertain by a red color.

Version 2.11 (10/30/2007):

Minor usability and bug-fix improvements.

1. Fixed a bug related to unknown probe information display in the status bar, which may lead to a crash. This is a GUI bug so it does not change the computed outcomes in Picky 2.10.
2. Moved the new version check code to run inside a secondary thread so it does not block the GUI response, especially when your networking is slow or unreachable.
3. Added the new features summary to version check result window.
4. Displayed "Picky spinning" icon also during 3rd party oligo examination.
5. Used g++4 to recompile the Linux Picky and gained moderate speedup.

Version 2.1 (10/13/2007):

New Features

1. Examination of oligo sets. In addition to designing its own oligos, Picky 2.1 now allows you to load existing oligos and examine their thermodynamic properties against the input gene sets. There are many important use of this new feature: to check 3rd party oligo designs, to map your existing oligos against newly annotated gene sets, to determine PCR primer specificity, etc. Loaded oligo sets will be checked using the same rigorous thermodynamic computations offered in Picky, and will be identified by the magnifying glass icon to separate them from Picky's own oligo designs. The input oligo file can be in almost any plain text format as long as Picky can identify DNA sequences in the file. Picky uses its maximum and minimum oligo size parameters to determine if a DNA fragment found in the input should be considered a valid oligo, therefore you should set these two parameters to reflect your oligo size range.

2. Multiple oligo sets. You can now design or examine multiple oligo sets against the same input gene sets at the same time, without having to discard the previous oligo set. Picky now holds multiple oligo sets, both designed and examined by it. You can continue to double-click each oligo to see its probe target region overlaps view, but note that the temperature estimations reported in the overlaps view (see 8 below) will always be based on the current set of oligo parameters because they are dynamically recalculated, and thus may not match the temperatures reported in the oligo panels if they were designed or examined using a different set of parameters.

3. Oligo selection range. By popular demand, a new pair of range limit parameters now allow you to specify a range, say, the last 500 bp on the 3'-end of each input gene sequence, to select its oligos. Read the automatic help text in the Oligo Design Parameters dialog to learn more about how to use these two parameters.

4. Nonlinear salt effect equation. Picky 2.1 now offers two different salt effect equations, the original linear salt effect equation which is not sequence content dependent (SantaLucia et al., Biochemistry 35:3555-3562, 1996; also see Chou et al., Bioinformatics 20:2893-2902, 2004), and a nonlinear salt effect equation which is sequence content dependent (Owczarzy et al, Biochemistry 43:3537-3554, 2004). At lower salt concentration (e.g., less than 500mM NaCl), the nonlinear equation gives better prediction of the oligo melting temperatures, though at higher salt concentrations both equations converge to the same predictions at 1M NaCl. The nonlinear salt effect equation takes longer time to compute thus it may not be necessary if your hybridization buffer salt concentration will be higher than 500mM.

5. Shared oligo preference. You can now specify that you prefer shared oligos during the redundant oligo removal in Step 6 of Picky's processing. Redundant oligos are extra oligos for the same gene sequence. For example, if you have both a shared oligo and a unique oligo targeting the same gene, and you only asked for one oligo per gene, the shared oligo will be chosen and the unique oligo will be discarded if you choose this preference option. The default is to keep the unique oligo; the shared oligo may or may not be retained depending on whether its other target(s) have their unique oligos.

6. Oligo candidate reevaluation. During oligo candidate selections (Steps 3 and 5 in Picky processing), an extra new step has been added to recalculate their melting temperature properties from the perspective of the oligo candidates themselves. Previously, the temperature calculations were whole sequence based and may not provide the most precise local oligo property estimations. This extra step adds about 5% processing time to Picky but removes the chance of selecting non-optimal oligos under rare conditions.

7. Mac native Picky! Thanks to upgrades made by the authors of the wxWidgets cross-platform GUI toolkit based on which Picky's user interface was built, we can now offer a Mac native Picky solution, which is a universal binary program for both Intel and PowerPC Macs running Mac OS X 10.3.9 or later. Mac users, forget about X11!

8. Temperature sorted overlaps view. When double-clicking a probe either in the probe panels or on a sequence where it is identified by a blue or green color, a probe target region overlaps view will be shown. Previously, this view is sorted based on sequence overlap weights just like the other two overlaps views: the whole sequence longest overlaps and the whole sequence all overlaps views. Now in Picky 2.1, it is sorted based on the estimated melting temperature of each nontarget with the double-clicked probe, thus it is much easier to identify potential troublesome nontargets. However, note that the temperatures in this view were dynamically recalculated based on the current set of parameters, and they may not match the temperatures reported in the probe panels if they were calculated using a different set of parameters earlier. See 2 above.

9. Computing the suffix, invert and lcp arrays only once. If you did not change the input gene sets, or flip the single or double strand screening parameter, Step 1 and 2 of Picky computation will not be repeated anymore to speed up Picky processing significantly. This is especially beneficial now that multiple oligo sets can be easily designed, each with maybe just a slight change of parameters.

10. Relaxation of many parameter limits. In order to give users a greater application of Picky beyond oligo microarray designs, we now expanded several allowable parameter limits in Picky 2.1. For example, oligo size can now range from 20 to 100 bp long, and the minimum temperature difference can even be set to zero. The latter case is useful for oligo examination. Basically the temperatures will be ignored by Picky and it will behave simply as a sequence matching tool aligning your input oligos against the gene sets.

11. Automatic break up of long input sequences. This version of Picky has a sequence length limit of 16384 bp. This is more than enough for typical gene sequences, but may be too short for genome tiling applications. Previously users need to break up their long input sequences before loading them into Picky. Picky 2.1 can now automatically break up long input sequences into multiple parts and assign coordinates as part of the gene names. The breakup by Picky 2.1 is nonoverlapping; for more sophisticated overlapping breakups, use the enclosed Perl program.

12. Lots of display, user interface and auxiliary features updates: You can now check the availability of new Picky versions within Picky itself, under the Help menu; The sequence and coordinate indicators were changed to a small green dot to avoid obscuring reading sequence names on certain platforms; Designed oligo sets will carry a time stamp title, but will be automatically updated to the file names they are saved into; To accommodate multiple loaded oligo sets in Picky 2.1, the input sequence sets Will be repainted dynamically using the last "clicked" oligo set and the Picky processing window will reload its saved processing message; Finally, the overall stability and user experience has been greatly improved with Picky 2.1. Enjoy and good luck with your research!

Version 2.0 (6/07/2005):

New Features

1. Shared oligo design. Picky 2.0 can now design oligos for very similar genes, e.g., gene family members that cannot have unique oligos designed for them using the previous Picky 1.1. This new feature helps to identify gene family activities even when some gene family members cannot be individually recognized. For large genomes, this often make many more genes possible for microarray detection, even not individually. The shared oligos designed by Picky 2.0 carry a green color in the Oligo Probes panel while the individually designed oligos are still in the blue color.

2. New output file format. To accommodate the new shared oligo design feature, the .picky output file has a slightly different new format as indicated by the column headings in its first header line. The .report file also now contains information on how the shared oligos are selected.

3. New overlap views. You can now double-click any sequence anywhere you see in Picky's various interfaces to launch an overlap view window. There are three types of overlap windows. If you double-click within a green or blue oligo target region of a sequence, a detailed all overlaps view only on the oligo target region window will pop up. If you double-click on the other regions of a sequence not chosen as probe targets, you will get a general longest overlap view window for the whole sequence you just double-clicked. Finally, if you wish, you can double-click the upper-left hand corner in an already opened overlap window of any flavor to get an all overlaps over the whole sequence overlap view window, which can be quite heavy if you have a large input gene set, but it does show you everything Picky has seen when it selected its oligos for that particular sequence you are viewing.

4. Click-to-view feature. Also now when you double-click a sequence as described above to get its overlap views, the place where you just double-clicked will be pulled into view when the new overlap window pop up. This works both for the detail probe region all overlaps view or the whole sequence longest overlap view, but not the all overlaps for the whole sequence view. This helps you quickly compare sequence regions to other sequence regions by "jumping" among their overlap view windows.

5. Lockable dynamic alignment. Previously in Picky 1.1 you can move your mouse around Picky overlap windows to see some dynamically generated alignments of a target sequence with its various nontargets. If you move the mouse away from any detected exact match fragment, the alignment will quickly disappear. People are often interested in seeing the alignment beyond the window size, especially when two sequences are very similar or have long stretches of very similar regions. You can now click on a nontarget fragment to lock its alignment view. This way, you can scroll back and forth without losing your alignment. This new feature essentially makes Picky a very handy dynamic multiple sequence alignment tool. To unlock the alignment, simply click on any white area of your screen or on another nontarget fragment to lock another alignment.

6. Scrolling with ease. You can now use your keyboard navigation keys to scroll Picky window views. You can use the up, down, left, and right arrow keys to scroll a few lines or base positions gradually, or you can use the Home, End, Page Up and Page Down keys to scroll much faster vertically. Finally, if you have a mouse with a rotation wheel, you can also use that to scroll Picky's window content. Note that on Windows you need to click on an window to get the keyboard focus to it before you can scroll its content with keys or the wheel on your mouse.

7. More precise nontarget melting temperature estimation. Picky 2.0 has a newly improved nontarget melting temperature calculation module which takes boundary conditions into consideration when checking for possible cross-hybridizations, e.g., those sequence region matches that occurred at the very end of one another. This new module is also slightly more efficient than the previous one.

8. Improved color schemes. Subsequent experience on various computer screens and LCD panels allows us to fine-tuned Picky's display colors to better illuminate its computed findings to users. The new color scheme used in this new version should make it much easier to identify the two types of probe target regions and the extent of similarity match of any sequence region to the other sequences.

9. Expanded maximum total sequence limit. Previously in Picky 1.1 a maximum total of 65,532 input sequences can be loaded into Picky at once. This limit has now been lifted. However, the physical memory size limit, the two gene set limit, the maximum 16,384 bp sequence length limit, and the 65,532 per gene set sequence limit still hold. Normally, it is your physical memory size that is the real limiting factor on the maximum gene set size you can process on your computer.

10. A utility to chop long input sequences is included in this release. When loading input sequences, if you see Picky complains that some input sequences are longer than its 16,384 bp limit so it cannot load them, you can use the include Perl script "" to break long input sequences into multiple fragments with the same sequence name to allow Picky to process them. Note that the side effect of this script is that you may have multiple oligos designed for some long sequences even if you just ask for one oligo design per sequence. You can modify the script so it may name each sequence fragment differently so you can then filter out those extra oligos. PC users can download ActivePerl to enable the execution of this Perl script <httpd://>.

11. Various user interface improvements and minor bug-fixes.

Version 1.1 (04/26/2004):

New Features: 1. Picky now takes sense strand input sequences. We changed it because it is more common to maintain gene sequences in the sense strand direction. 2. Dynamic overlap displays, both the general view and the detail view, now displays a local alignment up to the similarity level set by the users during the oligo computation. Additionally, in the detail oligo target region view a projected hybridization temperature of each nontarget with the probe are shown.

Version 1.0 (03/12/2004):

First public demo released.

Last modified June 13, 2008 . All rights reserved.

Contact Webmaster