Designing and testing primers in MacVector – part 2

In the first article in this series we took an overview of all the primer design tools in MacVector. In this second look at primer design in MacVector I’m going to look in more detail at our latest tool – Design Primers (Primer3).

Primer3 is a powerful, highly configurable command line tool for designing primers. However, using it from the command line is fairly complicated, and it has a hard learning curve. For example you need to supply your template sequence and parameters using a pre-XML data exchange format called BoulderIO. The output is also in this format. Consequently quite a few web interfaces have been developed to make Primer3 more accessible to users. MacVector also hides all this complication from you and supplies a very easy to use point and click interface to Primer3. It provides an exceedingly easy way to design a set of primers. Our aim in designing the interface was to allow a user to be able to design a set of primers to amplify a certain part of their sequence with a maximum of three mouse clicks. This was achieved and the simplest way to design primers with MacVector is:

1 – Select a particular feature or region of a sequence by highlighting it.

2 – From the menu choose

Analyze | Primers | Primer Design (Primer3)

3 – click OK.

…and that’s it! The default primer design settings will be used to produce the optimal primers to amplify that section.

The results are also presented in an easy to use way. You have a ranked list in spreadsheet form, that will allow you to quickly copy and paste your results into an email to send to your oligo synthesising service. You will also see a graphical map of the top five primer pairs along with the expected product that each primer pair would produce.

Our secondary design aim was to allow experienced users access to the powerful functionality of Primer3. For the default values we chose the settings that will give you the most sensible and useful primers in the majprity of scenarios. However, these can be changed in just a few mouse clicks. By modifying the advanced parameters it is possible to tune these values, to obtain the best primers for non-standard situations.

Design Primers also lets you have more control about where the primers are picked from. As well as selecting a single feature, you can also choose a Region to Scan . Here you can specify a region within which the amplified product should lie. Simply choose the size of product you want and Primer3 will design primers to amplify products of that size, from anywhere in that region. By default this method will design primers to produce products between 100 and 300 bases in length. However, you can change the minimum and maximum Product size values to design primers to produce shorter or longer products.

Finally, you can design primers by specifying Flanking Regions and your left and right primers will be selected from these. This is similar to the Amplify Feature/Region method but it is much more flexible, as you can specify more precisely the region that each primer is selected from.

In the next Primer Design article we’ll look at designing internal primers for realtime PCR.

Technorati Tags:
,

 

Posted in Techniques | Comments closed

MacVector at the ASM

If you are attending the American Society for Microbiology meeting in Philadephia, be sure to stop by the MacVector booth ( 304) and say hello. We are giving away some cool mouse pads with a summary of the DNA and Protein IUPAC codes and the Universal Genetic Code printed on them for quick reference.

Stop by the MacVector booth to get your free mouse pad!

Stop by the MacVector booth to get your free mouse pad!

Posted in Meetings | Comments closed

An overview of Sequence Assembly in MacVector

MacVector has had sequence assembly functionality for a long time. Many moons ago MacVector came with a OS9 only tool called AssemblyLIGN. Although a useful tool it was fairly limited and needed a complete replacement, so about five years ago Assembler was released, which is a much more modern tool for sequence assembly. In addition to Assembler MacVector also has built in assembly functionality. With the next release of MacVector (Which is version 11 and due out in the Summer) we will be introducing support for the assembly of short read data so I think it’s an appropriate time to review these existing sequence assembly tools.

Since MacVector’s main base of users are generally lab molecular biologists, so the built in tools are designed to be useful for their needs, and are focused on sequencing of known sequences. These needs are served by a function called Align to Reference, that allows you to take trace files and assemble them against a template sequence. Its an ideal tool if you are doing small scale sequencing projects. For example confirming a site directed mutagenesis experiment, checking that a construct you’ve just spent months doing has the insert in the correct order, or confirming the sequence of a cloned PCR fragment.

However, the functionality of this tool does not stop there and it’s also an excellent tool for SNP analysis, with some special tools to allow you to easily spot mutations from your original template sequence. Align To Ref is also designed for aligning mRNA/cDNA sequences against genomic templates to allow you to find intron/exon junctions. Other uses include taking EST sequences and again aligning them against a genomic template. That will show coding regions very nicely.

