Skip to content

WIP: Testing for training assembly intro workflow #775

Closed
jmchilton wants to merge 2 commits intogalaxyproject:masterfrom
jmchilton:workflow_test_assembly
Closed

WIP: Testing for training assembly intro workflow #775
jmchilton wants to merge 2 commits intogalaxyproject:masterfrom
jmchilton:workflow_test_assembly

Conversation

@jmchilton
Copy link
Member

Update ephemeris usage for a modern version to work with both .ga and .yml workflows.

Had to modify the workflow slightly to define a workflow output for testing.

xref http://galaxyproject.github.io/training-material/topics/assembly/tutorials/general-introduction/tutorial.html

This seems to be falling apart on a Conda problem Planemo can't really solve? Anyone want to trigger a rebuild of that with a newer Conda for me?

DependencyException: Conda dependency failed to build job environment. This is most likely a limitation in conda. You can try to shorten the path to the job_working_directory.\n", "err_msg": "Uncaught exception in exposed API method:", "err_code": 0}
(2/3) Installing repository fastqc from devteam to section "Tools from workflows" at revision 9337dd1fbc66 (TRT: 0:00:34.882887)
	repository fastqc installed successfully (in 0:00:05.288841) at revision 9337dd1fbc66
(3/3) Installing repository fasta_stats from simon-gladman to section "Tools from workflows" at revision 20ca2574216a (TRT: 0:00:40.275837)
	repository fasta_stats installed successfully (in 0:00:03.969259) at revision 20ca2574216a
Installed repositories (2): [(u'fastqc', None), (u'fasta_stats', None)]
Skipped repositories (0): []
Errored repositories (1): [(u'velvetoptimiser', '')]
All repositories have been processed.
Total run time: 0:00:44.245543

Maybe I'll try again with a different workflow?

@bgruening
Copy link
Member

@jmchilton can you try to use revison 7db5615f4621 from simons tool? We migrated it to IUC and updated it last year - not in the workflow as it seems.

I guess a different workflow is easier, I will try to spin a very simple one up with text-processing for testing.

Thanks!

@bgruening
Copy link
Member

Hi, here is a very simple workflow with only text-processing and bedtools. This is used in one of the Galaxy introduction trainings on GTN.

Example history with input data here: https://galaxy.bi.uni-freiburg.de/u/bgruening/h/for-john

Galaxy_intro_workflow.ga.txt

@jmchilton
Copy link
Member Author

@bgruening Thanks for the workflow. Unfortunately this one also has short path problems.

DependencyException: Conda dependency failed to build job environment. This is most likely a limitation in conda. You can try to shorten the path to the job_working_directory.\n", "err_msg": "Uncaught exception in exposed API method:", "err_code": 0}
(3/3) Installing repository bedtools from iuc to section "Tools from workflows" at revision 33c3ddea63c5 (TRT: 0:03:35.807357)
	repository bedtools installed successfully (in 0:00:52.314820) at revision 33c3ddea63c5
Installed repositories (2): [(u'get_flanks', None), (u'bedtools', None)]
Skipped repositories (0): []
Errored repositories (1): [(u'text_processing', '')]
All repositories have been processed.

Planemo clearly needs some tooling for upgrading workflows - I'll create an issue for that.

This workflow also used Grouping1 - which I need to think about how to incorporate into workflow testing - I guess Planemo should keep a mapping of non-toolshed IDs to tool paths to load as needed for workflows.

@bgruening
Copy link
Member

@jmchilton can you please try again. I fixed the conda package hopefully.

@jmchilton
Copy link
Member Author

Tried locally and on Travis and it stills seems to be a problem:

	* Error installing a repository (after 0:02:57.694225 seconds)! Name: text_processing,owner: bgruening, revision: 20344ce0c811, error: {"err_code": 0, "traceback": "Traceback (most recent call last):\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/galaxy/web/framework/decorators.py\", line 281, in decorator\n    rval = func(self, trans, *args, **kwargs)\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py\", line 528, in install_repository_revision\n    payload)\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/tool_shed/galaxy_install/install_manager.py\", line 706, in install\n    install_options\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/tool_shed/galaxy_install/install_manager.py\", line 805, in __initiate_and_install_repositories\n    return self.install_repositories(tsr_ids, decoded_kwd, reinstalling=False)\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/tool_shed/galaxy_install/install_manager.py\", line 852, in install_repositories\n    tool_panel_section_mapping=tool_panel_section_mapping)\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/tool_shed/galaxy_install/install_manager.py\", line 912, in install_tool_shed_repository\n    [self.app.toolbox.dependency_manager.build_cache(r) for r in new_requirements]\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/galaxy/tools/deps/__init__.py\", line 237, in build_cache\n    [dep.build_cache(hashed_dependencies_dir) for dep in cacheable_dependencies]\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/galaxy/tools/deps/resolvers/conda.py\", line 446, in build_cache\n    self.build_environment()\n  File \"/tmp/tmpHFbLKF/galaxy-dev/lib/galaxy/tools/deps/resolvers/conda.py\", line 465, in build_environment\n    raise DependencyException(\"Conda dependency seemingly installed but failed to build job environment.\")\nDependencyException: Conda dependency seemingly installed but failed to build job environment.\n", "err_msg": "Uncaught exception in exposed API method:"}
