[med-svn] r12429 - in trunk/packages/conservation-code/trunk/debian: . patches
Laszlo Kajan
lkajan-guest at alioth.debian.org
Mon Oct 15 17:59:29 UTC 2012
Author: lkajan-guest
Date: 2012-10-15 17:59:29 +0000 (Mon, 15 Oct 2012)
New Revision: 12429
Added:
trunk/packages/conservation-code/trunk/debian/patches/Python3-prints
trunk/packages/conservation-code/trunk/debian/patches/usage
Modified:
trunk/packages/conservation-code/trunk/debian/changelog
trunk/packages/conservation-code/trunk/debian/patches/series
trunk/packages/conservation-code/trunk/debian/patches/stockholm_format
Log:
added patches Python3-prints and usage
Modified: trunk/packages/conservation-code/trunk/debian/changelog
===================================================================
--- trunk/packages/conservation-code/trunk/debian/changelog 2012-10-15 14:18:09 UTC (rev 12428)
+++ trunk/packages/conservation-code/trunk/debian/changelog 2012-10-15 17:59:29 UTC (rev 12429)
@@ -1,6 +1,9 @@
conservation-code (20110309.0-2) UNRELEASED; urgency=low
* Allow parsing of Stockholm format as well.
+ * Python3 print().
+ * usage() prints on stderr in case of error.
+ * Errors are printed on stderr.
-- Laszlo Kajan <lkajan at rostlab.org> Thu, 11 Oct 2012 22:50:04 +0200
Added: trunk/packages/conservation-code/trunk/debian/patches/Python3-prints
===================================================================
--- trunk/packages/conservation-code/trunk/debian/patches/Python3-prints (rev 0)
+++ trunk/packages/conservation-code/trunk/debian/patches/Python3-prints 2012-10-15 17:59:29 UTC (rev 12429)
@@ -0,0 +1,155 @@
+--- a/score_conservation.py
++++ b/score_conservation.py
+@@ -83,6 +83,7 @@
+ #
+ ################################################################################
+
++from __future__ import print_function
+ import math, sys, getopt
+ import re
+ # numarray imported below
+@@ -99,7 +100,7 @@
+
+
+ def usage():
+- print """\nUSAGE:\nscore_conservation [options] alignfile\n\t -alignfile must be in fasta, Stockholm or clustal format.\n\nOPTIONS:\n\t
++ print( """\nUSAGE:\nscore_conservation [options] alignfile\n\t -alignfile must be in fasta, Stockholm or clustal format.\n\nOPTIONS:\n\t
+ -a\treference sequence. Print scores in reference to a specific sequence (ignoring gaps). Default prints the entire column. [sequence name]\n\t
+ -b\tlambda for window heuristic linear combination. Default=.5 [real in [0,1]]\n
+ -d\tbackground distribution file, e.g., swissprot.distribution. Default=BLOSUM62 background [filename]\n\t
+@@ -112,7 +113,7 @@
+ -p\tuse gap penalty. Lower the score of columns that contain gaps. Default=True [True|False]\n\t
+ -s\tconservation estimation method. \n\t\tOptions: shannon_entropy, property_entropy, property_relative_entropy, vn_entropy, relative_entropy, js_divergence, sum_of_pairs. Default=js_divergence\n\t
+ -w\twindow size. Number of residues on either side included in the window. Default=3 [int]\n\t
+- """
++ """ )
+
+
+
+@@ -542,7 +543,7 @@
+ list_sm.append(row)
+
+ except IOError, e:
+- print "Could not load similarity matrix: %s. Using identity matrix..." % sm_file
++ print( "Could not load similarity matrix: %s. Using identity matrix..." % sm_file, file=sys.stderr )
+ return identity(20)
+
+ # if matrix is stored in lower tri form, copy to upper
+@@ -630,13 +631,13 @@
+
+
+ except IOError, e:
+- print e, "Using default (BLOSUM62) background."
++ print( e, "Using default (BLOSUM62) background.", file=sys.stderr )
+ return []
+
+ # use a range to be flexible about round off
+ if .997 > sum(distribution) or sum(distribution) > 1.003:
+- print "Distribution does not sum to 1. Using default (BLOSUM62) background."
+- print sum(distribution)
++ print( "Distribution does not sum to 1. Using default (BLOSUM62) background.", file=sys.stderr )
++ print( sum(distribution), file=sys.stderr )
+ return []
+
+ return distribution
+@@ -775,21 +776,21 @@
+ try:
+ window_size = int(arg)
+ except ValueError:
+- print "ERROR: Window size must be an integer. Using window_size 3..."
++ print( "ERROR: Window size must be an integer. Using window_size 3...", file=sys.stderr )
+ window_size = 3
+ elif opt == "-b":
+ try:
+ win_lam = float(arg)
+ if not (0. <= win_lam <= 1.): raise ValueError
+ except ValueError:
+- print "ERROR: Window lambda must be a real in [0,1]. Using lambda = .5..."
++ print( "ERROR: Window lambda must be a real in [0,1]. Using lambda = .5...", file=sys.stderr )
+ win_lam = .5
+ elif opt == "-g":
+ try:
+ gap_cutoff = float(arg)
+ if not (0. <= gap_cutoff < 1.): raise ValueError
+ except ValueError:
+- print "ERROR: Gap cutoff must be a real in [0,1). Using a gap cutoff of .3..."
++ print( "ERROR: Gap cutoff must be a real in [0,1). Using a gap cutoff of .3...", file=sys.stderr )
+ gap_cutoff = .3
+ elif opt == '-a':
+ seq_specific_output = arg
+@@ -804,7 +805,7 @@
+ elif arg == 'relative_entropy': scoring_function = relative_entropy
+ elif arg == 'js_divergence': scoring_function = js_divergence
+ elif arg == 'sum_of_pairs': scoring_function = sum_of_pairs
+- else: print "%s is not a valid scoring method. Using %s.\n" % (arg, scoring_function.__name__)
++ else: print( "%s is not a valid scoring method. Using %s.\n" % (arg, scoring_function.__name__), file=sys.stderr )
+
+
+ align_file = args[0]
+@@ -821,18 +822,18 @@
+ if names == []:
+ names, alignment = read_fasta_alignment(align_file)
+ except IOError, e:
+- print e, "Could not find %s. Exiting..." % align_file
++ print( e, "Could not find %s. Exiting..." % align_file, file=sys.stderr )
+ sys.exit(1)
+
+
+ if len(alignment) != len(names) or alignment == []:
+- print "Unable to parse alignment.\n"
++ print( "Unable to parse alignment.\n", file=sys.stderr )
+ sys.exit(1)
+
+ seq_len = len(alignment[0])
+ for i, seq in enumerate(alignment):
+ if len(seq) != seq_len:
+- print "ERROR: Sequences of different lengths: %s (%d) != %s (%d).\n" % (names[0], seq_len, names[i], len(seq))
++ print( "ERROR: Sequences of different lengths: %s (%d) != %s (%d).\n" % (names[0], seq_len, names[i], len(seq)), file=sys.stderr )
+ sys.exit(1)
+
+
+@@ -846,7 +847,7 @@
+ # handle print of output relative to specific sequence
+ ref_seq_num = None
+ if seq_specific_output and seq_specific_output not in names:
+- print "Sequence %s not found in alignment. Using default output format...\n" % seq_specific_output
++ print( "Sequence %s not found in alignment. Using default output format...\n" % seq_specific_output, file=sys.stderr )
+ seq_specific_output = 0
+ elif seq_specific_output in names:
+ ref_seq_num = names.index(seq_specific_output)
+@@ -880,15 +881,15 @@
+ else:
+ outfile.write("# align_column_number\tscore\tcolumn\n")
+ else:
+- print "# %s -- %s - window_size: %d - background: %s - seq. weighting: %s - gap penalty: %d - normalized: %s" % (align_file, scoring_function.__name__, window_size, background_name, use_seq_weights, use_gap_penalty, normalize_scores)
++ print( "# %s -- %s - window_size: %d - background: %s - seq. weighting: %s - gap penalty: %d - normalized: %s" % (align_file, scoring_function.__name__, window_size, background_name, use_seq_weights, use_gap_penalty, normalize_scores) )
+ if seq_specific_output:
+- print "# reference sequence: %s" % seq_specific_output
+- print "# align_column_number\tamino acid\tscore\n"
++ print( "# reference sequence: %s" % seq_specific_output )
++ print( "# align_column_number\tamino acid\tscore\n" )
+ else:
+- print "# align_column_number\tscore\tcolumn\n"
++ print( "# align_column_number\tscore\tcolumn\n" )
+
+ except IOError, e:
+- print "Could not open %s for output. Printing results to standard out..." % outfile_name
++ print( "Could not open %s for output. Printing results to standard out..." % outfile_name, file=sys.stderr )
+ outfile_name = ""
+
+ for i, score in enumerate(scores):
+@@ -896,12 +897,12 @@
+ cur_aa = get_column(i, alignment)[ref_seq_num]
+ if cur_aa == '-': continue
+ if outfile_name == "":
+- print "%d\t%s\t%.5f" % (i, cur_aa, score)
++ print( "%d\t%s\t%.5f" % (i, cur_aa, score) )
+ else:
+ outfile.write("%d\t%s\t%5f\n" % (i, cur_aa, score))
+ else:
+ if outfile_name == "":
+- print "%d\t%.5f\t%s" % (i, score, "".join(get_column(i, alignment)))
++ print( "%d\t%.5f\t%s" % (i, score, "".join(get_column(i, alignment))) )
+ else:
+ outfile.write("%d\t%5f\t%s\n" % (i, score, "".join(get_column(i, alignment))))
+
Modified: trunk/packages/conservation-code/trunk/debian/patches/series
===================================================================
--- trunk/packages/conservation-code/trunk/debian/patches/series 2012-10-15 14:18:09 UTC (rev 12428)
+++ trunk/packages/conservation-code/trunk/debian/patches/series 2012-10-15 17:59:29 UTC (rev 12429)
@@ -4,3 +4,5 @@
default_matrix_path
optimize_loop
stockholm_format
+Python3-prints
+usage
Modified: trunk/packages/conservation-code/trunk/debian/patches/stockholm_format
===================================================================
--- trunk/packages/conservation-code/trunk/debian/patches/stockholm_format 2012-10-15 14:18:09 UTC (rev 12428)
+++ trunk/packages/conservation-code/trunk/debian/patches/stockholm_format 2012-10-15 17:59:29 UTC (rev 12429)
@@ -11,6 +11,15 @@
# numarray imported below
PSEUDOCOUNT = .0000001
+@@ -98,7 +99,7 @@
+
+
+ def usage():
+- print """\nUSAGE:\nscore_conservation [options] alignfile\n\t -alignfile must be in fasta or clustal format.\n\nOPTIONS:\n\t
++ print """\nUSAGE:\nscore_conservation [options] alignfile\n\t -alignfile must be in fasta, Stockholm or clustal format.\n\nOPTIONS:\n\t
+ -a\treference sequence. Print scores in reference to a specific sequence (ignoring gaps). Default prints the entire column. [sequence name]\n\t
+ -b\tlambda for window heuristic linear combination. Default=.5 [real in [0,1]]\n
+ -d\tbackground distribution file, e.g., swissprot.distribution. Default=BLOSUM62 background [filename]\n\t
@@ -679,12 +680,14 @@
return names, alignment
@@ -27,7 +36,7 @@
f = open(filename)
for line in f:
-@@ -692,16 +695,20 @@
+@@ -692,16 +695,21 @@
if len(line) == 0: continue
if '*' in line: continue
@@ -41,13 +50,14 @@
t = line.split()
if len(t) == 2 and t[1][0] in iupac_alphabet:
++ ali = t[1].upper().replace('B', 'D').replace('Z', 'Q').replace('X', '-').replace('\r', '').replace('.', '-')
if t[0] not in names:
names.append(t[0])
- alignment.append(t[1].upper().replace('B', 'D').replace('Z', 'Q').replace('X', '-').replace('\r', ''))
-+ alignment.append(t[1].upper().replace('B', 'D').replace('Z', 'Q').replace('X', '-').replace('\r', '').replace('.', '-'))
++ alignment.append(ali)
else:
- alignment[names.index(t[0])] += t[1].upper().replace('B', 'D').replace('Z', 'Q').replace('X','-').replace('\r', '')
-+ alignment[names.index(t[0])] += t[1].upper().replace('B', 'D').replace('Z', 'Q').replace('X','-').replace('\r', '').replace('.', '-')
++ alignment[names.index(t[0])] += ali
return names, alignment
Added: trunk/packages/conservation-code/trunk/debian/patches/usage
===================================================================
--- trunk/packages/conservation-code/trunk/debian/patches/usage (rev 0)
+++ trunk/packages/conservation-code/trunk/debian/patches/usage 2012-10-15 17:59:29 UTC (rev 12429)
@@ -0,0 +1,41 @@
+--- a/score_conservation.py
++++ b/score_conservation.py
+@@ -99,7 +99,7 @@
+ aa_to_index[aa] = i
+
+
+-def usage():
++def usage( __file = sys.stdout ):
+ print( """\nUSAGE:\nscore_conservation [options] alignfile\n\t -alignfile must be in fasta, Stockholm or clustal format.\n\nOPTIONS:\n\t
+ -a\treference sequence. Print scores in reference to a specific sequence (ignoring gaps). Default prints the entire column. [sequence name]\n\t
+ -b\tlambda for window heuristic linear combination. Default=.5 [real in [0,1]]\n
+@@ -113,7 +113,7 @@
+ -p\tuse gap penalty. Lower the score of columns that contain gaps. Default=True [True|False]\n\t
+ -s\tconservation estimation method. \n\t\tOptions: shannon_entropy, property_entropy, property_relative_entropy, vn_entropy, relative_entropy, js_divergence, sum_of_pairs. Default=js_divergence\n\t
+ -w\twindow size. Number of residues on either side included in the window. Default=3 [int]\n\t
+- """ )
++ """, file=__file)
+
+
+
+@@ -740,17 +740,17 @@
+
+ # parse options and args -- see usage()
+ if len(sys.argv) < 2:
+- usage()
++ usage(__file=sys.stderr)
+ sys.exit(2)
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "hl:d:m:o:s:w:g:p:b:a:n")
+ except getopt.GetoptError:
+- usage()
++ usage(__file=sys.stderr)
+ sys.exit(1)
+
+ if len(args) < 1:
+- usage()
++ usage(__file=sys.stderr)
+ sys.exit(1)
+
+ for opt, arg in opts:
More information about the debian-med-commit
mailing list