|
FAQ
Frequently Asked Questions
Why?Because designing and tagging primers is a very time-consuming process, if done by hand. Primer design can be automated, but there was previously not an easy way to tag primers. msatcommander attempts to do both, easily. Does msatcommander work in OS X 10.3?As of version 0.8.0, msatcommander requires OSX 10.4.x What are these 'tags' and where do they come from?The primary reference re: tagging primers is Boutin-Ganache et al. 2001 (see References). Since that article, there have been several others using tags to fluorescently label primers (e.g. Schable et al. 2002). Travis Glenn provides addtional information re: tagging primers here. Additionally, you may design and attach your own tagged sequences. What are the tag sequences?These may be found in the source code (mscprimertag.py), as well. Remember that common bases (between the 3' end of the tag and 5' end of the primer sequence) will be removed: CAG = 'CAGTCGGGCGTCATCA' M13R = 'GGAAACAGCTATGACCAT' Which tag is 'better'?In my experience, the CAG tag has more desirable properties than the M13R tag. Generally, M13R causes problems with self-, end-, and pair-complementarity or it introduces hairpins to the primer that is tagged. You will notice that, in large part, if you choose to tag primers with either CAG or M13R, the software 'chooses' CAG-tagged primers more often. This is for the reasons given above (largely based on measures of complementarity). Can I use tagged primers for large studies?Yes, you can. We are currently using tagged primers to genotype roughly 2000 individuals @ 16 loci. The nice thing about tags is that they allow a modular approach to fluorescent genotyping. If you want/need to change dye 'colors' (due to overlap problems, for instance), it's easy enough - just purchase the tag you need with a new dye attached. Similarly, you can quickly, easily, and inexpensively change entire dye sets, just by purchasing the tags you need in the 'colors' you want. For example, you can choose to move from DS-30 to DS-33 (see here if you are using an Applied Biosytems machine). With every benefit, there is some cost. In this case, PCR setup can be a little more complicated. That said, if you premix your tagged primer, your untagged primer, and the labelled tag, things are easy enough. Then you just need to add an appropriate amount of this mix to your PCR reaction. You should also remember that results acquired from tagged primers are not equivalent to those acquired from directly-labelled primers. Theoretically, the tagged fragments will be equivalent in length to the untagged (directly labelled) fragments + the length of the tag. In practice, things are not always so easy. So, it is generally easier to make the choice prior to beginning a study and stick with that method. How does msatcommander deal with hairpins?This is sort of a loaded question. msatcommander uses primer3 for primer design. primer3 takes a non-thermodynamic approach to evaluating self-, pair-, and end-complementarity. As such, hairpins are evaluated without respect to thermodynamic properties.
There are packages (free and commercial) that will evaluate hairpins in a sequence (UNAFold). However, secondary structure prediction is not an easy task, and one that is affected by many parameters (Salt conc., Mg conc., Temperature, Oligo conc.). For more information see: Santalucia and Hicks, 2004. Annu. Rev. Biophys. Biomol. Struct. 33:415–40 doi: 10.1146/annurev.biophys.32.110601.141800. You should also be aware that these programs are meant to provide predictive results. Therefore, primers and tagged primers may be designed that have hairpins with high stability as indicated by certain software packages (i,e. they have high Tms). It is also likely that results will differ between packages used for these evaluations. For example, a tagged primer sequence recently tested gave the following results on 3 different packages:
So, how do you deal with this problem? Why do my primers for certain loci (in some cases) contain repeats from other loci?In a sense, this is a limitation of primer3. We can define the max-poly-x flag to keep primers from having a run of identical bases, but primer3 does not have a flag to avoid including various classes of repeat arrays. That being said, you can sometimes get around this problem by choosing to combine repeat arrays. In other cases, you will just need to visually scan your primers to ensure they do not contain repeats (this is generally easy, as repeat arrays tend to be easy to see in short lengths of sequence). A future addition to msatcommander will scan designed and tagged primers to fix this issue. Why is the Windows version so ugly?Windows is ugly, ergo msatcommander on windows follows that pattern. Seriously, wxPython applications for windows look slightly different from their OS X counterparts. There are numerous reasons for this. Basically, I don't have time to keep 2 GUI codebases up to date so that things are pretty on each OS. What is searching performance like?Pretty good. Here are some examples:
What is the success rate of designed primers?Primers designed using the design and tagging features of msatcommander have yielded approximately 85% amplification success. This does not mean 85% of your primer will be polymorphic. It does mean that roughly 85% should amplify some (perhaps monomorphic) product. This success rate is largely due to the fact that the primer3 program (the primer design engine) is pretty darn good at what it does. Note: this is dependent on your sequence quality, read-lengths, and organism of interest. For example, organisms with lots of transposable elements (gymnosperms) are finicky, to say the least. It is probably a good idea to design a batch of 10ish primer pairs for your organism of interest using msatcommander. These can be tested to evaluate your success prior to ordering larger batches (>50 primer pairs). If you would like to provide me with information on your success rate (and organism), I would love to have it in hand and possibly to post to this wiki, with your permission. You may contact me via the list-serve or by adding 'faircloth' to '@gmail.com'. Why do you use a vector sequence for the primer tagging?Good question. The vector sequence is used to keep things short and fast. Generally speaking, we only want to know about self-,pair-, and end-complementarity of the tagged primers. We don't care so much about the sequence in between these. This also keeps things a bit open in the source code. If you wanted to use just the tagging module, you could do so by just sending it a list of designed primers (in the correct format) for tagging - you don't need to have the FASTA file of sequence data. This becomes handy if you want to tag a bunch of primers that were designed using another program (again, you could do this with the source - you cannot currently do this using msatcommander). Will msatCommander work with Chromas files?In > 0.4.4, Chromas files should work. Is msatCommander a universal binary?Yes. Why the Beachball?You will notice that (at least in the osx version of msatCommander) you get the beachball while the program is running. This is normal. At some point (not a priority) I will use python threads to get rid of the beachball. I will also implement a progress bar. For now (0.4.5 and above), a popup window indicates completion. Why do you use subprocess.Popen versus os.popen?Because windows does not play nicely with os.popen and the primer3_core binary. That being said, there remains an 'issue' with subprocess.Popen and py2exe, and you must call it as follows (if building the windows GUI using py2exe):p=subprocess.Popen(pathToPrimer3,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True).stdoutIf you do not set stdin, stdout, and stderr to PIPE, you will get the following error:TypeError: an integer is required |
Sign in to add a comment
I am having problems with the installation of the program. Even though I have Biopython installed, it can't find the Bio module... Here's what i get: silvana@silvana-pc:~/Documentos/msatcommander$ python msatcommander.py Traceback (most recent call last):
ImportError?: No module named BioAny help would be appreciated. Thanks.
Hi there,
sorry to be so slow getting back to you - i never received an update from google relative to your comment on this page.
Are you sure that biopython was installed in your PYTHONPATH (try locate or find)?
If it was installed in a non-standard directory, you will need to tell python to add this directory to your pythonpath. You may wish to google "set PYTHONPATH" for your operating system...
I've successfully installed msatcommander on a Windows PC which has XP SP2 as its operating system. I have not been able to install it on a PC with XP SP3 or a PC with Vista as the operating system. Is the program compatible with these two versions of Windows? If so, can you suggest what I might be doing wrong? Thanks very much.
Ken Jones
Please ignore my previous email. I failed to read the Supported OSs on the Homepage. Ken Jones