Mercurial > repos > peterjc > align_back_trans
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>