diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py index 2c385d476ca128e949e9b9a1353c0679ed5d6958..282dcd77f202a32201c2913114e04606b4977ec7 100755 --- a/run_workflow_phaeoexplorer.py +++ b/run_workflow_phaeoexplorer.py @@ -115,7 +115,7 @@ class RunWorkflow(speciesData.SpeciesData): """ - logging.debug("Connecting to the galaxy instance (%s)" % self.instance_url) + # logging.debug("Connecting to the galaxy instance (%s)" % self.instance_url) self.instance = galaxy.GalaxyInstance(url=self.instance_url, email=self.config["galaxy_default_admin_email"], password=self.config["galaxy_default_admin_password"] @@ -125,10 +125,10 @@ class RunWorkflow(speciesData.SpeciesData): try: self.instance.histories.get_histories() except bioblend.ConnectionError: - logging.critical("Cannot connect to galaxy instance (%s) " % self.instance_url) + logging.critical("Cannot connect to galaxy instance (%s)" % self.instance_url) sys.exit() else: - logging.debug("Successfully connected to galaxy instance (%s) " % self.instance_url) + # logging.debug("Successfully connected to galaxy instance (%s) " % self.instance_url) return 1 @@ -961,7 +961,10 @@ if __name__ == "__main__": logging.info("Input organism %s: 1 species detected in input dictionary" % k) # Set workflow path (1 organism) - workflow_path = os.path.join(os.path.abspath(script_dir), "workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_1org_v2.ga") + workflow_path = os.path.join(os.path.abspath(script_dir), "workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_1org_v4.ga") + + # Instance object required variables + instance_url, email, password = None, None, None # Set the galaxy instance variables for k2, v2 in v.items(): @@ -974,13 +977,134 @@ if __name__ == "__main__": # Check if the versions of tools specified in the workflow are installed in galaxy install_changesets_revisions_from_workflow(workflow_path=workflow_path, instance=instance) - # Set datamap (mapping of input files in the workflow) - datamap = {} + organism_key_name = list(v.keys()) + org_dict = v[organisms_key_names[0]] + history_id = org_dict["history_id"] + + # Organism 1 attributes + org_genus = org_dict["genus"] + org_species = org_dict["species"] + org_genus_species = org_dict["genus_species"] + org_species_folder_name = org_dict["species_folder_name"] + org_full_name = org_dict["full_name"] + org_strain = org_dict["sex"] + org_sex = org_dict["strain"] + org_org_id = org_dict["org_id"] + org_genome_analysis_id = org_dict["genome_analysis_id"] + org_ogs_analysis_id = org_dict["ogs_analysis_id"] + org_genome_hda_id = org_dict["hda_ids"]["genome_hda_id"] + org_transcripts_hda_id = org_dict["hda_ids"]["transcripts_hda_id"] + org_proteins_hda_id = org_dict["hda_ids"]["proteins_hda_id"] + org_gff_hda_id = org_dict["hda_ids"]["gff_hda_id"] + + # Store these values into a dict for parameters logging/validation + org_parameters_dict = { + "org_genus": org_genus, + "org_species": org_species, + "org_genus_species": org_genus_species, + "org_species_folder_name": org_species_folder_name, + "org_full_name": org_full_name, + "org_strain": org_strain, + "org_sex": org_sex, + "org_org_id": org_org_id, + "org_genome_analysis_id": org_genome_analysis_id, + "org_ogs_analysis_id": org_ogs_analysis_id, + "org_genome_hda_id": org_genome_hda_id, + "org_transcripts_hda_id": org_transcripts_hda_id, + "org_proteins_hda_id": org_proteins_hda_id, + "org_gff_hda_id": org_gff_hda_id, + } + + # Look for empty parameters values, throw a critical error if a parameter value is invalid + for param_name, param_value in org_parameters_dict.items(): + if param_value is None or param_value == "": + logging.critical("Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(org_full_name, param_name, param_value)) + sys.exit() # Set the workflow parameters (individual tools runtime parameters in the workflow) workflow_parameters = {} + GENOME_FASTA_FILE_ORG = "0" + GFF_FILE_ORG = "1" + PROTEINS_FASTA_FILE_ORG = "2" + LOAD_FASTA_ORG = "3" + JBROWSE_ORG = "4" + LOAD_GFF_ORG = "5" + JBROWSE_CONTAINER = "6" + SYNC_FEATURES_ORG = "7" + POPULATE_MAT_VIEWS = "8" + INDEX_TRIPAL_DATA = "9" + + # Input files have no parameters (they are set via assigning the hda IDs in the datamap parameter of the bioblend method) + workflow_parameters[GENOME_FASTA_FILE_ORG] = {} + workflow_parameters[GFF_FILE_ORG] = {} + workflow_parameters[PROTEINS_FASTA_FILE_ORG] = {} + workflow_parameters[LOAD_FASTA_ORG] = {"organism": org_org_id, + "analysis_id": org_genome_analysis_id, + "do_update": "true"} + workflow_parameters[JBROWSE_ORG] = {} + workflow_parameters[LOAD_GFF_ORG] = {"organism": org_org_id, "analysis_id": org_ogs_analysis_id} + workflow_parameters[SYNC_FEATURES_ORG] = {"organism_id": org_org_id} + # POPULATE + INDEX DATA + workflow_parameters[POPULATE_MAT_VIEWS] = {} + workflow_parameters[INDEX_TRIPAL_DATA] = {} + + # Set datamap (mapping of input files in the workflow) + datamap = {} + + datamap[GENOME_FASTA_FILE_ORG] = {"src": "hda", "id": org_genome_hda_id} + datamap[GFF_FILE_ORG] = {"src": "hda", "id": org_gff_hda_id} + datamap[PROTEINS_FASTA_FILE_ORG] = {"src": "hda", "id": org_proteins_hda_id} + + + with open(workflow_path, 'r') as ga_in_file: + + # Store the decoded json dictionary + workflow_dict = json.load(ga_in_file) + workflow_name = workflow_dict["name"] + + # For the Jbrowse tool, we unfortunately have to manually edit the parameters instead of setting them + # as runtime values, using runtime parameters makes the tool throw an internal critical error ("replace not found" error) + # Scratchgmod test: need "http" (or "https"), the hostname (+ port) + jbrowse_menu_url_org = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org_genus_species, Genus=org_genus[0].upper() + org_genus[1:], species=org_species, id="{id}") + if "menu_url" not in config.keys(): + jbrowse_menu_url_org = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org_genus_species, Genus=org_genus[0].upper() + org_genus[1:], species=org_species, id="{id}") + else: + jbrowse_menu_url_org = config["menu_url"] + "/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(genus_sp=org_genus_species, Genus=org_genus[0].upper() + org_genus[1:], species=org_species, id="{id}") + + # show_tool_add_organism = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_add_organism/organism_add_organism/2.3.4+galaxy0", io_details=True) + # print(show_tool_add_organism) + # show_jbrowse_tool = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0", io_details=True) + # print(show_jbrowse_tool) + # show_jbrowse_container_tool = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1", io_details=True) + # print(show_jbrowse_container_tool) + + # Replace values in the workflow dictionary + workflow_dict["steps"]["4"]["tool_state"] = workflow_dict["steps"]["4"]["tool_state"].replace("__MENU_URL_ORG__", jbrowse_menu_url_org) + workflow_dict["steps"]["6"]["tool_state"] = workflow_dict["steps"]["6"]["tool_state"].replace("__DISPLAY_NAME_ORG__", org_full_name).replace("__UNIQUE_ID_ORG__", org_species_folder_name) + + # Import the workflow in galaxy as a dict + instance.workflows.import_workflow_dict(workflow_dict=workflow_dict) + + # Get its attributes + workflow_attributes = instance.workflows.get_workflows(name=workflow_name) + # Then get its ID (required to invoke the workflow) + workflow_id = workflow_attributes[0]["id"] # Index 0 is the most recently imported workflow (the one we want) + show_workflow = instance.workflows.show_workflow(workflow_id=workflow_id) + # Check if the workflow is found + try: + logging.debug("Workflow ID: %s" % workflow_id) + except bioblend.ConnectionError: + logging.warning("Error finding workflow %s" % workflow_name) + + # Finally, invoke the workflow alogn with its datamap, parameters and the history in which to invoke it + instance.workflows.invoke_workflow(workflow_id=workflow_id, history_id=history_id, params=workflow_parameters, inputs=datamap, allow_tool_state_corrections=True) + + logging.info("Successfully imported and invoked workflow {0}, check the galaxy instance ({1}) for the jobs state".format(workflow_name, instance_url)) + + + if len(list(v.keys())) == 2: logging.info("Input organism %s: 2 species detected in input dictionary" % k) @@ -1089,17 +1213,6 @@ if __name__ == "__main__": logging.critical("Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(org2_full_name, param_name, param_value)) sys.exit() - - jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}") - jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}") - if "menu_url" not in config.keys(): - jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}") - jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}") - else: - jbrowse_menu_url_org1 = config["menu_url"] - jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}") - - # Source files association (ordered by their IDs in the workflow) # WARNING: Be very careful about how the workflow is "organized" (i.e the order of the steps/datasets, check the .ga if there is any error) GFF_FILE_ORG1 = "0" @@ -1181,7 +1294,6 @@ if __name__ == "__main__": workflow_dict = json.load(ga_in_file) workflow_name = workflow_dict["name"] - # For the Jbrowse tool, we unfortunately have to manually edit the parameters instead of setting them # as runtime values, using runtime parameters makes the tool throw an internal critical error ("replace not found" error) # Scratchgmod test: need "http" (or "https"), the hostname (+ port) diff --git a/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_1org_v4.ga b/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_1org_v4.ga new file mode 100644 index 0000000000000000000000000000000000000000..0349a497fc1c8baa9ab98ba75c092dad191da08b --- /dev/null +++ b/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_1org_v4.ga @@ -0,0 +1,535 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "", + "format-version": "0.1", + "name": "chado_load_tripal_synchronize_jbrowse_1org_v4", + "steps": { + "0": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "genome" + } + ], + "label": "genome", + "name": "Input dataset", + "outputs": [], + "position": { + "bottom": 277.1999969482422, + "height": 61.19999694824219, + "left": 436.5, + "right": 636.5, + "top": 216, + "width": 200, + "x": 436.5, + "y": 216 + }, + "tool_id": null, + "tool_state": "{\"optional\": false}", + "tool_version": null, + "type": "data_input", + "uuid": "fa9981ea-4012-40aa-ad84-6e6f61049104", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "65bba69d-b8f0-4f7e-a66a-71afa9a8975f" + } + ] + }, + "1": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "annotations" + } + ], + "label": "annotations", + "name": "Input dataset", + "outputs": [], + "position": { + "bottom": 367.1999969482422, + "height": 61.19999694824219, + "left": 467.5, + "right": 667.5, + "top": 306, + "width": 200, + "x": 467.5, + "y": 306 + }, + "tool_id": null, + "tool_state": "{\"optional\": false}", + "tool_version": null, + "type": "data_input", + "uuid": "61d23082-b459-4014-8584-6ff5b98ce689", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "acb766e7-fcd7-42e2-8fcf-638024338fc4" + } + ] + }, + "2": { + "annotation": "", + "content_id": null, + "errors": null, + "id": 2, + "input_connections": {}, + "inputs": [ + { + "description": "", + "name": "proteins" + } + ], + "label": "proteins", + "name": "Input dataset", + "outputs": [], + "position": { + "bottom": 456.1999969482422, + "height": 61.19999694824219, + "left": 489.5, + "right": 689.5, + "top": 395, + "width": 200, + "x": 489.5, + "y": 395 + }, + "tool_id": null, + "tool_state": "{\"optional\": false}", + "tool_version": null, + "type": "data_input", + "uuid": "ea25f583-f55d-4fdd-a7a9-86ffb4b9c731", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "eba4266d-d468-448f-8ce3-fa87b497cbf8" + } + ] + }, + "3": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0", + "errors": null, + "id": 3, + "input_connections": { + "fasta": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool Chado load fasta", + "name": "analysis_id" + }, + { + "description": "runtime parameter for tool Chado load fasta", + "name": "fasta" + }, + { + "description": "runtime parameter for tool Chado load fasta", + "name": "organism" + }, + { + "description": "runtime parameter for tool Chado load fasta", + "name": "wait_for" + } + ], + "label": null, + "name": "Chado load fasta", + "outputs": [ + { + "name": "results", + "type": "json" + } + ], + "position": { + "bottom": 356.1999969482422, + "height": 143.1999969482422, + "left": 766.5, + "right": 966.5, + "top": 213, + "width": 200, + "x": 766.5, + "y": 213 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0", + "tool_shed_repository": { + "changeset_revision": "ba4d07fbaf47", + "name": "chado_feature_load_fasta", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"match_on_name\": \"false\", \"organism\": {\"__class__\": \"RuntimeValue\"}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"re_name\": \"\", \"re_uniquename\": \"\", \"relationships\": {\"rel_type\": \"none\", \"__current_case__\": 0}, \"sequence_type\": \"contig\", \"wait_for\": {\"__class__\": \"RuntimeValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.3.4+galaxy0", + "type": "tool", + "uuid": "86b4962b-d001-44f3-b2f5-349e0daccc69", + "workflow_outputs": [ + { + "label": null, + "output_name": "results", + "uuid": "892534b5-0d67-44da-8892-f17da2be9e9c" + } + ] + }, + "4": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0", + "errors": null, + "id": 4, + "input_connections": { + "reference_genome|genome": { + "id": 0, + "output_name": "output" + }, + "track_groups_0|data_tracks_0|data_format|annotation": { + "id": 1, + "output_name": "output" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool JBrowse", + "name": "reference_genome" + } + ], + "label": null, + "name": "JBrowse", + "outputs": [ + { + "name": "output", + "type": "html" + } + ], + "position": { + "bottom": 572, + "height": 184, + "left": 753.5, + "right": 953.5, + "top": 388, + "width": 200, + "x": 753.5, + "y": 388 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0", + "tool_shed_repository": { + "changeset_revision": "4542035c1075", + "name": "jbrowse", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"action\": {\"action_select\": \"create\", \"__current_case__\": 0}, \"gencode\": \"1\", \"jbgen\": {\"defaultLocation\": \"\", \"trackPadding\": \"20\", \"shareLink\": \"true\", \"aboutDescription\": \"\", \"show_tracklist\": \"true\", \"show_nav\": \"true\", \"show_overview\": \"true\", \"show_menu\": \"true\", \"hideGenomeOptions\": \"false\"}, \"plugins\": {\"BlastView\": \"true\", \"ComboTrackSelector\": \"false\", \"GCContent\": \"false\"}, \"reference_genome\": {\"genome_type_select\": \"history\", \"__current_case__\": 1, \"genome\": {\"__class__\": \"RuntimeValue\"}}, \"standalone\": \"minimal\", \"track_groups\": [{\"__index__\": 0, \"category\": \"Annotation\", \"data_tracks\": [{\"__index__\": 0, \"data_format\": {\"data_format_select\": \"gene_calls\", \"__current_case__\": 2, \"annotation\": {\"__class__\": \"RuntimeValue\"}, \"match_part\": {\"match_part_select\": \"false\", \"__current_case__\": 1}, \"index\": \"false\", \"track_config\": {\"track_class\": \"NeatHTMLFeatures/View/Track/NeatFeatures\", \"__current_case__\": 3, \"html_options\": {\"topLevelFeatures\": \"\"}}, \"jbstyle\": {\"style_classname\": \"transcript\", \"style_label\": \"product,name,id\", \"style_description\": \"note,description\", \"style_height\": \"10px\", \"max_height\": \"600\"}, \"jbcolor_scale\": {\"color_score\": {\"color_score_select\": \"none\", \"__current_case__\": 0, \"color\": {\"color_select\": \"automatic\", \"__current_case__\": 0}}}, \"jb_custom_config\": {\"option\": []}, \"jbmenu\": {\"track_menu\": [{\"__index__\": 0, \"menu_action\": \"iframeDialog\", \"menu_label\": \"View transcript report\", \"menu_title\": \"Transcript {id}\", \"menu_url\": \"__MENU_URL_ORG__\", \"menu_icon\": \"dijitIconBookmark\"}]}, \"track_visibility\": \"default_off\", \"override_apollo_plugins\": \"False\", \"override_apollo_drag\": \"False\"}}]}], \"uglyTestingHack\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.16.11+galaxy0", + "type": "tool", + "uuid": "4e87e6b5-c37c-4429-a491-2d6a411d8a13", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "37d09194-4527-4428-963c-85cb351efcba" + } + ] + }, + "5": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0", + "errors": null, + "id": 5, + "input_connections": { + "fasta": { + "id": 2, + "output_name": "output" + }, + "gff": { + "id": 1, + "output_name": "output" + }, + "wait_for": { + "id": 3, + "output_name": "results" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool Chado load gff", + "name": "analysis_id" + }, + { + "description": "runtime parameter for tool Chado load gff", + "name": "fasta" + }, + { + "description": "runtime parameter for tool Chado load gff", + "name": "gff" + }, + { + "description": "runtime parameter for tool Chado load gff", + "name": "organism" + }, + { + "description": "runtime parameter for tool Chado load gff", + "name": "wait_for" + } + ], + "label": null, + "name": "Chado load gff", + "outputs": [ + { + "name": "results", + "type": "txt" + } + ], + "position": { + "bottom": 383.6000061035156, + "height": 173.60000610351562, + "left": 1043.5, + "right": 1243.5, + "top": 210, + "width": 200, + "x": 1043.5, + "y": 210 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0", + "tool_shed_repository": { + "changeset_revision": "e9a6d7568817", + "name": "chado_feature_load_gff", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"add_only\": \"false\", \"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"gff\": {\"__class__\": \"RuntimeValue\"}, \"landmark_type\": \"contig\", \"no_seq_compute\": \"false\", \"organism\": {\"__class__\": \"RuntimeValue\"}, \"prot_naming\": {\"method\": \"regex\", \"__current_case__\": 1, \"re_protein_capture\": \"^mRNA(_.+)$\", \"re_protein\": \"prot\\\\1\"}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"wait_for\": {\"__class__\": \"RuntimeValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.3.4+galaxy0", + "type": "tool", + "uuid": "34eb5e35-988e-4b49-8f2c-b11761a43588", + "workflow_outputs": [ + { + "label": null, + "output_name": "results", + "uuid": "2c0c2e3d-7ce1-4f7e-ad2f-456d9e97fdb8" + } + ] + }, + "6": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1", + "errors": null, + "id": 6, + "input_connections": { + "organisms_0|jbrowse": { + "id": 4, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Add organisms to JBrowse container", + "outputs": [ + { + "name": "output", + "type": "html" + } + ], + "position": { + "bottom": 551.1999969482422, + "height": 133.1999969482422, + "left": 1039.5, + "right": 1239.5, + "top": 418, + "width": 200, + "x": 1039.5, + "y": 418 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1", + "tool_shed_repository": { + "changeset_revision": "11033bdad2ca", + "name": "jbrowse_to_container", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"organisms\": [{\"__index__\": 0, \"jbrowse\": {\"__class__\": \"RuntimeValue\"}, \"name\": \"__DISPLAY_NAME_ORG__\", \"advanced\": {\"unique_id\": \"__UNIQUE_ID_ORG__\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.5.1", + "type": "tool", + "uuid": "f06c3ec7-936f-41be-9718-248b1d760d11", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "948e9774-03e5-43be-ad57-4b785372f78a" + } + ] + }, + "7": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", + "errors": null, + "id": 7, + "input_connections": { + "wait_for": { + "id": 5, + "output_name": "results" + } + }, + "inputs": [ + { + "description": "runtime parameter for tool Synchronize features", + "name": "organism_id" + } + ], + "label": null, + "name": "Synchronize features", + "outputs": [ + { + "name": "results", + "type": "txt" + } + ], + "position": { + "bottom": 370.6000061035156, + "height": 153.60000610351562, + "left": 1325.5, + "right": 1525.5, + "top": 217, + "width": 200, + "x": 1325.5, + "y": 217 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", + "tool_shed_repository": { + "changeset_revision": "64e36c3f0dd6", + "name": "tripal_feature_sync", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"organism_id\": {\"__class__\": \"RuntimeValue\"}, \"repeat_ids\": [], \"repeat_types\": [{\"__index__\": 0, \"types\": \"mRNA\"}, {\"__index__\": 1, \"types\": \"polypeptide\"}], \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "3.2.1.0", + "type": "tool", + "uuid": "38dd9a7d-46e1-48c6-8a5a-9c62a6860431", + "workflow_outputs": [ + { + "label": null, + "output_name": "results", + "uuid": "704c9382-8a3e-4b2b-8190-399a43e6455f" + } + ] + }, + "8": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_populate_mviews/db_populate_mviews/3.2.1.0", + "errors": null, + "id": 8, + "input_connections": { + "wait_for": { + "id": 7, + "output_name": "results" + } + }, + "inputs": [], + "label": null, + "name": "Populate materialized views", + "outputs": [ + { + "name": "results", + "type": "txt" + } + ], + "position": { + "bottom": 369.6000061035156, + "height": 153.60000610351562, + "left": 1611.5, + "right": 1811.5, + "top": 216, + "width": 200, + "x": 1611.5, + "y": 216 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_populate_mviews/db_populate_mviews/3.2.1.0", + "tool_shed_repository": { + "changeset_revision": "3c08f32a3dc1", + "name": "tripal_db_populate_mviews", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"mview\": \"\", \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "3.2.1.0", + "type": "tool", + "uuid": "b34ddfee-c317-4c21-99a6-679bd640b1be", + "workflow_outputs": [ + { + "label": null, + "output_name": "results", + "uuid": "53919587-2586-4c0f-9ae6-082119727c97" + } + ] + }, + "9": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_index/db_index/3.2.1.1", + "errors": null, + "id": 9, + "input_connections": { + "wait_for": { + "id": 8, + "output_name": "results" + } + }, + "inputs": [], + "label": null, + "name": "Index Tripal data", + "outputs": [ + { + "name": "results", + "type": "txt" + } + ], + "position": { + "bottom": 328.8000030517578, + "height": 112.80000305175781, + "left": 1897.5, + "right": 2097.5, + "top": 216, + "width": 200, + "x": 1897.5, + "y": 216 + }, + "post_job_actions": {}, + "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_index/db_index/3.2.1.1", + "tool_shed_repository": { + "changeset_revision": "d55a39f12dda", + "name": "tripal_db_index", + "owner": "gga", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"expose\": {\"do_expose\": \"no\", \"__current_case__\": 0}, \"queues\": \"10\", \"table\": {\"mode\": \"website\", \"__current_case__\": 0}, \"tokenizer\": \"standard\", \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "3.2.1.1", + "type": "tool", + "uuid": "6f8cf6b5-82f2-40bf-80c0-aecf74bedd5a", + "workflow_outputs": [ + { + "label": null, + "output_name": "results", + "uuid": "65a75a90-c47f-4cb4-be74-87cd89d1988a" + } + ] + } + }, + "tags": [], + "uuid": "f8c6fa33-4ade-4251-a214-0ce77cdaac6e", + "version": 1 +} \ No newline at end of file