[med-svn] [Git][med-team/cct][master] Address BLAST usage errors as of BLAST+ 2.10.

Aaron M. Ucko gitlab at salsa.debian.org
Mon Oct 19 21:16:10 BST 2020



Aaron M. Ucko pushed to branch master at Debian Med / cct


Commits:
81fe0276 by Aaron M. Ucko at 2020-10-19T16:14:21-04:00
Address BLAST usage errors as of BLAST+ 2.10.

debian/patches/conditionalize_blast_-Q_-D.patch (new): Supply the
legacy blastall command's -Q and -D flags only in BLAST variants that
involve translating queries and subjects respectively.  (tblastx
notably translates both.)

NB: The use of -v $settings{HITLIST_SIZE} in conjunction with the
supplied $format_type value (7 or 9) results in the warning

    Warning: [tblastn] The parameter -num_descriptions is ignored for output formats > 4 . Use -max_target_seqs to control output

Actually substituting -max_target_seqs would require bypassing the
legacy blastall wrapper, which isn't entirely straightforward in this
instance due to the need to convert a variable format string to modern
options.  (Also, this script technically only knows the path to
blastall, though that shouldn't be a concern in practice on Debian.)

- - - - -


3 changed files:

- debian/changelog
- + debian/patches/conditionalize_blast_-Q_-D.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,5 +1,6 @@
 cct (20170919+dfsg-2) UNRELEASED; urgency=medium
 
+  [ Andreas Tille ]
   * Depends: ncbi-blast+-legacy, imagemagick | graphicsmagick, liberror-perl,
     libwww-perl
   * Standards-Version: 4.5.0 (routine-update)
@@ -7,11 +8,15 @@ cct (20170919+dfsg-2) UNRELEASED; urgency=medium
   * Remove trailing whitespace in debian/copyright (routine-update)
   * Add salsa-ci file (routine-update)
   * Rules-Requires-Root: no (routine-update)
-  TODO: Either restrict the test suite to those tests that are compatible
-        with current blast or hope for answers to
-          https://lists.debian.org/debian-med/2020/10/msg00103.html
 
- -- Andreas Tille <tille at debian.org>  Fri, 16 Oct 2020 10:15:34 +0200
+  [ Aaron M. Ucko ]
+  * debian/patches/conditionalize_blast_-Q_-D.patch (new): Address BLAST
+    usage errors as of BLAST+ 2.10 by supplying the legacy blastall
+    command's -Q and -D flags only in BLAST variants that involve
+    translating queries and subjects respectively.  (tblastx notably
+    translates both.)
+
+ -- Aaron M. Ucko <ucko at debian.org>  Mon, 19 Oct 2020 16:14:20 -0400
 
 cct (20170919+dfsg-1) unstable; urgency=medium
 


=====================================
debian/patches/conditionalize_blast_-Q_-D.patch
=====================================
@@ -0,0 +1,39 @@
+Author: Aaron M. Ucko <ucko at debian.org>
+Last-Update: Mon, 19 Oct 2020 16:14:20 -0400
+Description: Address BLAST usage errors as of BLAST+ 2.10.
+
+Supply the legacy blastall command's -Q and -D flags only in BLAST
+variants that involve translating queries and subjects respectively.
+(tblastx notably translates both.)
+
+NB: The use of -v $settings{HITLIST_SIZE} in conjunction with the
+supplied $format_type value (7 or 9) results in the warning
+
+    Warning: [tblastn] The parameter -num_descriptions is ignored for output formats > 4 . Use -max_target_seqs to control output
+
+Actually substituting -max_target_seqs would require bypassing the
+legacy blastall wrapper, which isn't entirely straightforward in this
+instance due to the need to convert a variable format string to modern
+options.  (Also, this script technically only knows the path to
+blastall, though that shouldn't be a concern in practice on Debian.)
+
+--- a/lib/scripts/local_blast_client/local_blast_client.pl
++++ b/lib/scripts/local_blast_client/local_blast_client.pl
+@@ -254,7 +254,16 @@ while ( my $sequenceEntry = <SEQFILE> )
+ #-b can be used to specify the number of hits to return when using -m 9. Each hit may consist of one or more HSPs.
+ #-b and -v must be set to specify the number of hits to return when using -m 7. Each hit may consist of one or more HSPs.
+     my $blast_command
+-        = "$settings{BLAST_PATH} -p $settings{PROGRAM} -d $settings{DATABASE} -e $settings{EXPECT} -i $filename -b $settings{HITLIST_SIZE} -v $settings{HITLIST_SIZE} -m $format_type -Q $settings{QUERY_GENETIC_CODE} -D $settings{DATABASE_GENETIC_CODE} -W $settings{WORD_SIZE} -F $settings{FILTER}";
++        = "$settings{BLAST_PATH} -p $settings{PROGRAM} -d $settings{DATABASE} -e $settings{EXPECT} -i $filename -b $settings{HITLIST_SIZE} -v $settings{HITLIST_SIZE} -m $format_type -W $settings{WORD_SIZE} -F $settings{FILTER}";
++    if ($settings{ALIGN_TYPE} eq 'TRANSLATED') {
++        if ($settings{INPUTTYPE} eq 'DNA') {
++            $blast_command .= "-Q $settings{QUERY_GENETIC_CODE}";
++        }
++        # Not elsif; tblastx notably accepts both.
++        if ($settings{ENTREZ_DB} eq 'nucleotide') {
++            $blast_command .= "-D $settings{DATABASE_GENETIC_CODE}";
++        }
++    }
+ 
+     print
+         "Performing BLAST search for sequence number $seqCount ($sequenceTitle).\n";


=====================================
debian/patches/series
=====================================
@@ -2,3 +2,4 @@ cgview_path.patch
 testscripts.patch
 fix_cgview_path.patch
 # debug.patch
+conditionalize_blast_-Q_-D.patch



View it on GitLab: https://salsa.debian.org/med-team/cct/-/commit/81fe02761caad0d43edeae51bdd5974213ddb90f

-- 
View it on GitLab: https://salsa.debian.org/med-team/cct/-/commit/81fe02761caad0d43edeae51bdd5974213ddb90f
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20201019/e23009c6/attachment-0001.html>


More information about the debian-med-commit mailing list