(3/3) Installing repository get_flanks from devteam to section "Tools from workflows" at revision 077f404ae1bb (TRT: 0:04:43.118682)
	repository get_flanks installed successfully (in 0:00:58.631849) at revision 077f404ae1bb
Installed repositories (2): [(u'bedtools', None), (u'get_flanks', None)]
Skipped repositories (0): []
Errored repositories (1): [(u'text_processing', '')]
All repositories have been processed.
Total run time: 0:05:41.750988
Problem serving Galaxy
Traceback (most recent call last):
  File "/home/travis/build/galaxyproject/planemo/planemo/galaxy/serve.py", line 19, in serve
    return _serve(ctx, runnables, **kwds)
  File "/home/travis/build/galaxyproject/planemo/planemo/galaxy/serve.py", line 63, in _serve
    config.install_workflows()
  File "/home/travis/build/galaxyproject/planemo/planemo/galaxy/config.py", line 748, in install_workflows
    self._install_workflow(runnable)
  File "/home/travis/build/galaxyproject/planemo/planemo/galaxy/config.py", line 751, in _install_workflow
    install_shed_repos(runnable, self.gi)
  File "/home/travis/build/galaxyproject/planemo/planemo/galaxy/workflows.py", line 43, in install_shed_repos
    raise Exception("Failed to install one or more repositories.")
Exception: Failed to install one or more repositories.
]

The requirement at that version seems to be 8.25. https://toolshed.g2.bx.psu.edu/repository?repository_id=2593fd36ae8011aa&changeset_revision=20344ce0c811

<requirement type="package" version="8.25">coreutils</requirement>

Here is the PR to update the build - https://github.com/bioconda/bioconda-recipes/pull/7999/files.

I'm not sure what is going on here - maybe the error message is deceptive and there is some other issue or maybe there is a dependency or a dependency issue (just libgcc and libc) ?

@jmchilton
Copy link
Member Author

I guess it could be any of the dependencies for any of the tools in the repository - there is more than just coreutils here I think. We maybe need to make this error message more clear.


@skip_if_environ("PLANEMO_SKIP_GALAXY_TESTS")
def test_workflow_test_assembly_intro_example(self):
"""Test testing a simple GA workflow with Galaxy."""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test description should be tailored for this test.

@bgruening
Copy link
Member

Galaxy-Workflow-Cell_paper_tutorial_workflow.ga.txt

@jmchilton hopefully this is better.

jmchilton added a commit to jmchilton/planemo that referenced this pull request Mar 2, 2018
@jmchilton
Copy link
Member Author

@bgruening I haven't tried the new workflow yet but I did get my modified version of the last one working by adding a new option --ignore_dependency_problems in #777. It was working locally but we will see if the Travis tests pass.

Unfortunately all these new tests are very lengthy to run and error prone. Planemo's test suite has grown unstable I think - I'm thinking maybe I'll create a new repository just for workflow test examples. We can place some of these simple tests there and then add more complex tests as well if we find them. This could also serve as a cleaner example of how to structure a .travis.yml file for planemo workflow testing with postgres and such.

@bgruening
Copy link
Member

@jmchilton that is a good idea! We need for the training project a separate testing repo as well.
I imagine something like a config file where someone can add a URL to a workflow and a galaxy instance and this repo will test the workflow against the instance.

Secrets are stored in travis ENVs and maintained by us. To the galaxy instance is more like a key, mapping to instance URL and credentials, e.g. usegalaxy.org, usegalaxy.eu ...

Maybe we can run before all these tests the planemo workflow test in the same repo to test planemo at first?

jmchilton added a commit to jmchilton/planemo that referenced this pull request Mar 7, 2018
jmchilton added a commit to jmchilton/planemo that referenced this pull request May 7, 2018
@jmchilton jmchilton closed this May 7, 2018
@jmchilton
Copy link
Member Author

Closing in lieu of trying to get #777 working

jmchilton added a commit to jmchilton/planemo that referenced this pull request May 8, 2018
jmchilton added a commit to jmchilton/planemo that referenced this pull request May 8, 2018
jmchilton added a commit to jmchilton/planemo that referenced this pull request May 8, 2018
jmchilton added a commit to jmchilton/planemo that referenced this pull request May 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants