[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cct test issue: blast: Error: Unknown argument: "query_gencode"



Andreas Tille <tille@debian.org> writes:

> On Fri, Oct 16, 2020 at 08:44:20AM -0400, Aaron M. Ucko wrote:
>>
>> Please try simply dropping -query_gencode (and its argument) here --
>> because blastn performs direct nucleotide-nucleotide comparisons, it
>> doesn't care about genetic codes, and upstream evidently limited this
>> flag's use to the one tool for which it would be meaningful: tblastx.
>> (Likewise, only tblastn and tblastx support -db_gencode these days.)

FTR, I'd overlooked blastx and rpstblastn, both of which also support
-query_gencode.  (My thanks to Bio::Tools::Run::BlastPlus::Config.pm for
summarizing which BLAST variants support which options, even if cct
makes no use of this module.)

> Thanks for the nice hint.  The funny thing is that
>    grep -R query_gencode
> has no result in cct source code and I have no idea how to suppress
> this.  I'm busy with real life issues for the next week - so I'd be
> happy if someone else could solve that riddle for me.

No problem.  It looks like cct goes through ncbi-blast+-legacy via a
wrapper script of its own [1], for both of which the relevant options are
-Q for -query_gencode and -D for -db_gencode.  This script passes both
unconditionally [2] despite characterizing the variants [3].  I'd suggest
adjusting it to take advantage of this characterization by leaving them
off of $blast_command's initial assignement and adding them
conditionally, via logic along the lines of

    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}";
        }
    }

and should be able to supply a proper patch within the next day or two.

Also, you should probably add a hard dependency, or at least a hard test
dependency, on ncbi-blast+-legacy, which is so far just a transitive
recommendation (via bioperl).

[1] https://salsa.debian.org/med-team/cct/-/blob/master/lib/scripts/local_blast_client/local_blast_client.pl
[2] https://salsa.debian.org/med-team/cct/-/blob/master/lib/scripts/local_blast_client/local_blast_client.pl#L257
[3] https://salsa.debian.org/med-team/cct/-/blob/master/lib/scripts/local_blast_client/local_blast_client.pl#L462

-- 
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?amu@monk.mit.edu


Reply to: