| Previous changeset 9:1039cd165d92 (2015-11-19) Next changeset 11:4c47abb4c993 (2016-03-09) |
|
Commit message:
v0.1.08 can search against multiple locally installed databases |
|
modified:
test-data/blastdb.loc tools/ncbi_blast_plus/README.rst tools/ncbi_blast_plus/blastxml_to_tabular.py tools/ncbi_blast_plus/check_no_duplicates.py tools/ncbi_blast_plus/ncbi_blastdbcmd_info.xml tools/ncbi_blast_plus/ncbi_blastn_wrapper.xml tools/ncbi_blast_plus/ncbi_macros.xml |
|
added:
test-data/blastn_chimera_vs_rhodopsin_db.tabular test-data/blastn_chimera_vs_three_human_and_rhodopsin_db.tabular test-data/blastn_chimera_vs_three_human_db.tabular test-data/rhodopsin_nucs.dbinfo.txt test-data/rhodopsin_nucs.fasta.log.txt test-data/rhodopsin_nucs.fasta.nhd test-data/rhodopsin_nucs.fasta.nhi test-data/rhodopsin_nucs.fasta.nhr test-data/rhodopsin_nucs.fasta.nin test-data/rhodopsin_nucs.fasta.nog test-data/rhodopsin_nucs.fasta.nsd test-data/rhodopsin_nucs.fasta.nsi test-data/rhodopsin_nucs.fasta.nsq |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/blastdb.loc --- a/test-data/blastdb.loc Thu Nov 19 06:15:32 2015 -0500 +++ b/test-data/blastdb.loc Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -5,3 +5,4 @@ # See the file tool-data/blastdb.loc.sample for more information. # three_human_mRNA Three Human mRNAs ${__HERE__}/three_human_mRNA.fasta +rhodopsin_nucs Rhodopsin nucleotides ${__HERE__}/rhodopsin_nucs.fasta |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/blastn_chimera_vs_rhodopsin_db.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastn_chimera_vs_rhodopsin_db.tabular Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,8 @@ +chimera gi|57163782|ref|NM_001009242.1| 92.31 1014 78 0 8881 9894 34 1047 0.0 1441 +chimera gi|283855822|gb|GQ290312.1| 91.53 956 81 0 8881 9836 4 959 0.0 1317 +chimera gi|18148870|dbj|AB062417.1| 87.65 1012 123 2 8884 9894 37 1047 0.0 1175 +chimera gi|283855845|gb|GQ290303.1| 91.52 330 28 0 8881 9210 4 333 8e-130 455 +chimera gi|283855845|gb|GQ290303.1| 91.36 243 19 2 9542 9783 3127 3368 1e-92 331 +chimera gi|283855845|gb|GQ290303.1| 94.22 173 10 0 9208 9380 1410 1582 1e-72 265 +chimera gi|283855845|gb|GQ290303.1| 92.94 170 12 0 9375 9544 2854 3023 2e-67 248 +chimera gi|283855845|gb|GQ290303.1| 95.59 68 3 0 9781 9848 4222 4289 7e-26 110 |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/blastn_chimera_vs_three_human_and_rhodopsin_db.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastn_chimera_vs_three_human_and_rhodopsin_db.tabular Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,11 @@ +chimera ENA|AB011145|AB011145.1 100.00 4560 0 0 1 4560 121 4680 0.0 8421 +chimera ENA|M10051|M10051.1 99.93 4331 3 0 4560 8890 60 4390 0.0 7982 +chimera ENA|BC112106|BC112106.1 100.00 1093 0 0 8881 9973 121 1213 0.0 2019 +chimera gi|57163782|ref|NM_001009242.1| 92.31 1014 78 0 8881 9894 34 1047 0.0 1441 +chimera gi|283855822|gb|GQ290312.1| 91.53 956 81 0 8881 9836 4 959 0.0 1317 +chimera gi|18148870|dbj|AB062417.1| 87.65 1012 123 2 8884 9894 37 1047 0.0 1175 +chimera gi|283855845|gb|GQ290303.1| 91.52 330 28 0 8881 9210 4 333 2e-129 455 +chimera gi|283855845|gb|GQ290303.1| 91.36 243 19 2 9542 9783 3127 3368 3e-92 331 +chimera gi|283855845|gb|GQ290303.1| 94.22 173 10 0 9208 9380 1410 1582 3e-72 265 +chimera gi|283855845|gb|GQ290303.1| 92.94 170 12 0 9375 9544 2854 3023 3e-67 248 +chimera gi|283855845|gb|GQ290303.1| 95.59 68 3 0 9781 9848 4222 4289 2e-25 110 |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/blastn_chimera_vs_three_human_db.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastn_chimera_vs_three_human_db.tabular Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,3 @@ +chimera ENA|AB011145|AB011145.1 100.00 4560 0 0 1 4560 121 4680 0.0 8421 +chimera ENA|M10051|M10051.1 99.93 4331 3 0 4560 8890 60 4390 0.0 7982 +chimera ENA|BC112106|BC112106.1 100.00 1093 0 0 8881 9973 121 1213 0.0 2019 |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.dbinfo.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/rhodopsin_nucs.dbinfo.txt Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,7 @@ +Database: Rhodopsin nucleotides + 6 sequences; 10,296 total bases + +Date: Mar 8, 2016 4:58 PM Longest sequence: 4,301 bases + +Volumes: + /mnt/galaxy/repositories/galaxy_blast/test-data/rhodopsin_nucs.fasta |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.log.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/rhodopsin_nucs.fasta.log.txt Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,5 @@ +New DB title: Rhodopsin nucleotides +Sequence type: Nucleotide +Keep Linkouts: T +Keep MBits: T +Maximum file size: 1000000000B |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nhd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/rhodopsin_nucs.fasta.nhd Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,6 @@ +12397459091 +20759409394 +22689758313 +28815213262 +36620822910 +40074407105 |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nhi |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nhi has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nhr |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nhr has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nin |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nin has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nog |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nog has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nsd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/rhodopsin_nucs.fasta.nsd Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -0,0 +1,6 @@ +gnl|bl_ord_id|00 +gnl|bl_ord_id|11 +gnl|bl_ord_id|22 +gnl|bl_ord_id|33 +gnl|bl_ord_id|44 +gnl|bl_ord_id|55 |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nsi |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nsi has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a test-data/rhodopsin_nucs.fasta.nsq |
| b |
| Binary file test-data/rhodopsin_nucs.fasta.nsq has changed |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/README.rst --- a/tools/ncbi_blast_plus/README.rst Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/README.rst Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -1,14 +1,14 @@ Galaxy wrappers for NCBI BLAST+ suite ===================================== -These wrappers are copyright 2010-2014 by Peter Cock (The James Hutton Institute, +These wrappers are copyright 2010-2016 by Peter Cock (The James Hutton Institute, UK) and additional contributors including Edward Kirton, John Chilton, Nicola Soranzo, Jim Johnson, and Bjoern Gruening. See the licence text below. -Currently tested with NCBI BLAST 2.2.30+ (i.e. version 2.2.30 of BLAST+), -and does not work with the NCBI 'legacy' BLAST suite (e.g. ``blastall``). +Currently tested with NCBI BLAST+ 2.2.31, and does not work with the NCBI +'legacy' BLAST suite (e.g. ``blastall``). Note that these wrappers (and the associated datatypes) were originally distributed as part of the main Galaxy repository, but as of August 2012 @@ -227,6 +227,8 @@ on the Tool Shed test framework, but that is not currently in use). - Fixed macro problem with version field in blastxml_to_tabular.xml (contribution from Bjoern Gruening and Daniel Blankenberg). +v0.1.08 - Allow searching against multiple locally installed databases + (contribution from Gildas Le Corguillé and Emma Prudent). ======= ====================================================================== |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/blastxml_to_tabular.py --- a/tools/ncbi_blast_plus/blastxml_to_tabular.py Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/blastxml_to_tabular.py Wed Mar 09 06:02:38 2016 -0500 |
| [ |
| b'@@ -8,7 +8,7 @@\n The 12 columns output are \'qseqid sseqid pident length mismatch gapopen qstart\n qend sstart send evalue bitscore\' or \'std\' at the BLAST+ command line, which\n mean:\n- \n+\n ====== ========= ============================================\n Column NCBI name Description\n ------ --------- --------------------------------------------\n@@ -69,23 +69,20 @@\n print "v0.1.04"\n sys.exit(0)\n \n-if sys.version_info[:2] >= ( 2, 5 ):\n+if sys.version_info[:2] >= (2, 5):\n try:\n from xml.etree import cElementTree as ElementTree\n except ImportError:\n from xml.etree import ElementTree as ElementTree\n else:\n from galaxy import eggs\n- import pkg_resources; pkg_resources.require( "elementtree" )\n+ import pkg_resources\n+ pkg_resources.require("elementtree")\n from elementtree import ElementTree\n \n-def stop_err( msg ):\n- sys.stderr.write("%s\\n" % msg)\n- sys.exit(1)\n-\n if len(sys.argv) == 4 and sys.argv[3] in ["std", "x22", "ext"]:\n- #False positive if user really has a BLAST XML file called \'std\' or \'ext\'...\n- stop_err("""ERROR: The script API has changed, sorry.\n+ # False positive if user really has a BLAST XML file called \'std\' or \'ext\'...\n+ sys.exit("""ERROR: The script API has changed, sorry.\n \n Instead of the old style:\n \n@@ -116,35 +113,35 @@\n colnames = \'qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore,sallseqid,score,nident,positive,gaps,ppos,qframe,sframe,qseq,sseq,qlen,slen,salltitles\'.split(\',\')\n \n if len(args) < 1:\n- stop_err("ERROR: No BLASTXML input files given; run with --help to see options.")\n+ sys.exit("ERROR: No BLASTXML input files given; run with --help to see options.")\n \n out_fmt = options.columns\n if out_fmt == "std":\n extended = False\n cols = None\n elif out_fmt == "x22":\n- stop_err("Format argument x22 has been replaced with ext (extended 25 columns)")\n+ sys.exit("Format argument x22 has been replaced with ext (extended 25 columns)")\n elif out_fmt == "ext":\n extended = True\n cols = None\n else:\n- cols = out_fmt.replace(" ", ",").split(",") #Allow space or comma separated\n- #Remove any blank entries due to trailing comma,\n- #or annoying "None" dummy value from Galaxy if no columns\n+ cols = out_fmt.replace(" ", ",").split(",") # Allow space or comma separated\n+ # Remove any blank entries due to trailing comma,\n+ # or annoying "None" dummy value from Galaxy if no columns\n cols = [c for c in cols if c and c != "None"]\n extra = set(cols).difference(colnames)\n if extra:\n- stop_err("These are not recognised column names: %s" % ",".join(sorted(extra)))\n+ sys.exit("These are not recognised column names: %s" % ",".join(sorted(extra)))\n del extra\n assert set(colnames).issuperset(cols), cols\n if not cols:\n- stop_err("No columns selected!")\n- extended = max(colnames.index(c) for c in cols) >= 12 #Do we need any higher columns?\n+ sys.exit("No columns selected!")\n+ extended = max(colnames.index(c) for c in cols) >= 12 # Do we need any higher columns?\n del out_fmt\n \n for in_file in args:\n if not os.path.isfile(in_file):\n- stop_err("Input BLAST XML file not found: %s" % in_file)\n+ sys.exit("Input BLAST XML file not found: %s" % in_file)\n \n \n re_default_query_id = re.compile("^Query_\\d+$")\n@@ -161,156 +158,157 @@\n def convert(blastxml_filename, output_handle):\n blast_program = None\n # get an iterable\n- try: \n+ try:\n context = ElementTree.iterparse(blastxml_filename, events=("start", "end"))\n- except:\n- stop_err("Invalid data format.")\n+ except Exception:\n+ sys.exit("Invalid data format.")\n # turn it into an iterator\n context = iter(context)\n # get the root element\n try:\n event, root = context.next()\n- except:\n- stop_err( "Invalid data format." )\n+ except Exception:\n+ sys.exit("Invalid data format.")\n for event, elem in cont'..b' hsp.findtext("Hsp_query-from"), # qstart,\n+ hsp.findtext("Hsp_query-to"), # qend,\n+ hsp.findtext("Hsp_hit-from"), # sstart,\n+ hsp.findtext("Hsp_hit-to"), # send,\n+ evalue, # hsp.findtext("Hsp_evalue") in scientific notation\n+ bitscore, # hsp.findtext("Hsp_bit-score") rounded\n ]\n \n if extended:\n try:\n- sallseqid = ";".join(name.split(None,1)[0] for name in hit_def.split(" >"))\n- salltitles = "<>".join(name.split(None,1)[1] for name in hit_def.split(" >"))\n+ sallseqid = ";".join(name.split(None, 1)[0] for name in hit_def.split(" >"))\n+ salltitles = "<>".join(name.split(None, 1)[1] for name in hit_def.split(" >"))\n except IndexError as e:\n- stop_err("Problem splitting multuple hits?\\n%r\\n--> %s" % (hit_def, e))\n- #print hit_def, "-->", sallseqid\n+ sys.exit("Problem splitting multuple hits?\\n%r\\n--> %s" % (hit_def, e))\n+ # print hit_def, "-->", sallseqid\n positive = hsp.findtext("Hsp_positive")\n- ppos = "%0.2f" % (100*float(positive)/float(length))\n+ ppos = "%0.2f" % (100 * float(positive) / float(length))\n qframe = hsp.findtext("Hsp_query-frame")\n sframe = hsp.findtext("Hsp_hit-frame")\n if blast_program == "blastp":\n- #Probably a bug in BLASTP that they use 0 or 1 depending on format\n- if qframe == "0": qframe = "1"\n- if sframe == "0": sframe = "1"\n+ # Probably a bug in BLASTP that they use 0 or 1 depending on format\n+ if qframe == "0":\n+ qframe = "1"\n+ if sframe == "0":\n+ sframe = "1"\n slen = int(hit.findtext("Hit_len"))\n values.extend([sallseqid,\n- hsp.findtext("Hsp_score"), #score,\n+ hsp.findtext("Hsp_score"), # score,\n nident,\n positive,\n- hsp.findtext("Hsp_gaps"), #gaps,\n+ hsp.findtext("Hsp_gaps"), # gaps,\n ppos,\n qframe,\n sframe,\n- #NOTE - for blastp, XML shows original seq, tabular uses XXX masking\n+ # NOTE - for blastp, XML shows original seq, tabular uses XXX masking\n q_seq,\n h_seq,\n str(qlen),\n@@ -318,9 +316,9 @@\n salltitles,\n ])\n if cols:\n- #Only a subset of the columns are needed\n+ # Only a subset of the columns are needed\n values = [values[colnames.index(c)] for c in cols]\n- #print "\\t".join(values) \n+ # print "\\t".join(values)\n output_handle.write("\\t".join(values) + "\\n")\n # prevents ElementTree from growing large datastructure\n root.clear()\n@@ -339,6 +337,5 @@\n if options.output:\n outfile.close()\n else:\n- #Using stdout\n+ # Using stdout\n pass\n-\n' |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/check_no_duplicates.py --- a/tools/ncbi_blast_plus/check_no_duplicates.py Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/check_no_duplicates.py Wed Mar 09 06:02:38 2016 -0500 |
| [ |
| @@ -16,30 +16,27 @@ print("v0.0.22") sys.exit(0) -def stop_err(msg, error=1): - sys.stderr.write("%s\n" % msg) - sys.exit(error) - - identifiers = set() files = 0 for filename in sys.argv[1:]: if not os.path.isfile(filename): - stop_err("Missing FASTA file %r" % filename, 2) + sys.stderr.write("Missing FASTA file %r\n" % filename) + sys.exit(2) files += 1 handle = open(filename) for line in handle: if line.startswith(">"): - #The split will also take care of the new line character, - #e.g. ">test\n" and ">test description here\n" both give "test" + # The split will also take care of the new line character, + # e.g. ">test\n" and ">test description here\n" both give "test" seq_id = line[1:].split(None, 1)[0] if seq_id in identifiers: handle.close() - stop_err("Repeated identifiers, e.g. %r" % seq_id, 1) + sys.exit("Repeated identifiers, e.g. %r" % seq_id) identifiers.add(seq_id) handle.close() if not files: - stop_err("No FASTA files given to check for duplicates", 3) + sys.stderr.write("No FASTA files given to check for duplicates\n") + sys.exit(3) elif files == 1: print("%i sequences" % len(identifiers)) else: |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/ncbi_blastdbcmd_info.xml --- a/tools/ncbi_blast_plus/ncbi_blastdbcmd_info.xml Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/ncbi_blastdbcmd_info.xml Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -25,6 +25,11 @@ <param name="db_opts|database" value="three_human_mRNA" /> <output name="info" file="three_human_mRNA.dbinfo.txt" ftype="txt" lines_diff="4" /> </test> + <test> + <param name="db_opts|db_type" value="nucl" /> + <param name="db_opts|database" value="rhodopsin_nucs" /> + <output name="info" file="rhodopsin_nucs.dbinfo.txt" ftype="txt" lines_diff="4" /> + </test> </tests> <help> |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/ncbi_blastn_wrapper.xml --- a/tools/ncbi_blast_plus/ncbi_blastn_wrapper.xml Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/ncbi_blastn_wrapper.xml Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -120,6 +120,28 @@ <param name="max_hits" value="1" /> <output name="output1" file="blastn_chimera_vs_three_human_max1.txt" ftype="txt" /> </test> + <test> + <param name="query" value="chimera.fasta" ftype="fasta" /> + <param name="db_opts_selector" value="db" /> + <param name="database" value="three_human_mRNA" /> + <param name="out_format" value="6" /> + <output name="output1" file="blastn_chimera_vs_three_human_db.tabular" ftype="tabular" /> + </test> + <test> + <param name="query" value="chimera.fasta" ftype="fasta" /> + <param name="db_opts_selector" value="db" /> + <param name="database" value="rhodopsin_nucs" /> + <param name="out_format" value="6" /> + <output name="output1" file="blastn_chimera_vs_rhodopsin_db.tabular" ftype="tabular" /> + </test> + <!-- next test is passing in two blast databases --> + <test> + <param name="query" value="chimera.fasta" ftype="fasta" /> + <param name="db_opts_selector" value="db" /> + <param name="database" value="three_human_mRNA,rhodopsin_nucs" /> + <param name="out_format" value="6" /> + <output name="output1" file="blastn_chimera_vs_three_human_and_rhodopsin_db.tabular" ftype="tabular" /> + </test> </tests> <help> |
| b |
| diff -r 1039cd165d92 -r e6337ef07e9a tools/ncbi_blast_plus/ncbi_macros.xml --- a/tools/ncbi_blast_plus/ncbi_macros.xml Thu Nov 19 06:15:32 2015 -0500 +++ b/tools/ncbi_blast_plus/ncbi_macros.xml Wed Mar 09 06:02:38 2016 -0500 |
| b |
| @@ -1,5 +1,5 @@ <macros> - <token name="@WRAPPER_VERSION@">0.1.07</token> + <token name="@WRAPPER_VERSION@">0.1.08</token> <xml name="parallelism"> <!-- If job splitting is enabled, break up the query file into parts --> <parallelism method="multi" split_inputs="query" split_mode="to_size" split_size="1000" merge_outputs="output1" /> @@ -184,7 +184,7 @@ <option value="file">FASTA file from your history (see warning note below)</option> </param> <when value="db"> - <param name="database" type="select" label="Nucleotide BLAST database"> + <param name="database" type="select" multiple="true" label="Nucleotide BLAST database"> <options from_data_table="blastdb" /> </param> <param name="histdb" type="hidden" value="" /> @@ -210,7 +210,7 @@ <option value="file">FASTA file from your history (see warning note below)</option> </param> <when value="db"> - <param name="database" type="select" label="Protein BLAST database"> + <param name="database" type="select" multiple="true" label="Protein BLAST database"> <options from_data_table="blastdb_p" /> </param> <param name="histdb" type="hidden" value="" /> @@ -255,12 +255,12 @@ <option value="prot">Protein</option> </param> <when value="nucl"> - <param name="database" type="select" label="Nucleotide BLAST database"> + <param name="database" type="select" multiple="true" label="Nucleotide BLAST database"> <options from_data_table="blastdb" /> </param> </when> <when value="prot"> - <param name="database" type="select" label="Protein BLAST database"> + <param name="database" type="select" multiple="true" label="Protein BLAST database"> <options from_data_table="blastdb_p" /> </param> </when> @@ -352,7 +352,7 @@ <token name="@THREADS@">-num_threads "\${GALAXY_SLOTS:-8}"</token> <token name="@BLAST_DB_SUBJECT@"> #if $db_opts.db_opts_selector == "db": - -db "${db_opts.database.fields.path}" + -db "${' '.join(str( $db_opts.database.fields.path ).split( ',' ))}" #elif $db_opts.db_opts_selector == "histdb": -db "${os.path.join($db_opts.histdb.extra_files_path,'blastdb')}" #else: |