From 081f190609bcac99f1df164cb532e176a718a94f Mon Sep 17 00:00:00 2001
From: Arthur Le Bars <arthur.le-bars@sb-roscoff.fr>
Date: Fri, 13 Nov 2020 11:16:03 +0100
Subject: [PATCH] Explicit parameters and datamap for the run_workflow module,
 some changes for clarity

---
 .gitignore                                   | 101 +--------------
 README.md                                    |   9 ++
 gga_init.py                                  |   2 +-
 gga_load_data.py                             |   3 +-
 run_workflow_phaeoexplorer.py                | 122 ++++++++++++-------
 templates/compose_template.yml               |   4 +-
 workflows/Galaxy-Workflow-preset_workflow.ga |   2 +-
 7 files changed, 92 insertions(+), 151 deletions(-)

diff --git a/.gitignore b/.gitignore
index 17e708b..8322a22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,87 +1,4 @@
-# Byte-compiled / optimized / DLL files
 __pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
-# celery beat schedule file
-celerybeat-schedule
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
 .env
 .venv
 env/
@@ -89,19 +6,5 @@ venv/
 ENV/
 env.bak/
 venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-
-# IDE stuff
-.idea
\ No newline at end of file
+.idea
+config_phaeoexplorer*
\ No newline at end of file
diff --git a/README.md b/README.md
index b423808..a2c3432 100755
--- a/README.md
+++ b/README.md
@@ -80,7 +80,9 @@ For each input organism, the tool works in three parts (1 part = 1 separate scri
 **The first two parts are required to set up a functional GGA stack**
 
 **Part 1)**
+
 1) Create the directory tree structure (if it already exists, only create the required subdirectories)
+
 2) Create the docker-compose file for the organism and deploy the stack of services.
 
 
@@ -88,14 +90,21 @@ For each input organism, the tool works in three parts (1 part = 1 separate scri
 before calling the other scripts**
 
 **Part 2)**
+
 3) Gather source data files as specified in the input, can recursively search the directory (fully automated for local phaeoexplorer data)
+
 4) Link the source files to the organism correct src_data folders and load the data into the galaxy container
 
 *(Optional)* **Part 3)**
+
 5) (*Optional*) Modify headers in the transcripts and protein fasta files
+
 6) (*Optional*) TODO: Generate blast banks (no commit)
+
 7) (*Optional*) Connect to the galaxy instance
+
 8) (*Optional*) Run data integration galaxy steps (see @ http://gitlab.sb-roscoff.fr/abims/e-infra/gga)
+
 9) (*Optional*) TODO: Generate and update metadata files
 
 ## Usage:
diff --git a/gga_init.py b/gga_init.py
index c1ef9f2..817ffc1 100644
--- a/gga_init.py
+++ b/gga_init.py
@@ -1,7 +1,6 @@
 #!/usr/bin/python
 # -*- coding: utf-8 -*-
 
-
 import argparse
 import os
 import subprocess
@@ -233,6 +232,7 @@ if __name__ == "__main__":
     else:
         logging.basicConfig(level=logging.INFO)
 
+    # Parsing the config file if provided, using the default config otherwise
     if not args.config:
         args.config = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "config")
     else:
diff --git a/gga_load_data.py b/gga_load_data.py
index 8054d41..cc7a6e7 100644
--- a/gga_load_data.py
+++ b/gga_load_data.py
@@ -592,8 +592,7 @@ if __name__ == "__main__":
     else:
         logging.basicConfig(level=logging.INFO)
 
-    # Parsing the config file if provided, using the default config otherwise (if there is no config inside the
-    # repository
+    # Parsing the config file if provided, using the default config otherwise
     if not args.config:
         args.config = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "config")
     else:
diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py
index 6bc6bce..cd86e37 100644
--- a/run_workflow_phaeoexplorer.py
+++ b/run_workflow_phaeoexplorer.py
@@ -222,7 +222,7 @@ class RunWorkflow(speciesData.SpeciesData):
             custom_ga_file_path = os.path.abspath(custom_ga_file)
         with open(workflow_ga_file, 'r') as ga_in_file:
             workflow = str(ga_in_file.readlines())
-            # ugly fix for the jbrowse parameters
+            # Ugly fix for the jbrowse parameters
             workflow = workflow.replace('{\\\\\\\\\\\\"unique_id\\\\\\\\\\\\": \\\\\\\\\\\\"UNIQUE_ID\\\\\\\\\\\\"}',
                                         str('{\\\\\\\\\\\\"unique_id\\\\\\\\\\\\": \\\\\\\\\\\\"' + self.genus + " " + self.species) + '\\\\\\\\\\\\"')
             workflow = workflow.replace('\\\\\\\\\\\\"name\\\\\\\\\\\\": \\\\\\\\\\\\"NAME\\\\\\\\\\\\"',
@@ -234,7 +234,7 @@ class RunWorkflow(speciesData.SpeciesData):
 
             # TODO: Uncomment next lines in production
             # workflow = workflow.replace('http://localhost/sp/genus_species/feature/Genus/species/mRNA/{id}',
-            #                             "http://abims--gga.sb-roscoff.fr/sp/" + self.genus_lowercase + "_" + self.species + "/feature/" + self.genus + "/mRNA/{id}")
+            #                             "http://abims-gga.sb-roscoff.fr/sp/" + self.genus_lowercase + "_" + self.species + "/feature/" + self.genus + "/mRNA/{id}")
             workflow = workflow[2:-2]  # if the line under doesn't output a correct json
             # workflow = workflow[:-2]  # if the line above doesn't output a correct json
 
@@ -318,7 +318,15 @@ if __name__ == "__main__":
 
     parser.add_argument("-v", "--verbose",
                         help="Increase output verbosity",
-                        action="store_false")
+                        action="store_true")
+
+    parser.add_argument("--config",
+                        type=str,
+                        help="Config path, default to the 'config' file inside the script repository")
+
+    parser.add_argument("--main-directory",
+                        type=str,
+                        help="Where the stack containers will be located, defaults to working directory")
 
     args = parser.parse_args()
 
@@ -327,51 +335,73 @@ if __name__ == "__main__":
     else:
         logging.basicConfig(level=logging.INFO)
 
-    logging.info("Start")
+    # Parsing the config file if provided, using the default config otherwise
+    if not args.config:
+        args.config = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "config")
+    else:
+        args.config = os.path.abspath(args.config)
+
+    if not args.main_directory:
+        args.main_directory = os.getcwd()
+    else:
+        args.main_directory = os.path.abspath(args.main_directory)
+
     sp_dict_list = utilities.parse_input(args.input)
 
     for sp_dict in sp_dict_list:
+
+        # Creating an instance of the RunWorkflow object for the current organism
         run_workflow_for_current_organism = RunWorkflow(parameters_dictionary=sp_dict)
+
+
+        # Starting
+        logging.info("run_workflow.py called for %s" % run_workflow_for_current_organism.full_name)
+
         run_workflow_for_current_organism.main_dir = os.path.abspath(args.dir)