Then we come back to Assembler. This is intended for full scale de novo sequencing projects. Although available as a separate product, Assembler integrates completely into MacVector, and in fact allows you to run standard MacVector sequence analysis jobs directly against a contig as if it was a single sequence. That’s great for designing primers to amplify part of your contig for example. Assembler uses the Phred, Phrap and Cross Match algorithms to assembles traces into contigs. It shows full quality scores of the reads and the aligned contigs. Although it performs automatic vector trimming, you can also run a library of your usual cloning vectors against traces before assembling them to improve accuracy. Assembler will also basecall traces with a higher accuracy that many sequencing machines themselves can achieve. Incidentally the trial version of MacVector also includes the Assembler plugin. Just go to FILE – NEW – ASSEMBLY PROJECT to start Assembler.

I’ll write about the next release of Assembler and its improvements soon.

Posted in Techniques | Comments closed

MacVector, Universal Type Identifiers and File Extensions

One feature that Macintosh applications have typically provided since the very beginning has been the ability to associate a document with an application such that opening the document (double clicking) would launch the appropriate application. Historically, on the Mac OS, this has been accomplished by including two additional pieces of information stored in the directory entry for the document: type and creator.  The document type is a 4 character identifier such as ‘TEXT’ or ‘NUCL’ which identifies the format of the document. The document creator is another 4 character identifier that is unique to an application – for example, MacVector uses the identifier ‘MVTR’. Although for the most part this has worked well as a Macintosh specific solution, there are a number of issues that have arisen, such as what should happen when a document was on one floppy disk and the application was on another.
A greater problem has arisen with the increase in computer networking and the integration of Macintosh computers into mixed computing environments. These days, files often come from many different computers using differing protocols to move the data between machines.  To solve this problem, Apple Computer developed a new technology known as Uniform Type Identifiers, or UTIs for short, that help software developers associate documents with their application even in a multi-platofrm environment. UTIs allow documents created on a Macintosh that might use the old type and creator, files created on a PC that might use file extensions or even files on served up by a web server using Multipurpose Internet Mail Extensions (MIME type) to all be associated with a specific application.
MacVector 10.5 uses UTIs and adds the common extensions and MIME types used by bioinformaticians to simplify the handling of sequence files obtained from different sources. So, for example, a UTI called “public.text” can have a type of ‘TEXT’, an extension of .txt or .text and a MIME type of “text/plain”. While there are no official assignments for sequence files, there are a number of common conventions. Again, for an example, a UTI “biosequence.genbank” might have a type ‘NUCL’, extensions .gb, .gen or .gbk, and a MIME type of “chemical/seq-na-genbank” or “chemical/x-genbank”. The system is still not perfect – for example, many sequence formats are represented as simple text files with a .txt extension, so MacVector will typically not be the default application to open such files. In these cases, you need to launch MacVector and open the file directly from the File menu. MacVector will then directly examine the contents of the file to determine the “real” type of the file.
If you are using MacVector on a Macintosh in an environment where many of your colleagues are using PCs, Unix machines or downloading sequence data from the Internet, the support for UTIs in MacVector 10.5 should make it so much easier to share data with your collaborators. You can find the list of UTIs used by MacVector in the knowledge base section of our web site.

Technorati Tags:

Posted in Development, General | Comments closed

How to save a graphical Map.

With earlier versions of MacVector the graphical Map was treated as a separate object to the actual sequence, and you could save it directly as a graphic file (PICT) from the Map window. However, the graphical map changed substantially with MacVector 9.5 and even more in 10.0, and now you need a different way to export a graphical map.

The initial change was one of format as the graphics subsystem changed substantially with the release of MacVector 9.5. Instead of using the PICT graphics format, MacVector now uses the Quartz graphic engine that uses PDF for all graphics. This is the standard Apple approved way of displaying any graphics. The advantages behind Quartz are that you can easily generate high quality graphics from MacVector. No longer do you have jagged edges to circular maps, nor fuzzy looking text labels. Furthermore with Quartz you can simply copy, and paste a map into any modern OS X application. For example Microsoft Office 2008 and Adobe Illustrator. You’ll also be able to edit the resulting image in that app too. Apple recommend that all applications use Quartz for graphics, and accept PDF from the clipboard. Microsoft Office 2004 did not accept this, and so we built in a workaround to allow you to still copy high quality graphics into this earlier version of Office.

