# HG changeset patch
# User ben-warren
# Date 1404775697 14400
# Node ID f201e8c6e0045a093236417dcb286a325c630624
# Parent b321e0517be3ac3a65f01bf6bf963253bb85c7c3
Uploaded
diff -r b321e0517be3 -r f201e8c6e004 README.md
--- a/README.md Thu May 22 20:30:19 2014 -0400
+++ b/README.md Mon Jul 07 19:28:17 2014 -0400
@@ -1,15 +1,15 @@
galaxy-pcr-markers
==================
-Scripts for design of PCR-based Marker Assays from DNA sequence variant data, and xml wrappers for use in Galaxy workflow environment
+Scripts for design of PCR-based Marker Assays from DNA sequence variant data, and xml wrappers for use in the Galaxy workflow environment
Also available for download at Galaxy Toolshed http://toolshed.g2.bx.psu.edu/
hg clone http://toolshed.g2.bx.psu.edu/repos/john-mccallum/pcr_markers
-NOTE that the primer design tool *design_primers.py* relies on EMBOSS ePrimer3 which depends on Primer3 1.1.4.
-The updated tool *design_HRM_primers.py* does not have this restriction and should work with Primer3 V2.
+NOTE that the primer design tool *design_primers.py* no longer relies on EMBOSS ePrimer3 (which depends on Primer3 1.1.4.)
+ and should work with Primer3 V2.
-Please see development branch HRM for optimised design of high-resolution melting PCR assays using the uMelt web service at University of Utah.
+This release adds optimised design of high-resolution melting PCR assays using the uMelt web service provided by the Wittwer Lab at University of Utah https://www.dna.utah.edu/umelt/umelt.html
**CITATION**
@@ -19,6 +19,9 @@
BMC Genomics 2012, 13:637 http://www.biomedcentral.com/1471-2164/13/637/abstract
+uMELT: prediction of high-resolution melting curves and dynamic melting profiles of PCR products in a rich web application.
+Zachary Dwight1, Robert Palais and Carl T. Wittwer http://bioinformatics.oxfordjournals.org/content/27/7/1019
+
**Acknowledgements**
Current development of these tools is funded by the New Zealand Ministry for Business, Innovation & Employment project 'Virtual Institute of Statistical Genetics' (VISG)
See http://www.visg.co.nz
diff -r b321e0517be3 -r f201e8c6e004 design_primers.py
--- a/design_primers.py Thu May 22 20:30:19 2014 -0400
+++ b/design_primers.py Mon Jul 07 19:28:17 2014 -0400
@@ -159,19 +159,22 @@
amp_end=int(primerset['PRIMER_RIGHT'].split(',')[0])
ref_melt_Tm=0
var_melt_Tm=0
+ diff_melt=0
if my_args.run_uMelt:
try:
ref_melt_Tm=umelts.getTm(umelts.getmelt(amp_seq.tostring()[amp_start:amp_end+1]))
var_melt_Tm=umelts.getTm(umelts.getmelt(mutamp_seq.tostring()[amp_start:amp_end+1]))
+ diff_melt=abs(ref_melt_Tm - var_melt_Tm)
except:
- ref_melt_Tm=0 ##preferably something more informative?
- var_melt_Tm=0 ##exception handling to be added
+ ref_melt_Tm="NA" ##preferably something more informative?
+ var_melt_Tm="NA" ##exception handling to be added
+ diff_melt="NA"
reference_seq=target_feat.qualifiers['Reference_seq'][0]
if target_feat.qualifiers.has_key('Variant_seq'):
variant_seq=target_feat.qualifiers['Variant_seq'][0]
else:
variant_seq="NA"
- print mytarget.id, featLocation + 1 ,reference_seq, variant_seq,amp_end-amp_start,primerset['PRIMER_LEFT_SEQUENCE'],primerset['PRIMER_RIGHT_SEQUENCE'], ref_melt_Tm,var_melt_Tm,abs(ref_melt_Tm-var_melt_Tm)#, amp_seq.tostring()[amp_start:amp_end+1], mutamp_seq.tostring()[amp_start:amp_end+1]
+ print mytarget.id, featLocation + 1 ,reference_seq, variant_seq,amp_end-amp_start,primerset['PRIMER_LEFT_SEQUENCE'],primerset['PRIMER_RIGHT_SEQUENCE'], ref_melt_Tm,var_melt_Tm,diff_melt#, amp_seq.tostring()[amp_start:amp_end+1], mutamp_seq.tostring()[amp_start:amp_end+1]
my_args.gff_file.close()
my_args.in_file.close()
diff -r b321e0517be3 -r f201e8c6e004 design_primers.xml
--- a/design_primers.xml Thu May 22 20:30:19 2014 -0400
+++ b/design_primers.xml Mon Jul 07 19:28:17 2014 -0400
@@ -23,6 +23,9 @@
+
+
+
.. class:: infomark
diff -r b321e0517be3 -r f201e8c6e004 umelt_service.py
--- a/umelt_service.py Thu May 22 20:30:19 2014 -0400
+++ b/umelt_service.py Mon Jul 07 19:28:17 2014 -0400
@@ -22,11 +22,11 @@
try:
response = urllib2.urlopen(req,timeout=timeout_sec)
except urllib2.HTTPError, e:
- print 'The server couldn\'t fulfill the request.'
- print 'Error code: ', e.code
+ print >> sys.stderr, 'The server couldn\'t fulfill the request.'
+ print >> sys.stderr, 'Error code: ', e.code
except urllib2.URLError, e:
- print 'We failed to reach a server.'
- print 'Reason: ', e.reason
+ print >> sys.stderr, 'We failed to reach a server.'
+ print >> sys.stderr, 'Reason: ', e.reason
else:
melt_data = response.read()
tree = ET.fromstring(melt_data)