Commit Graph
27413 Commits
Author SHA1 Message Date
Björn Grüning cac9c980df remove obsolete line 2017-04-07 17:13:56 +02:00
Bjoern Gruening ab1f7eae4d synchronise against latest UCSC versions 2017-04-05 15:17:57 +02:00
Björn Grüning 5937a677d5 Merge pull request #3869 from nsoranzo/trimmer
Use detect_errors="exit_code" in Trim tool
2017-04-04 23:27:12 +02:00
Nicola Soranzo d1974a42e5 Use detect_errors="exit_code" in Trim tool
Prevent job failures due to spurious messages on stderr from the cluster
scheduler.
2017-04-04 18:47:55 +01:00
Nicola Soranzo 41a88de752 Merge branch 'release_17.01' into dev
Conflicts:
	static/scripts/bundled/analysis.bundled.js
	static/scripts/bundled/analysis.bundled.js.map
	static/scripts/bundled/libs.bundled.js
	static/scripts/bundled/libs.bundled.js.map
2017-04-04 15:07:31 +01:00
Marius van den Beek 5d810d5908 Merge pull request #3857 from jmchilton/3559_touchups
Touch up #3559 based on post-merge discussions.
2017-04-04 14:00:12 +02:00
Aysam Guerler 6f4e242b16 Merge pull request #3850 from bgruening/phylocanvas
Phylocanvas as a BioJS component for the Galaxy charts
2017-04-04 05:32:03 -04:00
anuprulez 339566bc03 Merging with dev 2017-04-04 10:46:14 +02:00
Martin Cech 3c080cae96 Merge pull request #3864 from jmchilton/fix_identifiers_in_conditionals
[17.01] Fix certain aspects of collection reductions in conditionals/repeats.
2017-04-03 14:17:20 -04:00
John Chilton 1e70211fa4 Touch up #3559 based on post-merge discussions. 2017-04-03 12:35:57 -04:00
John Chilton 5b46c431b4 Fix certain aspects of dataset reductions in conditionals/repeats.
For instance, fixes #3859 restoring the correct ``element_identifier`` for reduces collections in conditionals. Add tests for combinations of repeats and conditionals.
2017-04-03 12:19:18 -04:00
anuprulez 0c3f7989bb Merging wtih dev 2017-04-03 16:41:16 +02:00
Nicola Soranzo 268aac2952 Merge pull request #3856 from jmchilton/1701_uuid_on_copy_fix
[17.01] Fix setting UUID on steps when copying steps from another workflow.
2017-04-03 11:09:09 +01:00
Martin Cech 5169fbe917 Merge pull request #3861 from galaxyproject/contrib_changes
Small changes to links and add gitter
2017-03-31 20:11:53 -04:00
Martin Cech 224a5b3900 fix contribute pdf link 2017-03-31 20:11:30 -04:00
Martin Cech ffce14e65d change devteam to iuc 2017-03-31 20:09:07 -04:00
Björn Grüning b5fe42c462 Small changes to links and add gitter 2017-04-01 02:05:49 +02:00
Martin Cech 6af5334f12 Merge pull request #3855 from jmchilton/user_api_tests
Clean up old TODO into history tests.
2017-03-31 14:57:21 -04:00
John Chilton 99c8f2c9fc Fix setting UUID on steps when copying steps from another workflow.
It seems like the client is correctly setting the UUID to None, but the backend is treating the None as a UUID because it was (incorrectly IMO) making a distinction between ``uuid`` being absent and being set to ``None``.

Fixes #3845.
2017-03-31 14:51:58 -04:00
John Chilton 5dcc0ed043 Clean up old TODO into history tests.
We upgraded the module a long time ago now that was referenced in the Trello card.
2017-03-31 14:46:37 -04:00
Dannon Baker c8eb2c186d Merge pull request #3851 from guerler/add_lost_update_caller
[17.01] Fix update caller/helper for options
2017-03-31 10:31:30 -07:00
Dannon Baker ad2e6473bc Merge remote-tracking branch 'upstream/release_17.01' into dev 2017-03-31 08:38:40 -07:00
Dannon Baker bf6b65f005 Merge pull request #3830 from jmchilton/1701_order_collection_invocation_processing
[17.01] Order processing evaluation of workflow invocations when scheduling.
2017-03-31 08:38:23 -07:00
Dannon Baker 190d1901a4 Merge remote-tracking branch 'upstream/release_17.01' into dev 2017-03-31 08:31:42 -07:00
Dannon Baker 07887be3a1 Merge pull request #3820 from jmchilton/fixed_history_handler
[17.01] Restrict workflow scheduling within a history to a fixed, random handler.
2017-03-31 08:28:25 -07:00
Dannon Baker dfbb80dd8b Merge pull request #3852 from lecorguille/patch-1
Update datatypes_conf.xml.sample
2017-03-31 07:15:57 -07:00
Gildas Le Corguillé c9f602d434 Update datatypes_conf.xml.sample
Oups, I did it again :)

