[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