-        if args.init_instance:
-            logging.info(" Initializing the galaxy instance")
-            run_workflow_for_current_organism.init_instance()
-            run_workflow_for_current_organism.get_instance_attributes()
-            # metadata[genus_species_strain_sex]["initialized"] = True
-        if args.load_data:
-            logging.info("Loading data into galaxy")
-            # run_workflow_for_current_organism.load_data()
-            # metadata[genus_species_strain_sex]["data_loaded_in_instance"] = True
-        if args.run_main:
-            logging.info("Running main workflow")
-            run_workflow_for_current_organism.get_organism_and_analyses_ids()
-            workflow_parameters = dict()
-            load_fasta_dataset="0"
-
-            # TODO: Add a name for each parameter
-            workflow_parameters[load_fasta_dataset] = {}
-            workflow_parameters["1"] = {}
-            workflow_parameters["2"] = {}
-            workflow_parameters["3"] = {}
-            workflow_parameters["4"] = {"organism": run_workflow_for_current_organism.org_id,
-                                        "analysis_id": run_workflow_for_current_organism.genome_analysis_id,
-                                        "do_update": "true"}
-            workflow_parameters["5"] = {"organism": run_workflow_for_current_organism.org_id,
-                                        "analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
-            workflow_parameters["6"] = {"organism_id": run_workflow_for_current_organism.org_id}
-            workflow_parameters["7"] = {"analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
-            workflow_parameters["8"] = {"analysis_id": run_workflow_for_current_organism.genome_analysis_id}
-            workflow_parameters["9"] = {"organism_id": run_workflow_for_current_organism.org_id}
-            workflow_parameters["10"] = {}
-            workflow_parameters["11"] = {}
-
-            run_workflow_for_current_organism.datamap = dict()
-            run_workflow_for_current_organism.datamap["0"] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["genome_file"]}
-            run_workflow_for_current_organism.datamap["1"] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["gff_file"]}
-            run_workflow_for_current_organism.datamap["2"] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["proteins_file"]}
-            run_workflow_for_current_organism.datamap["3"] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["transcripts_file"]}
-
-            run_workflow_for_current_organism.run_workflow(workflow_name="main",
-                                                           workflow_parameters=workflow_parameters,
-                                                           datamap=run_workflow_for_current_organism.datamap)
-            # metadata[genus_species_strain_sex]["workflows_run"] = metadata[genus_species_strain_sex]["workflows_run"].append("main")
+
+        
+        base_workflow_parameters = dict()
+
+        # Explicit workflow parameter names
+        # TODO: Use an external mapping file instead ?
+
+        # TODO: Add a name for each parameter (explicit parameters)
+
+        # Base worflow (loading data in chado and first sync into tripal)
+        param_load_file_in_history = "0", "1", "2", "3"
+        param_load_fasta_in_chado = "4"
+        param_load_gff_in_chado = "5"
+        param_sync_organisms_into_tripal = "6"
+        param_sync_genome_analysis_into_tripal = "7"
+        param_sync_ogs_analysis_into_tripal = "8"
+        param_sync_features_intro_tripal = "9"
+
+
+        workflow_parameters[param_load_file_in_history] = {}
+        workflow_parameters[param_load_file_in_history] = {}
+        workflow_parameters[param_load_file_in_history] = {}
+        workflow_parameters[param_load_file_in_history] = {}
+        workflow_parameters[param_load_fasta_in_chado] = {"organism": run_workflow_for_current_organism.org_id,
+                                    "analysis_id": run_workflow_for_current_organism.genome_analysis_id,
+                                    "do_update": "true"}
+        workflow_parameters[param_load_gff_in_chado] = {"organism": run_workflow_for_current_organism.org_id,
+                                    "analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
+        workflow_parameters[param_sync_organisms_into_tripal] = {"organism_id": run_workflow_for_current_organism.org_id}
+        workflow_parameters[param_sync_genome_analysis_into_tripal] = {"analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
+        workflow_parameters[param_sync_ogs_analysis_into_tripal] = {"analysis_id": run_workflow_for_current_organism.genome_analysis_id}
+        workflow_parameters[param_sync_features_intro_tripal] = {"organism_id": run_workflow_for_current_organism.org_id}
+
+        # Loading files into history works a bit different as it is not a GMOD tool
+        # It requires an additional "datamap", requiring the source of the file and its id (unique)
+        run_workflow_for_current_organism.datamap = dict()
+        run_workflow_for_current_organism.datamap[param_load_file_in_history] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["genome_file"]}
+        run_workflow_for_current_organism.datamap[param_load_file_in_history] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["gff_file"]}
+        run_workflow_for_current_organism.datamap[param_load_file_in_history] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["proteins_file"]}
+        run_workflow_for_current_organism.datamap[param_load_file_in_history] = {"src": "hda", "id": run_workflow_for_current_organism.datasets["transcripts_file"]}
+
+        run_workflow_for_current_organism.run_workflow(workflow_name="base",
+                                                       workflow_parameters=workflow_parameters,
+                                                       datamap=run_workflow_for_current_organism.datamap)
+
+        # WIP: metadata
+        # metadata[genus_species_strain_sex]["workflows_run"] = metadata[genus_species_strain_sex]["workflows_run"].append("main")
diff --git a/templates/compose_template.yml b/templates/compose_template.yml
index c0462ec..af55190 100644
--- a/templates/compose_template.yml
+++ b/templates/compose_template.yml
@@ -55,8 +55,8 @@ services:
             ENABLE_GO: 0
             ENABLE_ORTHOLOGY: 0
             ENABLE_ORTHOLOGY_LINKS: 0