Just add the sniffer for the mzData datatype
2017-03-31 12:18:00 +02:00
anuprulez fa086edf22 Adding support for .nhx files (Newick) and removing txt files support 2017-03-31 11:39:19 +02:00
guerler c51adf781a Insert update caller/helper for options 2017-03-30 22:33:47 -04:00
Dannon Baker 200e475bc7 Merge pull request #3849 from jmchilton/improved_scheduling_delay_logging
Log reason when workflow scheduling of a step is delayed.
2017-03-30 15:29:40 -07:00
Dannon Baker 90ac2f4356 Merge pull request #3832 from nsoranzo/gff_sniff_fix
Stricter checks for GFF/GFF3/GTF sniffing
2017-03-30 13:58:03 -07:00
Dannon Baker 3d2833fdb7 Merge pull request #3750 from mvdbeek/remove_unused_envs
Add the possibility to uninstall conda environments that are not in u…
2017-03-30 13:49:51 -07:00
Dannon Baker 94c357f608 Merge branch 'release_17.01' into dev 2017-03-30 13:44:42 -07:00
Dannon Baker 8f8526bf30 Merge pull request #3659 from jmchilton/1701_maximum_workflow_invocation_duration
[17.01] By default, do not allow workflow invocations to schedule indefinitely.
2017-03-30 13:42:47 -07:00
John Chilton b869230948 Re-arrange workflow scheduling logic according to @nsoranzo's suggestions. 2017-03-30 16:32:33 -04:00
anuprulez e67dc45c26 Merge branch 'dev' of https://github.com/bgruening/galaxy into phylocanvas 2017-03-30 21:35:15 +02:00
John Chilton 185aa3968b Log when workflow scheduling is delayed about why.
Currently the logs contain fairly uninformative step delayed messages that don't allow admins to understand why parts of the workflow are being delayed during scheduling.

Here are some examples of before and after.

When running the test:

```
./run_tests.sh -api test/api/test_workflows.py:WorkflowsApiTestCase.test_workflow_pause
```

Before these lines would show up:

```
galaxy.workflow.run DEBUG 2017-03-30 09:23:47,327 Workflow step 2 of invocation 1 invoked (174.149 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:23:47,347 Workflow step 3 of invocation 1 invoked (19.355 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:23:47,364 Workflow step 4 of invocation 1 delayed (16.262 ms)
```

Now these same lines are as follows:

```
galaxy.workflow.run DEBUG 2017-03-30 09:19:28,601 Workflow step 2 of invocation 1 invoked (172.849 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:19:28,619 Marking step 3 outputs delayed (executing pause step)
galaxy.workflow.run DEBUG 2017-03-30 09:19:28,620 Workflow step 3 of invocation 1 invoked (17.999 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:19:28,633 Workflow step 4 of invocation 1 delayed (dependent step [3] delayed, so this step must be delayed) (13.398 ms)
```

Also, when running the test:

```
./run_tests.sh -api test/api/test_workflows.py:WorkflowsApiTestCase.test_workflow_run_dynamic_output_collections_3
```

Before these lines would be printed:

```
galaxy.workflow.run DEBUG 2017-03-30 09:25:35,910 Workflow step 4 of invocation 1 invoked (281.479 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:25:35,937 Workflow step 5 of invocation 1 delayed (25.904 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:25:35,970 Workflow step 6 of invocation 1 delayed (32.597 ms)
```

Now these same lines are as follows:

```
galaxy.workflow.run DEBUG 2017-03-30 09:27:54,270 Workflow step 4 of invocation 1 invoked (295.826 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:27:54,315 Workflow step 5 of invocation 1 delayed (dependent collection [1] not yet populated with datasets) (44.581 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:27:54,326 Workflow step 6 of invocation 1 delayed (dependent step [5] delayed, so this step must be delayed) (10.804 ms)
```

When running workflows with steps that depend explicitly on other steps (instead of implicitly between dataset connections), lines such as:

```
galaxy.workflow.run DEBUG 2017-03-30 09:33:52,966 Marking step 3 outputs delayed (workflow paused at this step waiting for review)
galaxy.workflow.run DEBUG 2017-03-30 09:33:53,001 Workflow step 4 of invocation 1 delayed (dependent step [3] delayed, so this step must be delayed) (0.157 ms)
galaxy.workflow.run DEBUG 2017-03-30 09:33:53,001 Workflow step 5 of invocation 1 delayed (depends on step [4] but that step has not been invoked yet) (0.084 ms)
```

and

```
galaxy.workflow.run DEBUG 2017-03-30 09:33:57,090 Workflow step 5 of invocation 1 delayed (depends on step [4] but one or more jobs created from that step have not finished yet) (0.144 ms)
```