Map.png

Additionally in MacVector 10, we introduced the tabbed view, where each tab is simply a different view of the same sequence. We thought it would prove confusing and potentially dangerous for the FILE – SAVE option to have different functions depending on which view is shown. We would hate users to overwrite their valuable sequence with a PDF of a restriction enzyme analysis!

Now the way to save a graphics map is as follows:

To Save a PDF image of a graphic

1. Select the graphics tab and select Edit | Copy.

2. Open the Apple utility ‘Preview.app’ and choose File | New from Clipboard.

3. Select File | Save As.

4. Navigate to the folder where you want to save the graphic data and choose Save.

To Copy a PDF image of a graphic

1. Select the graphics tab and select File | Copy

2. Navigate to the application you want to export the graphic to, and select Edit | Paste in that application.

We did intend to add a separate menu item to perform this directly. However, on the whole users seem to be happy with this approach, and extra menu items sometimes prove distracting.

Incidentally the Map view also allows you to graphically represent your sequence at the base or residue level, if you require.

Technorati Tags:
,

Posted in Techniques | Tagged | Comments closed

MacVector 10.6 released

We have recently released a new version of MacVector – 10.6. All customers currently running any version of MacVector 10.5 are entitled to install this version. We highly recommend you to install and upgrade as this release combines numerous bug fixes to MacVector 10.5 in addition to new functionality.

We have released 10.6 in between major releases mainly because we have added a new feature that will allow users to directly import sequences from Vector NTI databases along with their associated features. We have received many requests from former VectorNTI customers looking to move to a native Macintosh solution. We hope that this will prove to be a valuable tool for them to move their VNTI data and associated features to MacVector quickly.

Our next major release, MacVector 11 is still scheduled for release during the Summer.

The Vector NTI database importer allows you to directly import sequence data from databases created by Vector NTI Advance v10 or earlier. It will import databases on remote Windows machines too. Also since MacVector follows the Genbank format for the features table and is always kept up to date with the latest Genbank release, it has the added benefit of migrating any old and deprecated features information contained in the Vector NTI file into the current up to date features nomenclature.

MacVector 10.6 includes all of the cumulative bug fixes added to MacVector for versions 10.5.1 through 10.5.3 and has a few additional bug fixes, including;

(a) Sequences files can now be saved directly to non-Apple file systems such as remote Windows machines or USB drives.

(b) The Chromatogram (“Trace file”) editor has had a number of bugs fixed to make it more stable and to solve certain data corruption issues.

(c) Align To Reference now does a better job of laying out the graphics after running an alignment. You can also now prevent Reads from being sorted by position after the alignment completes by holding down the option key when starting the analysis.

Existing customers can download the installer immediately.

Technorati Tags:

Posted in Releases | Tagged | Comments closed

Patch Releases

A trail of ants came marching though my kitchen last week. I found the hole they came in and plugged it up. There, that’s sorted them. Two days later they were back, this time through a different hole. Bugs – I hate them. Just like software.

There are probably as many different approaches to software bugs as there are software applications. And none of them are perfect – I can’t think of a single application or OS that hasn’t crashed on me at least once over the years. So given that bugs are a reality in most (all?) software products, what is the best approach to reducing their impact once the product has been released? As a Product Manager over the past 10+ years, I’ve been involved in 20 to 30 major releases and probably twice as many minor ones across a variety of products and platforms. They all had one thing in common – within 2 weeks of release, at least one customer reported a bug that, had we known about it before release, we would have fixed before it went out.

At one company I was at, the policy was to “test, test, test” with the QA department somewhat removed from the R&D department.  A huge battery of mostly manual tests was run on every release. If a single line of code was changed, all had to be run again, on every combination of OS and platform supported. Each round of testing took a minimum of a week with every developer pulled off coding to help. Finally, the product was released and, inevitably, a bug report would come in almost straight away.. But, because of the extended release cycle, fixing that bug would take all of the developers and testers time for two weeks, during which time other bug reports would come in. In this way, four months pass before a patch was released, during which time no progress has been made on the next major release. This starts a vicious cycle where at the release post mortem, the QA department insists on more testing for the next version, so that release gets delayed even longer and when the inevitable bug reports come in, an even longer delay before that patch is released.

At MacVector, Inc, we’ve taken a more streamlined approach. We certainly do a lot of testing, but we rely on a much tighter integration between the QA and R+D departments to only retest areas that the developer believes would have been affected by the bug fix. That reduces our bug fix development cycle time dramatically, so we can have patch releases posted on the web site within a week of the initial report. The risks, of course, are those “Whack-a-Mole” bug fixes where the code to fix one bug reveals another bug elsewhere in the application. But if that happens, we know we can turn around a second bug fix in a week or so, not the six months that my old company took.

So the take home lessons are (a) check back to the MacVector web site often to pick up any new patches and (b) I really need to find out where those ants are coming from…

Posted in Development | Tagged | Comments closed

Designing and testing primers in MacVector – part 1

MacVector has many different primer tools for different purposes. In this, the first of a series of articles I want to present an overview of primer design in MacVector, and when it’s best to use which tool. I’ll also talk about what’s coming next in future releases.

Design Primers (Primer3)

The most flexible tool was introduced in MacVector 10. It provides a interface to Primer3. The dialogue is meant to be as flexible as possible and can cope with testing, designing, and even to find matching primers for a known one. You can also design internal primers for use in realtime and qPCR.

Out of all the primer tools Design Primers (Primer3) is the most tightly integrated into the MacVector point and click way of working. From the Map view you can design a pair of primers to amplify a feature in as little as three mouse clicks.

Primer3_Capture2.jpg

PCR Primer Pairs

PCR Primer Pairs has been in MacVector for many versions. The output is a text file and a graphical non-interactive map, however, it is very detailed and shows extra information that you may need. For example it will provide the optimal Tm to use for your PCR (rather than the Tm of your product and primer sequences). By default this tool will show pairs of primers to produce a specific product size, rather than amplify a certain region. To do this you need to specify two flanking regions.

Test PRIMER PAIRS

Whereas the output from this tool is fairly rudimentary, it does provide extra data about your primers that Design Primers will not. For example the optimal Tm to use for your PCR. It will also supply details about which bases could potentially form primer-primer or primer-dimer bonds. It will also show a more detailed view of the actual alignment formed between primer and template. Use this tool if Design Primers fails with stringent primer-primer interaction values.

Sequencing Primers/Probes

So far this is your only option for designing sequencing primers in MacVector. It produces a fairly detailed report, but does not show the actual location of the priming site.

Test Sequencing Primers/Probes

Again this is your only option for testing an existing sequencing primer. It produces a fairly detailed report that is similar to the text report provided by Test PRIMER PAIRS.

In the next post I’ll talk about Primer3 in more detail and how to design pairs of primers for usual cases. I’ll also show you some tips to get more out of this tool.

Technorati Tags:

Posted in Techniques | Tagged | Comments closed

Welcome to our blog

We’ve wanted to start a blog to better communicate with the MacVector community since we started MacVector, Inc, at the start of 2007. However, there’s always been something else to do. No longer! We already have our forums with contributions from users and with the blog we want to do something different. We will bring you tutorials and helpful articles on using MacVector and also to show you insights into our company and us. We also hope to bring you a peek into what’s coming in future releases too.

We have always tried to listen to users on what they want to see in MacVector. We’ve run surveys, asked (and received!) feedback on the forums, and generally been proactive about asking you what you want MacVector to do. Perhaps this is a refreshing approach for a commercial sequence analysis app as we’ve had a great response. So much that we already got MacVector 11, MacVector 11.5 and beyond already planned out. Still as a small company we do try to be flexible. For example due to user requests, we’ve brought forward the introduction of the Vector NTI database browser to version 10.6 (released last week). This was originally planned for the 11 release.

MacVector has been about for many versions and has a loyal band of users. We hope that this blog will help you better use MacVector and for us to continue to improve it.

Posted in General | Comments closed