Hi all,
I'm currently trying to manually install Dan's example Data Manager
for the NCBI BLAST databases - but without using the Tool Shed:
http://testtoolshed.g2.bx.psu.edu/view/blankenberg/data_manager_example_blastdb_ncbi_update_blastdb
To be precise, I'm currently using a slightly modified version which
we've moved into the Galaxy BLAST+ wrapper repository (thus far,
only slight changes to folder names have been made from Dan's original):
https://github.com/peterjc/galaxy_blast/tree/master/data_managers/ncbi_blastdb
https://github.com/peterjc/galaxy_blast/commit/21d7cff3e8dca13c4bd0f716a79a9f00c59f0b5c
My goal is to be able to run the functional tests,
$ ./run_functional_tests.sh -id data_manager_blast_db
As with any other manually installed tool, I have added this
data-manager to my tool_conf.xml.sample file (and for local
testing via the GUI, the tool_conf.xml file as well):
<tool file="ncbi_blastdb/blastdb.xml" />
Specific to data-managers, I have manually incorporated
the additions to the central data_manager_conf.xml file
(this would normally be merged at runtime if installed from
the ToolShed):
$ more data_manager_conf.xml
<?xml version="1.0"?>
<data_managers>
<data_manager tool_file="ncbi_blastdb/blastdb.xml"
id="data_manager_blast_db">
<data_table name="blastdb">
<output>
<column name="value" />
<column name="name" />
<column name="path" output_ref="out_file" >
<move type="directory">
<target
base="${GALAXY_DATA_MANAGER_DATA_PATH}">blastdb/${path}</target>
</move>
<value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/blastdb/${path}/${nucleotide_alias_name}</value_translation>
<value_translation
type="function">abspath</value_translation>
</column>
</output>
</data_table>
</data_manager>
</data_managers>
Note the tool_file setting points correctly at the relative path
within the tools
folder, and the tool does define a test:
$ more tools/ncbi_blastdb/blastdb.xml
<tool id="data_manager_blast_db" name="Blast DB" version="0.0.2"
tool_type="manage_data">
<description>Downloader</description>
...
<tests>
<test>
<param name="blastdb_name" value="est"/>
<param name="advanced_selector" value="basic"/>
<output name="out_file" file="est_out.json"/>
</test>
</tests>
...
$ ./run_functional_tests.sh -list | grep manager
data_manager_blast_db Blast DB
$ ./run_functional_tests.sh -id data_manager_blast_db
...
galaxy.tools DEBUG 2014-04-11 15:59:00,780 Loaded tool id:
data_manager_blast_db, version: 0.0.2 into tool panel.
...
galaxy.tools.data_manager.manager DEBUG 2014-04-11 15:59:00,864 Loaded
Data Manager: data_manager_blast_db
...
Failure: ValueError (No such test TestForTool_data_manager_blast_db) ... ERROR
======================================================================
ERROR: Failure: ValueError (No such test TestForTool_data_manager_blast_db)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/mnt/galaxy/galaxy-central/eggs/nose-0.11.1-py2.6.egg/nose/failure.py",
line 39, in runTest
raise self.exc_class(self.exc_val)
ValueError: No such test TestForTool_data_manager_blast_db
----------------------------------------------------------------------
I get the same error via TravisCI, e.g.
https://travis-ci.org/peterjc/galaxy_blast/builds/22782979
(This suggests using Twill vs the API does not matter)
Am I missing something simple here?
Thanks,
Peter