now may appear.
2017-03-30 12:58:45 -04:00
John Chilton aba31bc0d4 [17.01] Restrict workflow scheduling within a history to a fixed, random handler.
Lets revisit the problem that background scheduling workflows (as is the default UI behavior as of 16.10) makes it easier for histories to contain datasets interleaved from different workflow invocations under certain reasonable conditions (https://github.com/galaxyproject/galaxy/issues/3474).

Considering only a four year old workflow and tool feature set (no collection operations, no dynamic dataset discovery, only tool and input workflow modules), all workflows can and will fully schedule on the first scheduling iteration. Under those circumstances, this solution is functionally equivalent to history_local_serial_workflow_scheduling introduced #3520 - but should be more performant because all such workflows fully schedule in the first iteration and the double loop introduced here https://github.com/galaxyproject/galaxy/pull/3520/files#diff-d7e80a366f3965777de95cb0f5b13a4e is avoided for each workflow invocation for each iteration. This addresses both concerns I outlined [here](https://github.com/galaxyproject/galaxy/issues/3816#issuecomment-289323288).

For workflows that use certain classes of newer tools or newer workflow features - I'd argue this approach will not degrade as harshly as enabling history_local_serial_workflow_scheduling.

For instance, imagine a workflow with a dynamic dataset collection output step (such as used by IUC tools Deseq2, Trinity, Stacks, and various Mothur tools) half way through that takes 24 hour of queue time to reach. Now imagine a user running 5 such workflows at once.

- Without this and without history_local_serial_workflow_scheduling, the 5 workflows will each run as fast as possible and the UI will show as much of each workflow as can be scheduled but the order of the datsets may be shuffled. The workflows will be complete for the users in 48 hours.
- With history_local_serial_workflow_scheduling enabled, only 1 workflow will be scheduled only half way for the first 24 hours and the user will be given no visual indication for why the other workflows are not running for 1 day. The final workflow output will take nearly a week to be complete for the users.
- With this enabled - the new default in this commit - each workflow will be scheduled in two chunks but these chunks will be contingious and it should be fairly clear to the user what tool caused the discontinuity of the datasets in the history. So things are still mostly ordered, but the draw backs of history_local_serial_workflow_scheduling are avoided entirely. Namely, the other four workflows aren't hidden from the user without a UI indication and the workflows will still only take 48 hours to be complete and outputs ready for the user.

The only drawback of this new default behavior is that you could potentially see some performance improvements by scheduling multiple workflow invocations within one history - but this was never a design goal in my mind when implementing background scheduling and under typical Galaxy use cases I don't think this would be worth the UI problems. So, the older behavior can be re-enabled by setting parallelize_workflow_scheduling_within_histories to True in galaxy.ini but it won't be on by default or really recommended if the Galaxy UI is being used.
2017-03-29 22:20:41 -04:00
John Chilton 4beb98e973 [17.01] By default, do not allow workflow invocations to schedule indefinitely.
Give up after a month but allow admins to reduce this amount as well.
2017-03-29 22:19:13 -04:00
Martin Cech 10e89cfc85 Merge pull request #3841 from jmchilton/selenium_fixes_7
Attempt to improve the robustness and verboseness of the test_sharing_valid Selenium test.
2017-03-29 14:38:11 -04:00
Martin Cech 777db9829b Merge pull request #3696 from jmchilton/upload_collection
Allow uploading to collections.
2017-03-29 14:24:55 -04:00
Marius van den Beek a0b4ab63d2 Merge pull request #3842 from guerler/fix_hidden_datasets
Properly handle multiple hidden datasets when populating data select options
2017-03-29 18:47:21 +02:00
guerler 790a35ea2e Properly handle multiple hidden datasets when populating data select options 2017-03-29 11:38:09 -04:00
Martin Cech ab11adfa50 Merge pull request #3819 from jmchilton/disable_pesky_ts_test
Disable tool shed test function that fails frequently on Jenkins.
2017-03-29 10:12:15 -04:00
John Chilton 11860d55fb Attempt to improve the robustness and verboseness of the test_sharing_valid Selenium test.
- When registering, put a little pause in after clicking to ensure the browser has a chance to submit the request before continuing to check if indeed the user is logged in.
- If the user doesn't appear to be logged in, dump the contents of the user menu out so we can see if a different user is logged in or if there is no log in.
- Attempt to be more robust about conditions being waited on when clicking history option menu - in case clicks were being fired during jQuery transitions or something.

xref #3838
2017-03-29 10:03:51 -04:00
anuprulez 2f66d4563e Adding shapes for leaves of phylogenetic tree 2017-03-28 22:49:15 +02:00
John Chilton 5d3250fac0 [17.01] Order processing evaluation of workflow invocations when scheduling.
xref https://github.com/galaxyproject/galaxy/pull/3820#issuecomment-289725795

Also optimize the query to just pull out workflow invocation IDs per the suggestion of @nsoranzo [here](https://github.com/galaxyproject/galaxy/pull/3830#pullrequestreview-29473700).
2017-03-28 13:31:07 -04:00
Nicola Soranzo 32e8a2023d Fix import order for lib/galaxy/datatypes/util/gff_util.py 2017-03-28 18:23:56 +01:00
Nicola Soranzo 64f8e1cf3c Stricter checks for GFF/GFF3/GTF sniffing
Check frame column in Gff.sniff() and Gtf.sniff() .
Parse attributes column in Gff3.sniff() with a specific function to prevent
non-compliant GTF files being recognised as GFF3.
2017-03-28 18:23:45 +01:00
anuprulez 8e1d761bec Merging with dev 2017-03-28 17:22:44 +02:00