mailr27352 - /trunk/lib/sequence_alignment/align_protein.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on January 29, 2015 - 14:16:
Author: bugman
Date: Thu Jan 29 14:16:23 2015
New Revision: 27352

URL: http://svn.gna.org/viewcvs/relax?rev=27352&view=rev
Log:
Added the verbosity argument to 
lib.sequence_alignment.align_protein.align_pairwise().

If set to zero, all printouts are suppressed.


Modified:
    trunk/lib/sequence_alignment/align_protein.py

Modified: trunk/lib/sequence_alignment/align_protein.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/sequence_alignment/align_protein.py?rev=27352&r1=27351&r2=27352&view=diff
==============================================================================
--- trunk/lib/sequence_alignment/align_protein.py       (original)
+++ trunk/lib/sequence_alignment/align_protein.py       Thu Jan 29 14:16:23 
2015
@@ -31,7 +31,7 @@
 from lib.sequence_alignment.substitution_matrices import BLOSUM62, 
BLOSUM62_SEQ, PAM250, PAM250_SEQ
 
 
-def align_pairwise(sequence1, sequence2, algorithm='NW70', 
matrix='BLOSUM62', gap_open_penalty=1.0, gap_extend_penalty=1.0, 
end_gap_open_penalty=0.0, end_gap_extend_penalty=0.0):
+def align_pairwise(sequence1, sequence2, algorithm='NW70', 
matrix='BLOSUM62', gap_open_penalty=1.0, gap_extend_penalty=1.0, 
end_gap_open_penalty=0.0, end_gap_extend_penalty=0.0, verbosity=1):
     """Align two protein sequences.
 
     @param sequence1:                   The first protein sequence as one 
letter codes.
@@ -50,6 +50,8 @@
     @type end_gap_open_penalty:         float
     @keyword end_gap_extend_penalty:    The optional penalty for extending a 
gap at the end of a sequence.
     @type end_gap_extend_penalty:       float
+    @keyword verbosity:                 The level of verbosity.  Setting 
this to zero silences all printouts.
+    @type verbosity:                    int
     @return:                            The two alignment strings and the 
gap matrix.
     @rtype:                             str, str, numpy rank-2 int array
     """
@@ -67,12 +69,13 @@
     sequence2 = sequence2.upper()
 
     # Initial printout.
-    sys.stdout.write("\nPairwise protein alignment.\n")
-    sys.stdout.write("%-30s %s\n" % ("Substitution matrix:", matrix))
-    sys.stdout.write("%-30s %s\n" % ("Gap opening penalty:", 
gap_open_penalty))
-    sys.stdout.write("%-30s %s\n" % ("Gap extend penalty:", 
gap_extend_penalty))
-    sys.stdout.write("\n%-30s %s\n" % ("Input sequence 1:", sequence1))
-    sys.stdout.write("%-30s %s\n" % ("Input sequence 2:", sequence2))
+    if verbosity:
+        sys.stdout.write("\nPairwise protein alignment.\n")
+        sys.stdout.write("%-30s %s\n" % ("Substitution matrix:", matrix))
+        sys.stdout.write("%-30s %s\n" % ("Gap opening penalty:", 
gap_open_penalty))
+        sys.stdout.write("%-30s %s\n" % ("Gap extend penalty:", 
gap_extend_penalty))
+        sys.stdout.write("\n%-30s %s\n" % ("Input sequence 1:", sequence1))
+        sys.stdout.write("%-30s %s\n" % ("Input sequence 2:", sequence2))
 
     # Select the substitution matrix.
     if matrix == 'BLOSUM62':
@@ -87,15 +90,16 @@
         align1, align2, gaps = needleman_wunsch_align(sequence1, sequence2, 
sub_matrix=sub_matrix, sub_seq=sub_seq, gap_open_penalty=gap_open_penalty, 
gap_extend_penalty=gap_extend_penalty, 
end_gap_open_penalty=end_gap_open_penalty, 
end_gap_extend_penalty=end_gap_extend_penalty)
 
     # Final printout.
-    sys.stdout.write("\n%-30s %s\n" % ("Aligned sequence 1:", align1))
-    sys.stdout.write("%-30s %s\n" % ("Aligned sequence 2:", align2))
-    sys.stdout.write("%-30s " % "")
-    for i in range(len(align1)):
-        if align1[i] == align2[i]:
-            sys.stdout.write("*")
-        else:
-            sys.stdout.write(" ")
-    sys.stdout.write("\n\n")
+    if verbosity:
+        sys.stdout.write("\n%-30s %s\n" % ("Aligned sequence 1:", align1))
+        sys.stdout.write("%-30s %s\n" % ("Aligned sequence 2:", align2))
+        sys.stdout.write("%-30s " % "")
+        for i in range(len(align1)):
+            if align1[i] == align2[i]:
+                sys.stdout.write("*")
+            else:
+                sys.stdout.write(" ")
+        sys.stdout.write("\n\n")
 
     # Return the results.
     return align1, align2, gaps




Related Messages


Powered by MHonArc, Updated Thu Jan 29 15:40:02 2015