[Biopython-dev] [Bug 1777] New: Bio.Emboss.Primer patch for hybridization probes

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Mon May 2 10:50:38 EDT 2005


http://bugzilla.open-bio.org/show_bug.cgi?id=1777

           Summary: Bio.Emboss.Primer patch for hybridization probes
           Product: Biopython
           Version: Not Applicable
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main Distribution
        AssignedTo: biopython-dev at biopython.org
        ReportedBy: jhessel at gmail.com


I've patched Bio.Emboss.Primer to correctly parse results from a search for
hybridization probes.  The patch for Primer.py and primer3_format.py is pasted
below.  I've also updated Tests/test_Emboss.py and included a sample file, but
I'm not sure how to submit those (the test runs without errors).

Thanks,
Jay Hesselberth

<snip>
*** Primer.py   Fri Feb 18 13:14:18 2005
--- /usr/lib/python2.3/site-packages/Bio/Emboss/Primer.py       Sun May  1
09:57:08 2005
***************
*** 227,232 ****
--- 227,247 ----
      def reverse_seq(self, seq):
          self._cur_primer.reverse_seq = seq

+     def internal_start(self, start):
+         self._cur_primer.internal_start = int(start)
+
+     def internal_length(self, length):
+         self._cur_primer.internal_length = int(length)
+
+     def internal_tm(self, tm):
+         self._cur_primer.internal_tm = float(tm)
+
+     def internal_gc(self, gc):
+         self._cur_primer.internal_gc = float(gc)
+
+     def internal_seq(self, seq):
+         self._cur_primer.internal_seq = seq
+
      def end_record(self):
          self._add_last_primer()

***************
*** 240,245 ****
--- 255,262 ----
                                "forward_tm", "forward_gc", "forward_seq",
                                "reverse_start", "reverse_length",
                                "reverse_tm", "reverse_gc", "reverse_seq",
+                               "internal_start", "internal_length",
+                               "internal_tm", "internal_gc", "internal_seq",
                                "end_record"]

          expression = Martel.select_names(primer3_format.record,

</snip>
<snip>
*** primer3_format.py   Sun May 11 12:27:46 2003
--- /usr/lib/python2.3/site-packages/Bio/Emboss/primer3_format.py       Sun May
 1 09:59:04 2005
***************
*** 71,76 ****
--- 71,95 ----
                   any_space + reverse_primer_gc + any_space +
                   reverse_primer_seq + Martel.AnyEol())

+ #     INTERNAL OLIGO     197   20  59.96  40.00  AATTGCACATAACGGATGCA
+
+ internal_oligo_start = Martel.Group("internal_start",
+                                    any_integer)
+ internal_oligo_length = Martel.Group("internal_length",
+                                      any_integer)
+ internal_oligo_tm = Martel.Group("internal_tm",
+                                  any_float)
+ internal_oligo_gc = Martel.Group("internal_gc",
+                                  any_float)
+ internal_oligo_seq = Martel.Group("internal_seq",
+                                   sequence)
+ internal_line = Martel.Group("internal_line",
+                  primer_space + Martel.Str("INTERNAL OLIGO") +
+                  any_space + internal_oligo_start + any_space +
+                  internal_oligo_length + any_space + internal_oligo_tm +
+                  any_space + internal_oligo_gc + any_space +
+                  internal_oligo_seq + Martel.AnyEol())
+

  # XXX This record definition is ugly. But it works :-)
  record = Martel.Group("primer3_record",
***************
*** 90,97 ****
                                        reverse_line + blank_line,
                             # case 2b1. Reverse primer
                                        reverse_line + blank_line,
!                             # case 2b2, Forward primer
!                                       forward_line + blank_line)) +
                             blank_line + blank_line + Martel.Rep(blank_line)))


--- 109,118 ----
                                        reverse_line + blank_line,
                             # case 2b1. Reverse primer
                                        reverse_line + blank_line,
!                            # case 2b2, Forward primer
!                                       forward_line + blank_line,
!                            # case 2b3, Internal oligo
!                                       internal_line + blank_line)) +
                             blank_line + blank_line + Martel.Rep(blank_line)))
</snip>



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Biopython-dev mailing list