Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scottx611x/derived node attributes bugfix #2076

Conversation

scottx611x
Copy link
Member

@scottx611x scottx611x commented Sep 5, 2017

  • Addresses issue while creating expanded workflow graph (galaxy_connector.galaxy_workflow.create_expanded_workflow_graph) where Dataset Collections were never considered, and parent nodes for derived data nodes were never created leaving the derived nodes with no inheritable Attributes

Reviewed w/ @mccalluc

…ived from, and in turn gain information about which analysis group said output belongs to.
@codecov-io
Copy link

Codecov Report

Merging #2076 into scottx611x/associate_workflow_outputs will decrease coverage by 0.2%.
The diff coverage is 66.66%.

Impacted file tree graph

@@                           Coverage Diff                            @@
##           scottx611x/associate_workflow_outputs   #2076      +/-   ##
========================================================================
- Coverage                                   45.5%   45.3%   -0.21%     
========================================================================
  Files                                        411     411              
  Lines                                      28362   27732     -630     
  Branches                                    1319    1305      -14     
========================================================================
- Hits                                       12906   12563     -343     
+ Misses                                     15456   15169     -287
Impacted Files Coverage Δ
refinery/tool_manager/models.py 95.63% <100%> (ø) ⬆️
refinery/tool_manager/tests.py 99.82% <100%> (ø) ⬆️
refinery/galaxy_connector/galaxy_workflow.py 5.37% <25%> (+0.26%) ⬆️
refinery/user_files_manager/views.py 63.15% <0%> (-24.12%) ⬇️
refinery/user_files_manager/utils.py 84.21% <0%> (-10.53%) ⬇️
.../ui/source/js/data-set-about/ctrls/details-ctrl.js 46.42% <0%> (-9.27%) ⬇️
refinery/data_set_manager/views.py 33.81% <0%> (-2.44%) ⬇️
refinery/core/api.py 52.58% <0%> (-0.64%) ⬇️
refinery/data_set_manager/tests.py 99.6% <0%> (-0.01%) ⬇️
refinery/user_files_manager/tests.py 100% <0%> (ø) ⬆️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e769fb1...4cc389c. Read the comment docs.

@scottx611x scottx611x merged commit 624a691 into scottx611x/associate_workflow_outputs Sep 5, 2017
@scottx611x scottx611x deleted the scottx611x/derived_node_attributes_bugfix branch September 5, 2017 14:56
@scottx611x scottx611x moved this from QC to Done in Tool APIs Sep 5, 2017
scottx611x added a commit that referenced this pull request Sep 5, 2017
* Utilize Galaxy Tool parameters from frontend with test coverage

* Exclude generic fields from file_browser2 columns and attributes

* Properly format some code

* Update analysis_manager.tasks to be able to run WorkflowTools in their entirety

* Update Tool __str__() to be more resonable

* Rename method to be more clear

* Add `INPUT_STEP` constant

* Remove comment

* Add `galaxy_invocation_steps` as a property of WorkflowTool

* Add subanalysis_number as a property of Workflowtool

* Add method to create an Analysis and its related objects

* Add method to create AnalysisNodeConnections for a WorkflowTool

* Improve naming for Galaxy CollectionElements

* Update methods to be private

* Update docstrings

* Add method to create WorkflowFilesDL objects

* Add static method to construct the proper filename for a Galaxy Dataset

* Add method to retrieve the list of Galaxy Datasets from our Galaxy WF invocation's History

* Fix bug with the formatting of `subtask` arguments

* Add method to get Node objects from the list of UUIDs the front-end gives us

* Add method to get the dict representation of our Galaxy Workflow

* Add method to get the `parameters` from our tool launch configuration

* Add method to get the workflow step that a Galaxy Dataset was created from

* Update docstring

* Update `launch()` after analysis creation abstraction introduced

* Update tests

* Update Analysis naming

* Add more context to invalid ToolAnnotation error messages

* Add mock for a galaxy workflow dict

* Fix method naming

* Utilize an asynchronous approach for Galaxy File Imports

* Add logging statements

* We actually want the FileStoreitem's datafile name here

* Fix failing tests due to new changes

* Rework `update_file_relationships_with_galaxy_history_data()` to act upon a list instead of individual dicts

* Add constant for `hdca`

* Clearer naming for `_get_galaxy_datasets_list()`

* Use newly renamed method

* `_get_galaxy_workflow_invocation_steps()` didn't need to be a `@property`

* Add test coverage

* Fix test

* Alleviate the need for this hack

* Only replace first occurance in the case of duplicate nodes being launched

* Provide some information about which parameters are editible for a given Galaxy Tool

* Fix bug with boolean parameters with a default_value of False having a checked checkbox

* Add `handle_bioblend_exceptions` decorator

* Add getter for a workflow's interal_id field

* Fix logging level, and reraise exception

* Rename method to `get_galaxy_file_relationships`

* Fix Test

* Update Tool `__str__()`

* Add mock data for a galaxy tool

* `show_invocation()` here to yield more relevant information

* Store information about Refinery files that are mapped to Datasets in the Galaxy history

* Update test coverage

* Set GALAXY_TO_REFINERY_MAPPING_LIST upon tool creation

* Rename `subanalysis_number` to `analysis_group_number`

* Use an existing constant

* Clearer naming for `parameter` variable

* Use existing property `galaxy_workflow_history_id`

* Add getters to `WorkflowTool`

* Fix tests

* Tests pass locally. Add assertion to determine whats wrong on Travis

* Try to patch the reference instead of the object as to not make use of a network call