-            # THEME: "abims"    # Use this to use another theme
-            # THEME_GIT_CLONE: "http://gitlab.sb-roscoff.fr/abims/e-infra/tripal_abims.git"    # Use this to install another theme
+            THEME: "abims"    # Use this to use another theme
+            THEME_GIT_CLONE: "http://gitlab.sb-roscoff.fr/abims/e-infra/tripal_abims.git"    # Use this to install another theme
             ADMIN_PASSWORD: custom_tripal_admin_password  # You need to define it and update it in galaxy config below
         networks:
             - traefikbig
diff --git a/workflows/Galaxy-Workflow-preset_workflow.ga b/workflows/Galaxy-Workflow-preset_workflow.ga
index 5291ff0..5af63fe 100644
--- a/workflows/Galaxy-Workflow-preset_workflow.ga
+++ b/workflows/Galaxy-Workflow-preset_workflow.ga
@@ -1 +1 @@
-{"uuid": "7ebc1035-728c-4bca-a1c3-abd1c01bc064", "tags": [], "format-version": "0.1", "name": "preset_workflow", "version": 1, "steps": {"0": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "6956ef7f-7fec-402b-a8ea-f054a819f351", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 0, "uuid": "74f22d9b-e764-45e4-b0eb-579c9b647ea0", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 343.433349609375, "left": 201.33331298828125}, "annotation": "", "content_id": null, "type": "data_input"}, "1": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "efc230d5-5570-4446-b56b-c0213bef9ef0", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 1, "uuid": "6c1a20fa-828a-404c-b107-76fb8ddf3954", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 340.41668701171875, "left": 334.816650390625}, "annotation": "", "content_id": null, "type": "data_input"}, "2": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "90864336-6fc2-49fa-8f16-ccf11c64dc9a", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 2, "uuid": "1d25f54c-7575-4c8d-be55-73dd7e58613f", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 340.41668701171875, "left": 467.6333312988281}, "annotation": "", "content_id": null, "type": "data_input"}, "3": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "9e3d04a8-20f6-4f20-bfac-5a8b7df54557", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 3, "uuid": "89e7487e-004d-4db1-b5eb-1676b98aebde", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 337.6166687011719, "left": 600.4166717529297}, "annotation": "", "content_id": null, "type": "data_input"}, "4": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.2", "tool_version": "2.3.2", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"fasta": {"output_name": "output", "id": 0}, "wait_for": {"output_name": "output", "id": 0}}, "tool_state": "{\"do_update\": \"\\\"false\\\"\", \"relationships\": \"{\\\"__current_case__\\\": 0, \\\"rel_type\\\": \\\"none\\\"}\", \"ext_db\": \"{\\\"db\\\": \\\"\\\", \\\"re_db_accession\\\": \\\"\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"re_uniquename\": \"\\\"\\\"\", \"match_on_name\": \"\\\"false\\\"\", \"__page__\": null, \"__rerun_remap_job_id__\": null, \"psql_target\": \"{\\\"__current_case__\\\": 0, \\\"method\\\": \\\"remote\\\"}\", \"re_name\": \"\\\"\\\"\", \"fasta\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"sequence_type\": \"\\\"contig\\\"\"}", "id": 4, "tool_shed_repository": {"owner": "gga", "changeset_revision": "1421dbc33a92", "name": "chado_feature_load_fasta", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "f3655d26-08b8-408e-bfef-6e8a4aaab355", "errors": null, "name": "Chado load fasta", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Chado load fasta"}, {"name": "organism", "description": "runtime parameter for tool Chado load fasta"}], "position": {"top": 303.58331298828125, "left": 745.2333374023438}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.2", "type": "tool"}, "5": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.2", "tool_version": "2.3.2", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"fasta": {"output_name": "output", "id": 1}, "wait_for": {"output_name": "results", "id": 4}, "gff": {"output_name": "output", "id": 2}}, "tool_state": "{\"prot_naming\": \"{\\\"__current_case__\\\": 1, \\\"method\\\": \\\"regex\\\", \\\"re_protein\\\": \\\"protein\\\\\\\\1\\\", \\\"re_protein_capture\\\": \\\"^mRNA(\\\\\\\\..+)$\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"__page__\": null, \"gff\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"no_seq_compute\": \"\\\"false\\\"\", \"psql_target\": \"{\\\"__current_case__\\\": 0, \\\"method\\\": \\\"remote\\\"}\", \"add_only\": \"\\\"false\\\"\", \"fasta\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"landmark_type\": \"\\\"contig\\\"\"}", "id": 5, "tool_shed_repository": {"owner": "gga", "changeset_revision": "fb0651ee6d33", "name": "chado_feature_load_gff", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "236254d3-121e-4910-bcba-146d208a59a5", "errors": null, "name": "Chado load gff", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Chado load gff"}, {"name": "organism", "description": "runtime parameter for tool Chado load gff"}], "position": {"top": 285.20001220703125, "left": 957.2333374023438}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.2", "type": "tool"}, "6": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 5}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 6, "tool_shed_repository": {"owner": "gga", "changeset_revision": "afd5d92745fb", "name": "tripal_organism_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "05314408-41fa-4a2f-8aae-3988e2d899f6", "errors": null, "name": "Synchronize an organism", "post_job_actions": {}, "label": null, "inputs": [{"name": "organism_id", "description": "runtime parameter for tool Synchronize an organism"}], "position": {"top": 322, "left": 1168}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0", "type": "tool"}, "7": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 6}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 7, "tool_shed_repository": {"owner": "gga", "changeset_revision": "f487ff676088", "name": "tripal_analysis_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "44c7cc7c-0848-47a7-872c-351f057803c1", "errors": null, "name": "Synchronize an analysis", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Synchronize an analysis"}], "position": {"top": 323.58331298828125, "left": 1375.63330078125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "type": "tool"}, "8": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 7}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 8, "tool_shed_repository": {"owner": "gga", "changeset_revision": "f487ff676088", "name": "tripal_analysis_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "8ce8c990-39ce-4725-892b-4216a75f487d", "errors": null, "name": "Synchronize an analysis", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Synchronize an analysis"}], "position": {"top": 321.20001220703125, "left": 1583.63330078125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "type": "tool"}, "9": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 8}}, "tool_state": "{\"__page__\": null, \"repeat_types\": \"[{\\\"__index__\\\": 0, \\\"types\\\": \\\"mRNA\\\"}, {\\\"__index__\\\": 1, \\\"types\\\": \\\"popylpeptide\\\"}]\", \"__rerun_remap_job_id__\": null, \"organism_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"repeat_ids\": \"[]\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", "id": 9, "tool_shed_repository": {"owner": "gga", "changeset_revision": "64e36c3f0dd6", "name": "tripal_feature_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "04600903-dd16-4db1-b562-552aeb003e6c", "errors": null, "name": "Synchronize features", "post_job_actions": {}, "label": null, "inputs": [{"name": "organism_id", "description": "runtime parameter for tool Synchronize features"}], "position": {"top": 321.20001220703125, "left": 1794.0333251953125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", "type": "tool"}}, "annotation": "", "a_galaxy_workflow": "true"}
\ No newline at end of file
+{"uuid": "7ebc1035-728c-4bca-a1c3-abd1c01bc064", "tags": [], "format-version": "0.1", "name": "preset_workflow", "version": 1, "steps": {"0": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "6956ef7f-7fec-402b-a8ea-f054a819f351", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 0, "uuid": "74f22d9b-e764-45e4-b0eb-579c9b647ea0", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 343.433349609375, "left": 201.33331298828125}, "annotation": "", "content_id": null, "type": "data_input"}, "1": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "efc230d5-5570-4446-b56b-c0213bef9ef0", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 1, "uuid": "6c1a20fa-828a-404c-b107-76fb8ddf3954", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 340.41668701171875, "left": 334.816650390625}, "annotation": "", "content_id": null, "type": "data_input"}, "2": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "90864336-6fc2-49fa-8f16-ccf11c64dc9a", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 2, "uuid": "1d25f54c-7575-4c8d-be55-73dd7e58613f", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 340.41668701171875, "left": 467.6333312988281}, "annotation": "", "content_id": null, "type": "data_input"}, "3": {"tool_id": null, "tool_version": null, "outputs": [], "workflow_outputs": [{"output_name": "output", "uuid": "9e3d04a8-20f6-4f20-bfac-5a8b7df54557", "label": null}], "input_connections": {}, "tool_state": "{}", "id": 3, "uuid": "89e7487e-004d-4db1-b5eb-1676b98aebde", "errors": null, "name": "Input dataset", "label": null, "inputs": [], "position": {"top": 337.6166687011719, "left": 600.4166717529297}, "annotation": "", "content_id": null, "type": "data_input"}, "4": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.2", "tool_version": "2.3.2", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"fasta": {"output_name": "output", "id": 0}, "wait_for": {"output_name": "output", "id": 0}}, "tool_state": "{\"do_update\": \"\\\"false\\\"\", \"relationships\": \"{\\\"__current_case__\\\": 0, \\\"rel_type\\\": \\\"none\\\"}\", \"ext_db\": \"{\\\"db\\\": \\\"\\\", \\\"re_db_accession\\\": \\\"\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"re_uniquename\": \"\\\"\\\"\", \"match_on_name\": \"\\\"false\\\"\", \"__page__\": null, \"__rerun_remap_job_id__\": null, \"psql_target\": \"{\\\"__current_case__\\\": 0, \\\"method\\\": \\\"remote\\\"}\", \"re_name\": \"\\\"\\\"\", \"fasta\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"sequence_type\": \"\\\"contig\\\"\"}", "id": 4, "tool_shed_repository": {"owner": "gga", "changeset_revision": "1421dbc33a92", "name": "chado_feature_load_fasta", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "f3655d26-08b8-408e-bfef-6e8a4aaab355", "errors": null, "name": "Chado load fasta", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Chado load fasta"}, {"name": "organism", "description": "runtime parameter for tool Chado load fasta"}], "position": {"top": 303.58331298828125, "left": 745.2333374023438}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.2", "type": "tool"}, "5": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.2", "tool_version": "2.3.2", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"fasta": {"output_name": "output", "id": 1}, "wait_for": {"output_name": "results", "id": 4}, "gff": {"output_name": "output", "id": 2}}, "tool_state": "{\"prot_naming\": \"{\\\"__current_case__\\\": 1, \\\"method\\\": \\\"regex\\\", \\\"re_protein\\\": \\\"protein\\\\\\\\1\\\", \\\"re_protein_capture\\\": \\\"^mRNA(\\\\\\\\..+)$\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"__page__\": null, \"gff\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"__rerun_remap_job_id__\": null, \"no_seq_compute\": \w"\\\"false\\\"\", \"psql_target\": \"{\\\"__current_case__\\\": 0, \\\"method\\\": \\\"remote\\\"}\", \"add_only\": \"\\\"false\\\"\", \"fasta\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"landmark_type\": \"\\\"contig\\\"\"}", "id": 5, "tool_shed_repository": {"owner": "gga", "changeset_revision": "fb0651ee6d33", "name": "chado_feature_load_gff", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "236254d3-121e-4910-bcba-146d208a59a5", "errors": null, "name": "Chado load gff", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Chado load gff"}, {"name": "organism", "description": "runtime parameter for tool Chado load gff"}], "position": {"top": 285.20001220703125, "left": 957.2333374023438}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.2", "type": "tool"}, "6": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 5}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"organism_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 6, "tool_shed_repository": {"owner": "gga", "changeset_revision": "afd5d92745fb", "name": "tripal_organism_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "05314408-41fa-4a2f-8aae-3988e2d899f6", "errors": null, "name": "Synchronize an organism", "post_job_actions": {}, "label": null, "inputs": [{"name": "organism_id", "description": "runtime parameter for tool Synchronize an organism"}], "position": {"top": 322, "left": 1168}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0", "type": "tool"}, "7": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 6}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 7, "tool_shed_repository": {"owner": "gga", "changeset_revision": "f487ff676088", "name": "tripal_analysis_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "44c7cc7c-0848-47a7-872c-351f057803c1", "errors": null, "name": "Synchronize an analysis", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Synchronize an analysis"}], "position": {"top": 323.58331298828125, "left": 1375.63330078125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "type": "tool"}, "8": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "json", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 7}}, "tool_state": "{\"__page__\": null, \"__rerun_remap_job_id__\": null, \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\", \"analysis_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\"}", "id": 8, "tool_shed_repository": {"owner": "gga", "changeset_revision": "f487ff676088", "name": "tripal_analysis_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "8ce8c990-39ce-4725-892b-4216a75f487d", "errors": null, "name": "Synchronize an analysis", "post_job_actions": {}, "label": null, "inputs": [{"name": "analysis_id", "description": "runtime parameter for tool Synchronize an analysis"}], "position": {"top": 321.20001220703125, "left": 1583.63330078125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0", "type": "tool"}, "9": {"tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", "tool_version": "3.2.1.0", "outputs": [{"type": "txt", "name": "results"}], "workflow_outputs": [], "input_connections": {"wait_for": {"output_name": "results", "id": 8}}, "tool_state": "{\"__page__\": null, \"repeat_types\": \"[{\\\"__index__\\\": 0, \\\"types\\\": \\\"mRNA\\\"}, {\\\"__index__\\\": 1, \\\"types\\\": \\\"popylpeptide\\\"}]\", \"__rerun_remap_job_id__\": null, \"organism_id\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"repeat_ids\": \"[]\", \"wait_for\": \"{\\\"__class__\\\": \\\"ConnectedValue\\\"}\"}", "id": 9, "tool_shed_repository": {"owner": "gga", "changeset_revision": "64e36c3f0dd6", "name": "tripal_feature_sync", "tool_shed": "toolshed.g2.bx.psu.edu"}, "uuid": "04600903-dd16-4db1-b562-552aeb003e6c", "errors": null, "name": "Synchronize features", "post_job_actions": {}, "label": null, "inputs": [{"name": "organism_id", "description": "runtime parameter for tool Synchronize features"}], "position": {"top": 321.20001220703125, "left": 1794.0333251953125}, "annotation": "", "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0", "type": "tool"}}, "annotation": "", "a_galaxy_workflow": "true"}
\ No newline at end of file
-- 
GitLab