changeset 11:eef06667d973 draft

planemo upload for repository https://github.com/peterjc/pico_galaxy/tree/master/tools/align_back_trans commit 5fb6ee31f33e8e24c1ae5d56c93ac3e0157dad72-dirty
author peterjc
date Thu, 09 Feb 2017 11:18:24 -0500
parents 839cb62120a4
children 61b4236e0cff
files tools/align_back_trans/README.rst tools/align_back_trans/align_back_trans.py tools/align_back_trans/align_back_trans.xml
diffstat 3 files changed, 21 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/tools/align_back_trans/README.rst	Wed Feb 01 06:52:08 2017 -0500
+++ b/tools/align_back_trans/README.rst	Thu Feb 09 11:18:24 2017 -0500
@@ -70,6 +70,7 @@
         - Use ``format_source=...`` tag.
         - Planemo for Tool Shed upload (``.shed.yml``, internal change only).
 v0.0.7  - Minor Python code style improvements (internal change only).
+v0.0.8  - Python coding style change to avoid lamba (internal change only).
 ======= ======================================================================
 
 
--- a/tools/align_back_trans/align_back_trans.py	Wed Feb 01 06:52:08 2017 -0500
+++ b/tools/align_back_trans/align_back_trans.py	Thu Feb 09 11:18:24 2017 -0500
@@ -18,12 +18,14 @@
 """
 
 import sys
-from Bio.Seq import Seq
-from Bio.Alphabet import generic_protein
+
+from Bio import AlignIO
+from Bio import SeqIO
+
 from Bio.Align import MultipleSeqAlignment
-from Bio import SeqIO
-from Bio import AlignIO
+from Bio.Alphabet import generic_protein
 from Bio.Data.CodonTable import ambiguous_generic_by_id
+from Bio.Seq import Seq
 
 if "-v" in sys.argv or "--version" in sys.argv:
     print "v0.0.7"
@@ -130,19 +132,23 @@
 def alignment_back_translate(protein_alignment, nucleotide_records, key_function=None, gap=None, table=0):
     """Thread nucleotide sequences onto a protein alignment."""
     # TODO - Separate arguments for protein and nucleotide gap characters?
-    if key_function is None:
-        key_function = lambda x: x
     if gap is None:
         gap = "-"
 
     aligned = []
-    for protein in protein_alignment:
-        try:
-            nucleotide = nucleotide_records[key_function(protein.id)]
-        except KeyError:
-            raise ValueError("Could not find nucleotide sequence for protein %r"
-                             % protein.id)
-        aligned.append(sequence_back_translate(protein, nucleotide, gap, table))
+    try:
+        if key_function is None:
+            for protein in protein_alignment:
+                nucleotide = nucleotide_records[protein.id]
+                aligned.append(sequence_back_translate(protein, nucleotide, gap, table))
+        else:
+            for protein in protein_alignment:
+                nucleotide = nucleotide_records[key_function(protein.id)]
+                aligned.append(sequence_back_translate(protein, nucleotide, gap, table))
+    except KeyError:
+        raise ValueError("Could not find nucleotide sequence for protein %r"
+                         % protein.id)
+
     return MultipleSeqAlignment(aligned)
 
 
--- a/tools/align_back_trans/align_back_trans.xml	Wed Feb 01 06:52:08 2017 -0500
+++ b/tools/align_back_trans/align_back_trans.xml	Thu Feb 09 11:18:24 2017 -0500
@@ -1,4 +1,4 @@
-<tool id="align_back_trans" name="Thread nucleotides onto a protein alignment (back-translation)" version="0.0.7">
+<tool id="align_back_trans" name="Thread nucleotides onto a protein alignment (back-translation)" version="0.0.8">
     <description>Gives a codon aware alignment</description>
     <requirements>
         <requirement type="package" version="1.63">biopython</requirement>