* Try to get some more information about the Travis error

* Slim down mock galaxy data

* Remove extra exception info for debugging travis

* Code formatting

* Mock the proper method as to not send messages to rabbitmq broker

* Move duplicated mocks into their own `setUp()`

* Fix these `return_values`

* Assign to var then return to be more clear

* Add docstring and handle base case

* Rename method and members to illustrate its true functionality

* Update docstrings

* Add comments and clearer naming

* Thin out galaxy mock data some more

* Add test coverage

* Remove use of `eval()`

* Constant was confusing

* Fix styling

* Bump code out of loop and add comment

* Assert that there is a corresponding galaxy workflow step for the galaxy dataset in question

* Cast to `set`

* Cast to list to support indexing

* Add TODO in case a race condition is ever hit

* Remove `bit.ly` links

* Remove blank lines

* Remove redundant decorator

* Remove redundant "stringification"

* Split `create_analysis_node_connections` into two separate methods

* Fix styling

* Add an assertion as a sanity check

* Get the correct information in ui-grid table and facets after re-indexing. Only a hack at this point.

* Add test coverage for `Node.get_analysis()`

* Analysis name w/ time string was causing issues with faceting, and we already have records of their launch time

* Remove weird `set()/list()` casting due to having bad test data

* I hit these db constraints a couple of times recently. Incresing the ceiling.

* Scottx611x/remove fastqc viz (#2042)

* Remove integrated FastQC viewer

* Remove a few more occurances from strings

* Remove `refineryChart` dependency

* Cleanup tests

* Update Analyses names to be more user friendly

* Add test coverage for how Analysis names should look

* Scottx611x/analysis names in fb2 workaround (#2046)

* Get the correct information in ui-grid table and facets after re-indexing. Only a hack at this point.

* Add test coverage for `Node.get_analysis()`

* Analysis name w/ time string was causing issues with faceting, and we already have records of their launch time

* Cleanup tests

* Update Analyses names to be more user friendly

* Remove OutputFile model and its occurances. Ended up being an unnecessary feature.

* Define a new entry in schema for `input_output_relationship`

* Don't need this information in the Tool Launch Configuration

* Remove lingering `chart.js`

* Remove other instances of `OutputFiles`

* Revert "Remove other instances of `OutputFiles`"

This reverts commit 2d16c22.

* Revert "Remove OutputFile model and its occurances. Ended up being an unnecessary feature."

This reverts commit cb81f8d.

* Revert changes to ToolDefinition schema

* Fix race condition where galaxy_file_import state could be out of sync in th UI

* Add test case to check if successful galaxy file import state is set

* Remove all code related to OutputFile;
This feature was never utilized. I can see its potential in the VisualizationTool relam, but I can also envision solutuions that are easier for the end user where they don't have to annotate tools with specific outputs that they'd like to retrieve.

* Update regex

* Fix bug to allow for legacy Analyses to be launched

* Scottx611x/analysis groups (#2066)

* Update Galaxy mock data

* Fix `help`

* Add constants

* Dynamically create analysis group numbers based on the structure of our workflow

* Fix docstring

* Use temp var for easier readability

* Add mechanism to derive which Refinery file a workflow output was derived from, and in turn gain information about which analysis group said output belongs to.

* Fix tests

* Fix typo

* Add docstrings

* Don't overuse `@property`. Make method private

* Remove statements from debugging

* Change to default value

* Fix styling

* Remove comment stating the obvious

* Flip if/else logic to be more clear

* Add constant

* Add test coverage for `Workflowtool._has_dataset_collection_input()`

* Fix typo

* Add logic to determine analysis group numbering, and test coverage

* Fix spelling

* Add tests coverage for an edge case in the recursive calls to `WorkflowTool._get_refinery_input_file_id()`

* Fix bug where incorrect AnnotatedNode information was being indexed in solr. Add test coverage.

* Add test coverage for `_get_analysis_group_number`

* Simplify logic

* Tidy mock glaxy data

* DRY: condense repeated calls in tests

* Fix tests

* Remove `analyis_group` from method sig.

* Add comment about recursive call

* Update test method to be more clear about its intentions

* Update `WorkflowTool._get_analysis_group_number()`  to be more clear about what we're achieving

* Scottx611x/derived node attributes bugfix (#2076)

* Update Galaxy mock data

* Fix `help`

* Add constants

* Dynamically create analysis group numbers based on the structure of our workflow

* Fix docstring

* Use temp var for easier readability

* Add mechanism to derive which Refinery file a workflow output was derived from, and in turn gain information about which analysis group said output belongs to.

* Fix tests

* Fix typo

* Add docstrings

* Don't overuse `@property`. Make method private

* Remove statements from debugging

* Change to default value

* Fix styling

* Remove comment stating the obvious

* Flip if/else logic to be more clear

* Add constant

* Add test coverage for `Workflowtool._has_dataset_collection_input()`

* Fix typo

* Add logic to determine analysis group numbering, and test coverage

* Fix spelling

* Add tests coverage for an edge case in the recursive calls to `WorkflowTool._get_refinery_input_file_id()`

* Fix bug where incorrect AnnotatedNode information was being indexed in solr. Add test coverage.

* Add test coverage for `_get_analysis_group_number`

* Simplify logic

* Tidy mock glaxy data

* DRY: condense repeated calls in tests

* Fix tests

* Address issue while creating expanded workflow graph where Dataset Collections were never considered

* Update AnalysisNodeConnection input creation and update tests

* Assert that we assign the correct name to input AnalysisNodeConnections
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Tool APIs
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants