From 1d0a9b5cd644aad3962b4d5e6a1a05053664eced Mon Sep 17 00:00:00 2001
From: Arthur Le Bars <arthur.le-bars@sb-roscoff.fr>
Date: Thu, 21 Jan 2021 17:28:55 +0100
Subject: [PATCH] Fixed toolshed version issue (now using 2.3.3 GMOD tools),
 added new Jbrowse workflow

---
 gga_init.py                                   |   6 +-
 gga_load_data.py                              |   2 +-
 run_workflow_phaeoexplorer.py                 | 183 ++++----
 workflows/Chado_load_Tripal_synchronize.ga    | 174 +++++---
 .../Chado_load_Tripal_synchronize.ga.bak      | 413 ++++++++++++++++++
 workflows/Demo.ga                             |  91 ----
 workflows/Jbrowse.ga                          | 163 ++++++-
 7 files changed, 782 insertions(+), 250 deletions(-)
 create mode 100644 workflows/Chado_load_Tripal_synchronize.ga.bak
 delete mode 100644 workflows/Demo.ga

diff --git a/gga_init.py b/gga_init.py
index b77251c..5a7b47d 100644
--- a/gga_init.py
+++ b/gga_init.py
@@ -11,6 +11,7 @@ import yaml
 import shutil
 
 from pathlib import Path
+from jinja2 import Template
 
 import utilities
 import speciesData
@@ -19,7 +20,7 @@ import speciesData
 """ 
 gga_init.py
 
-Usage: $ python3 gga_init.py -i example.yml [OPTIONS]
+Usage: $ python3 gga_init.py -i input_example.yml [OPTIONS]
 
 """
 
@@ -56,11 +57,12 @@ class DeploySpeciesStack(speciesData.SpeciesData):
         # Copy the custom banner to the species dir (banner used in tripal pages)
         if not self.config["custom_banner"] or not self.config["custom_banner"] == "/path/to/banner" or not self.config["custom_banner"] == "":
             try:
+                logging.debug("Custom banner path: %s" % self.config["custom_banner"])
                 if os.path.isfile(os.path.abspath(self.config["custom_banner"])):
                     shutil.copy(os.path.abspath(self.config["custom_banner"]), "%s/banner.png" % self.species_dir)
 
             except FileNotFoundError:
-                logging.warning("Custom banner (%s), skipping" % self.config["custom_banner"])
+                logging.warning("Specified banner not found (%s), skipping" % self.config["custom_banner"])
 
         # Copy nginx conf
         try:
diff --git a/gga_load_data.py b/gga_load_data.py
index 945d85d..25b8a65 100644
--- a/gga_load_data.py
+++ b/gga_load_data.py
@@ -23,7 +23,7 @@ from bioblend import galaxy
 """ 
 gga_load_data.py
 
-Usage: $ python3 gga_init.py -i example.yml [OPTIONS]
+Usage: $ python3 gga_init.py -i input_example.yml [OPTIONS]
 
 Do not call this script before the galaxy container is ready
 """
diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py
index 984c00f..c28a769 100644
--- a/run_workflow_phaeoexplorer.py
+++ b/run_workflow_phaeoexplorer.py
@@ -18,7 +18,7 @@ from bioblend import galaxy
 """ 
 gga_init.py
 
-Usage: $ python3 gga_init.py -i example.yml [OPTIONS]
+Usage: $ python3 gga_init.py -i input_example.yml [OPTIONS]
 """
 
 
@@ -446,86 +446,101 @@ if __name__ == "__main__":
         else:
             workflow = os.path.abspath(args.workflow)
 
-        # Starting
-        logging.info("run_workflow.py called for %s" % run_workflow_for_current_organism.full_name)
-
-        # Setting some of the instance attributes
-        run_workflow_for_current_organism.main_dir = args.main_directory
-        run_workflow_for_current_organism.species_dir = os.path.join(run_workflow_for_current_organism.main_dir,
-                                                                     run_workflow_for_current_organism.genus_species +
-                                                                     "/")
-
-        # Parse the config yaml file
-        run_workflow_for_current_organism.config = utilities.parse_config(args.config)
-        # Set the instance url attribute
-        for env_variable, value in run_workflow_for_current_organism.config.items():
-            if env_variable == "custom_host":
-                run_workflow_for_current_organism.instance_url = "http://{0}:8888/sp/{1}_{2}/galaxy/".format(
-                    value, run_workflow_for_current_organism.genus_lowercase, run_workflow_for_current_organism.species)
-                break
-            else:
-                run_workflow_for_current_organism.instance_url = "http://localhost:8888/sp/{0}_{1}/galaxy/".format(
-                    run_workflow_for_current_organism.genus_lowercase,
-                    run_workflow_for_current_organism.species)
-
-        run_workflow_for_current_organism.connect_to_instance()
-        run_workflow_for_current_organism.set_get_history()
-        # run_workflow_for_current_organism.get_species_history_id()
-
-        # Prepare the instance+history for the current organism (add organism and analyses in Chado) TODO: add argument "setup"
-        # (althought it should pose no problem as the "Chado add" refuses to duplicate an analysis/organism anyway)
-        run_workflow_for_current_organism.prepare_history()
-
-        # Get the attributes of the instance and project data files
-        run_workflow_for_current_organism.get_instance_attributes()
-        run_workflow_for_current_organism.get_organism_and_analyses_ids()
-
-        # Import datasets into history TODO: put this only for the chado load tripal sync workflow?
-        run_workflow_for_current_organism.import_datasets_into_history()
-
-        # Explicit workflow parameter names
-        # TODO: Create distinct methods to call different pre-set workflows using CL arguments/config options (i.e load-chado, jbrowse, functional-annotation, orthology, ...)
-
-        workflow_parameters = dict()
-
-        GENOME_FASTA_FILE = "0"
-        GFF_FILE = "1"
-        PROTEINS_FASTA_FILE = "2"
-        TRANSCRIPTS_FASTA_FILE = "3"
-
-
-        LOAD_FASTA_IN_CHADO = "4"
-        LOAD_GFF_IN_CHADO = "5"
-        SYNC_ORGANISM_INTO_TRIPAL = "6"
-        SYNC_GENOME_ANALYSIS_INTO_TRIPAL = "7"
-        SYNC_OGS_ANALYSIS_INTO_TRIPAL = "8"
-        SYNC_FEATURES_INTO_TRIPAL = "9"
-
-        workflow_parameters[GENOME_FASTA_FILE] = {}
-        workflow_parameters[GFF_FILE] = {}
-        workflow_parameters[PROTEINS_FASTA_FILE] = {}
-        workflow_parameters[TRANSCRIPTS_FASTA_FILE] = {}
-        workflow_parameters[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"}
-        # Change "do_update": "true" to "do_update": "false" in above parameters to prevent appending to the fasta file in chado
-        # WARNING: It is safer to never update it and just change the genome/ogs versions in the config
-        workflow_parameters[LOAD_GFF_IN_CHADO] = {"organism": run_workflow_for_current_organism.org_id,
-                                    "analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
-        workflow_parameters[SYNC_ORGANISM_INTO_TRIPAL] = {"organism_id": run_workflow_for_current_organism.org_id}
-        workflow_parameters[SYNC_GENOME_ANALYSIS_INTO_TRIPAL] = {"analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
-        workflow_parameters[SYNC_OGS_ANALYSIS_INTO_TRIPAL] = {"analysis_id": run_workflow_for_current_organism.genome_analysis_id}
-        workflow_parameters[SYNC_FEATURES_INTO_TRIPAL] = {"organism_id": run_workflow_for_current_organism.org_id}
-
-        # Datamap for input datasets - dataset source (type): ldda (LibraryDatasetDatasetAssociation)
-        run_workflow_for_current_organism.datamap = dict()
-        run_workflow_for_current_organism.datamap[GENOME_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["genome_file"]}
-        run_workflow_for_current_organism.datamap[GFF_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["gff_file"]}
-        run_workflow_for_current_organism.datamap[PROTEINS_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["proteins_file"]}
-        run_workflow_for_current_organism.datamap[TRANSCRIPTS_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["transcripts_file"]}
-
-        # Run the Chado load Tripal sync workflow with the parameters set above
-        run_workflow_for_current_organism.run_workflow(workflow_path=workflow,
-                                                       workflow_parameters=workflow_parameters,
-                                                       datamap=run_workflow_for_current_organism.datamap,
-                                                       workflow_name="Chado load Tripal synchronize")
+        # Verifying the galaxy container is running
+        if utilities.check_galaxy_state(genus_lowercase=run_workflow_for_current_organism.genus_lowercase,
+                                        species=run_workflow_for_current_organism.species,
+                                        script_dir=run_workflow_for_current_organism.script_dir):
+
+            # Starting
+            logging.info("run_workflow.py called for %s" % run_workflow_for_current_organism.full_name)
+
+            # Setting some of the instance attributes
+            run_workflow_for_current_organism.main_dir = args.main_directory
+            run_workflow_for_current_organism.species_dir = os.path.join(run_workflow_for_current_organism.main_dir,
+                                                                         run_workflow_for_current_organism.genus_species +
+                                                                         "/")
+
+            # Parse the config yaml file
+            run_workflow_for_current_organism.config = utilities.parse_config(args.config)
+            # Set the instance url attribute
+            for env_variable, value in run_workflow_for_current_organism.config.items():
+                if env_variable == "custom_host":
+                    run_workflow_for_current_organism.instance_url = "http://{0}:8888/sp/{1}_{2}/galaxy/".format(
+                        value, run_workflow_for_current_organism.genus_lowercase, run_workflow_for_current_organism.species)
+                    break
+                else:
+                    run_workflow_for_current_organism.instance_url = "http://localhost:8888/sp/{0}_{1}/galaxy/".format(
+                        run_workflow_for_current_organism.genus_lowercase,
+                        run_workflow_for_current_organism.species)
+
+            run_workflow_for_current_organism.connect_to_instance()
+            run_workflow_for_current_organism.set_get_history()
+            # run_workflow_for_current_organism.get_species_history_id()
+
+            # Prepare the instance+history for the current organism (add organism and analyses in Chado) TODO: add argument "setup"
+            # (althought it should pose no problem as the "Chado add" refuses to duplicate an analysis/organism anyway)
+            run_workflow_for_current_organism.prepare_history()
+
+            # Get the attributes of the instance and project data files
+            run_workflow_for_current_organism.get_instance_attributes()
+            run_workflow_for_current_organism.get_organism_and_analyses_ids()
+
+            # Import datasets into history
+            # TODO: put this only for the chado load tripal sync workflow?
+            # TODO: it seems it is not required anymore since using "ldda" option for datasets in the workflow datamap doesn't need the files
+            run_workflow_for_current_organism.import_datasets_into_history()
+
+            # Explicit workflow parameter names
+            # TODO: Create distinct methods to call different pre-set workflows using CL arguments/config options (i.e load-chado, jbrowse, functional-annotation, orthology, ...)
+
+            # Chado load and Tripal synchronize workflow
+            workflow_parameters = {}
+
+            GENOME_FASTA_FILE = "0"
+            GFF_FILE = "1"
+            PROTEINS_FASTA_FILE = "2"
+            TRANSCRIPTS_FASTA_FILE = "3"
+
+
+            LOAD_FASTA_IN_CHADO = "4"
+            LOAD_GFF_IN_CHADO = "5"
+            SYNC_ORGANISM_INTO_TRIPAL = "6"
+            SYNC_GENOME_ANALYSIS_INTO_TRIPAL = "7"
+            SYNC_OGS_ANALYSIS_INTO_TRIPAL = "8"
+            SYNC_FEATURES_INTO_TRIPAL = "9"
+
+            workflow_parameters[GENOME_FASTA_FILE] = {}
+            workflow_parameters[GFF_FILE] = {}
+            workflow_parameters[PROTEINS_FASTA_FILE] = {}
+            workflow_parameters[TRANSCRIPTS_FASTA_FILE] = {}
+            workflow_parameters[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"}
+            # Change "do_update": "true" to "do_update": "false" in above parameters to prevent appending/updates to the fasta file in chado
+            # WARNING: It is safer to never update it and just change the genome/ogs versions in the config
+            workflow_parameters[LOAD_GFF_IN_CHADO] = {"organism": run_workflow_for_current_organism.org_id,
+                                                      "analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
+            workflow_parameters[SYNC_ORGANISM_INTO_TRIPAL] = {"organism_id": run_workflow_for_current_organism.org_id}
+            workflow_parameters[SYNC_GENOME_ANALYSIS_INTO_TRIPAL] = {"analysis_id": run_workflow_for_current_organism.ogs_analysis_id}
+            workflow_parameters[SYNC_OGS_ANALYSIS_INTO_TRIPAL] = {"analysis_id": run_workflow_for_current_organism.genome_analysis_id}
+            workflow_parameters[SYNC_FEATURES_INTO_TRIPAL] = {"organism_id": run_workflow_for_current_organism.org_id}
+
+            # Datamap for input datasets - dataset source (type): ldda (LibraryDatasetDatasetAssociation)
+            run_workflow_for_current_organism.datamap = {}
+            run_workflow_for_current_organism.datamap[GENOME_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["genome_file"]}
+            run_workflow_for_current_organism.datamap[GFF_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["gff_file"]}
+            run_workflow_for_current_organism.datamap[PROTEINS_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["proteins_file"]}
+            run_workflow_for_current_organism.datamap[TRANSCRIPTS_FASTA_FILE] = {"src": "ldda", "id": run_workflow_for_current_organism.datasets["transcripts_file"]}
+
+            # Run the Chado load Tripal sync workflow with the parameters set above
+            run_workflow_for_current_organism.run_workflow(workflow_path=workflow,
+                                                           workflow_parameters=workflow_parameters,
+                                                           datamap=run_workflow_for_current_organism.datamap,
+                                                           workflow_name="Chado load Tripal synchronize")
+
+            # Jbrowse creation workflow
+
+            workflow_parameters = {}
+
+        else:
+            logging.critical("The galaxy container for %s is not ready yet!" % run_workflow_for_current_organism.full_name)
diff --git a/workflows/Chado_load_Tripal_synchronize.ga b/workflows/Chado_load_Tripal_synchronize.ga
index a194b03..c8ce7a4 100644
--- a/workflows/Chado_load_Tripal_synchronize.ga
+++ b/workflows/Chado_load_Tripal_synchronize.ga
@@ -16,14 +16,20 @@
             "outputs": [],
             "position": {
                 "left": 200,
-                "top": 200
+                "top": 227
             },
             "tool_id": null,
             "tool_state": "{\"optional\": false}",
             "tool_version": null,
             "type": "data_input",
             "uuid": "89e7487e-004d-4db1-b5eb-1676b98aebde",
-            "workflow_outputs": []
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "08f77326-1435-4fad-a610-e56f06a0ced5"
+                }
+            ]
         },
         "1": {
             "annotation": "",
@@ -37,14 +43,20 @@
             "outputs": [],
             "position": {
                 "left": 200,
-                "top": 290
+                "top": 317
             },
             "tool_id": null,
             "tool_state": "{\"optional\": false}",
             "tool_version": null,
             "type": "data_input",
             "uuid": "1d25f54c-7575-4c8d-be55-73dd7e58613f",
-            "workflow_outputs": []
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "e8f16746-c91f-4147-b460-f1052650e699"
+                }
+            ]
         },
         "2": {
             "annotation": "",
@@ -58,14 +70,20 @@
             "outputs": [],
             "position": {
                 "left": 200,
-                "top": 380
+                "top": 407
             },
             "tool_id": null,
             "tool_state": "{\"optional\": false}",
             "tool_version": null,
             "type": "data_input",
             "uuid": "6c1a20fa-828a-404c-b107-76fb8ddf3954",
-            "workflow_outputs": []
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "98ade546-95a4-477c-bd19-38d278849b98"
+                }
+            ]
         },
         "3": {
             "annotation": "",
@@ -79,38 +97,44 @@
             "outputs": [],
             "position": {
                 "left": 200,
-                "top": 470
+                "top": 497
             },
             "tool_id": null,
             "tool_state": "{\"optional\": false}",
             "tool_version": null,
             "type": "data_input",
             "uuid": "74f22d9b-e764-45e4-b0eb-579c9b647ea0",
-            "workflow_outputs": []
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "41417aad-64e5-4480-9c36-842d0dda1c6d"
+                }
+            ]
         },
         "4": {
             "annotation": "",
-            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.3",
             "errors": null,
             "id": 4,
             "input_connections": {
                 "fasta": {
-                    "id": 3,
+                    "id": 0,
                     "output_name": "output"
                 },
                 "wait_for": {
-                    "id": 3,
+                    "id": 0,
                     "output_name": "output"
                 }
             },
             "inputs": [
                 {
                     "description": "runtime parameter for tool Chado load fasta",
-                    "name": "fasta"
+                    "name": "analysis_id"
                 },
                 {
                     "description": "runtime parameter for tool Chado load fasta",
-                    "name": "wait_for"
+                    "name": "organism"
                 }
             ],
             "label": null,
@@ -123,31 +147,31 @@
             ],
             "position": {
                 "left": 486,
-                "top": 200
+                "top": 227
             },
             "post_job_actions": {},
-            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.3",
             "tool_shed_repository": {
-                "changeset_revision": "ba4d07fbaf47",
+                "changeset_revision": "a7ab30ded37d",
                 "name": "chado_feature_load_fasta",
                 "owner": "gga",
                 "tool_shed": "toolshed.g2.bx.psu.edu"
             },
-            "tool_state": "{\"analysis_id\": \"1\", \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"match_on_name\": \"false\", \"organism\": \"2\", \"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",
+            "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"ConnectedValue\"}, \"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__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "2.3.3",
             "type": "tool",
-            "uuid": "ed72bf37-aa81-4b25-8ab4-dccb54bc68d9",
+            "uuid": "f7a44182-3620-4a19-9e67-94fe584d4206",
             "workflow_outputs": [
                 {
                     "label": null,
                     "output_name": "results",
-                    "uuid": "c617e0d3-a44c-4fb1-b831-22a487a6be6a"
+                    "uuid": "24ed7255-b4a6-4000-b82b-c18d81822262"
                 }
             ]
         },
         "5": {
             "annotation": "",
-            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.3",
             "errors": null,
             "id": 5,
             "input_connections": {
@@ -165,6 +189,10 @@
                 }
             },
             "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load gff",
+                    "name": "analysis_id"
+                },
                 {
                     "description": "runtime parameter for tool Chado load gff",
                     "name": "fasta"
@@ -173,6 +201,10 @@
                     "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"
@@ -188,25 +220,25 @@
             ],
             "position": {
                 "left": 772,
-                "top": 200
+                "top": 227
             },
             "post_job_actions": {},
-            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.3",
             "tool_shed_repository": {
-                "changeset_revision": "e9a6d7568817",
+                "changeset_revision": "6fdfbf0caa8c",
                 "name": "chado_feature_load_gff",
                 "owner": "gga",
                 "tool_shed": "toolshed.g2.bx.psu.edu"
             },
-            "tool_state": "{\"add_only\": \"false\", \"analysis_id\": \"1\", \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"gff\": {\"__class__\": \"RuntimeValue\"}, \"landmark_type\": \"\", \"no_seq_compute\": \"false\", \"organism\": \"2\", \"prot_naming\": {\"method\": \"auto\", \"__current_case__\": 0}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"wait_for\": {\"__class__\": \"RuntimeValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
-            "tool_version": "2.3.4+galaxy0",
+            "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\": \"protein\\\\1\"}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"wait_for\": {\"__class__\": \"RuntimeValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "2.3.3",
             "type": "tool",
-            "uuid": "0b5746d7-952d-4aff-b688-4666c13cab8a",
+            "uuid": "b100a055-0dab-4f2f-8c46-573713ed3fff",
             "workflow_outputs": [
                 {
                     "label": null,
                     "output_name": "results",
-                    "uuid": "5da80c86-c510-425a-b8e1-475ab26436f3"
+                    "uuid": "d0ce6d85-fb8b-4509-9784-a8ded1aeae05"
                 }
             ]
         },
@@ -237,15 +269,9 @@
             ],
             "position": {
                 "left": 1058,
-                "top": 200
-            },
-            "post_job_actions": {
-                "HideDatasetActionresults": {
-                    "action_arguments": {},
-                    "action_type": "HideDatasetAction",
-                    "output_name": "results"
-                }
+                "top": 227
             },
+            "post_job_actions": {},
             "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0",
             "tool_shed_repository": {
                 "changeset_revision": "afd5d92745fb",
@@ -256,8 +282,14 @@
             "tool_state": "{\"organism_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
             "tool_version": "3.2.1.0",
             "type": "tool",
-            "uuid": "05314408-41fa-4a2f-8aae-3988e2d899f6",
-            "workflow_outputs": []
+            "uuid": "040183a5-1aba-4bf6-9669-c6e93cfff3ea",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "f1f2dc7a-37e2-4bd3-b997-8f1e3eed11aa"
+                }
+            ]
         },
         "7": {
             "annotation": "",
@@ -286,15 +318,9 @@
             ],
             "position": {
                 "left": 1344,
-                "top": 200
-            },
-            "post_job_actions": {
-                "HideDatasetActionresults": {
-                    "action_arguments": {},
-                    "action_type": "HideDatasetAction",
-                    "output_name": "results"
-                }
+                "top": 227
             },
+            "post_job_actions": {},
             "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
             "tool_shed_repository": {
                 "changeset_revision": "f487ff676088",
@@ -305,8 +331,14 @@
             "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
             "tool_version": "3.2.1.0",
             "type": "tool",
-            "uuid": "44c7cc7c-0848-47a7-872c-351f057803c1",
-            "workflow_outputs": []
+            "uuid": "6096e174-c85d-4e50-916f-a396d58a909b",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "a309f4e4-3402-4eb5-8b70-1acfa1f26bb4"
+                }
+            ]
         },
         "8": {
             "annotation": "",
@@ -335,15 +367,9 @@
             ],
             "position": {
                 "left": 1630,
-                "top": 200
-            },
-            "post_job_actions": {
-                "HideDatasetActionresults": {
-                    "action_arguments": {},
-                    "action_type": "HideDatasetAction",
-                    "output_name": "results"
-                }
+                "top": 227
             },
+            "post_job_actions": {},
             "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
             "tool_shed_repository": {
                 "changeset_revision": "f487ff676088",
@@ -354,8 +380,14 @@
             "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
             "tool_version": "3.2.1.0",
             "type": "tool",
-            "uuid": "8ce8c990-39ce-4725-892b-4216a75f487d",
-            "workflow_outputs": []
+            "uuid": "d6072bb6-036d-4fbf-893c-d25f139a05ac",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "ff817e04-d0ce-461f-a97a-843e36a25aca"
+                }
+            ]
         },
         "9": {
             "annotation": "",
@@ -384,15 +416,9 @@
             ],
             "position": {
                 "left": 1916,
-                "top": 200
-            },
-            "post_job_actions": {
-                "HideDatasetActionresults": {
-                    "action_arguments": {},
-                    "action_type": "HideDatasetAction",
-                    "output_name": "results"
-                }
+                "top": 227
             },
+            "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",
@@ -400,14 +426,20 @@
                 "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\": \"popylpeptide\"}], \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "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": "04600903-dd16-4db1-b562-552aeb003e6c",
-            "workflow_outputs": []
+            "uuid": "9d39d394-7375-4187-86f3-6dc676c9ca30",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "5047a899-60e2-4acc-a95f-4f60f83c32ae"
+                }
+            ]
         }
     },
     "tags": [],
-    "uuid": "4c66363e-ff14-4c79-8edf-9ab05cafa33d",
-    "version": 2
+    "uuid": "00c4d6e1-f470-4b31-9cc1-402aa9b598e2",
+    "version": 1
 }
\ No newline at end of file
diff --git a/workflows/Chado_load_Tripal_synchronize.ga.bak b/workflows/Chado_load_Tripal_synchronize.ga.bak
new file mode 100644
index 0000000..a194b03
--- /dev/null
+++ b/workflows/Chado_load_Tripal_synchronize.ga.bak
@@ -0,0 +1,413 @@
+{
+    "a_galaxy_workflow": "true",
+    "annotation": "",
+    "format-version": "0.1",
+    "name": "Chado load Tripal synchronize",
+    "steps": {
+        "0": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 0,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 200
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "89e7487e-004d-4db1-b5eb-1676b98aebde",
+            "workflow_outputs": []
+        },
+        "1": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 1,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 290
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "1d25f54c-7575-4c8d-be55-73dd7e58613f",
+            "workflow_outputs": []
+        },
+        "2": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 2,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 380
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "6c1a20fa-828a-404c-b107-76fb8ddf3954",
+            "workflow_outputs": []
+        },
+        "3": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 3,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 470
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "74f22d9b-e764-45e4-b0eb-579c9b647ea0",
+            "workflow_outputs": []
+        },
+        "4": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "errors": null,
+            "id": 4,
+            "input_connections": {
+                "fasta": {
+                    "id": 3,
+                    "output_name": "output"
+                },
+                "wait_for": {
+                    "id": 3,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "fasta"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "wait_for"
+                }
+            ],
+            "label": null,
+            "name": "Chado load fasta",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "json"
+                }
+            ],
+            "position": {
+                "left": 486,
+                "top": 200
+            },
+            "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\": \"1\", \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"match_on_name\": \"false\", \"organism\": \"2\", \"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": "ed72bf37-aa81-4b25-8ab4-dccb54bc68d9",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "c617e0d3-a44c-4fb1-b831-22a487a6be6a"
+                }
+            ]
+        },
+        "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": 4,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "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": "wait_for"
+                }
+            ],
+            "label": null,
+            "name": "Chado load gff",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "left": 772,
+                "top": 200
+            },
+            "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\": \"1\", \"fasta\": {\"__class__\": \"RuntimeValue\"}, \"gff\": {\"__class__\": \"RuntimeValue\"}, \"landmark_type\": \"\", \"no_seq_compute\": \"false\", \"organism\": \"2\", \"prot_naming\": {\"method\": \"auto\", \"__current_case__\": 0}, \"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": "0b5746d7-952d-4aff-b688-4666c13cab8a",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "5da80c86-c510-425a-b8e1-475ab26436f3"
+                }
+            ]
+        },
+        "6": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0",
+            "errors": null,
+            "id": 6,
+            "input_connections": {
+                "wait_for": {
+                    "id": 5,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Synchronize an organism",
+                    "name": "organism_id"
+                }
+            ],
+            "label": null,
+            "name": "Synchronize an organism",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "left": 1058,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionresults": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "results"
+                }
+            },
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_organism_sync/organism_sync/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "afd5d92745fb",
+                "name": "tripal_organism_sync",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"organism_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "05314408-41fa-4a2f-8aae-3988e2d899f6",
+            "workflow_outputs": []
+        },
+        "7": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
+            "errors": null,
+            "id": 7,
+            "input_connections": {
+                "wait_for": {
+                    "id": 6,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Synchronize an analysis",
+                    "name": "analysis_id"
+                }
+            ],
+            "label": null,
+            "name": "Synchronize an analysis",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "json"
+                }
+            ],
+            "position": {
+                "left": 1344,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionresults": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "results"
+                }
+            },
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "f487ff676088",
+                "name": "tripal_analysis_sync",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "44c7cc7c-0848-47a7-872c-351f057803c1",
+            "workflow_outputs": []
+        },
+        "8": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
+            "errors": null,
+            "id": 8,
+            "input_connections": {
+                "wait_for": {
+                    "id": 7,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Synchronize an analysis",
+                    "name": "analysis_id"
+                }
+            ],
+            "label": null,
+            "name": "Synchronize an analysis",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "json"
+                }
+            ],
+            "position": {
+                "left": 1630,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionresults": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "results"
+                }
+            },
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_analysis_sync/analysis_sync/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "f487ff676088",
+                "name": "tripal_analysis_sync",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "8ce8c990-39ce-4725-892b-4216a75f487d",
+            "workflow_outputs": []
+        },
+        "9": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0",
+            "errors": null,
+            "id": 9,
+            "input_connections": {
+                "wait_for": {
+                    "id": 8,
+                    "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": {
+                "left": 1916,
+                "top": 200
+            },
+            "post_job_actions": {
+                "HideDatasetActionresults": {
+                    "action_arguments": {},
+                    "action_type": "HideDatasetAction",
+                    "output_name": "results"
+                }
+            },
+            "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\": \"popylpeptide\"}], \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "04600903-dd16-4db1-b562-552aeb003e6c",
+            "workflow_outputs": []
+        }
+    },
+    "tags": [],
+    "uuid": "4c66363e-ff14-4c79-8edf-9ab05cafa33d",
+    "version": 2
+}
\ No newline at end of file
diff --git a/workflows/Demo.ga b/workflows/Demo.ga
deleted file mode 100644
index c59f6ee..0000000
--- a/workflows/Demo.ga
+++ /dev/null
@@ -1,91 +0,0 @@
-{
-    "a_galaxy_workflow": "true",
-    "annotation": "",
-    "format-version": "0.1",
-    "name": "demo",
-    "steps": {
-        "0": {
-            "annotation": "",
-            "content_id": null,
-            "errors": null,
-            "id": 0,
-            "input_connections": {},
-            "inputs": [],
-            "label": null,
-            "name": "Input dataset",
-            "outputs": [],
-            "position": {
-                "left": 222,
-                "top": 286.8500061035156
-            },
-            "tool_id": null,
-            "tool_state": "{\"optional\": false}",
-            "tool_version": null,
-            "type": "data_input",
-            "uuid": "74f22d9b-e764-45e4-b0eb-579c9b647ea0",
-            "workflow_outputs": []
-        },
-        "1": {
-            "annotation": "",
-            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.3",
-            "errors": null,
-            "id": 1,
-            "input_connections": {
-                "fasta": {
-                    "id": 0,
-                    "output_name": "output"
-                },
-                "wait_for": {
-                    "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": {
-                "left": 509.9000244140625,
-                "top": 271
-            },
-            "post_job_actions": {},
-            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.3",
-            "tool_shed_repository": {
-                "changeset_revision": "a7ab30ded37d",
-                "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.3",
-            "type": "tool",
-            "uuid": "f3655d26-08b8-408e-bfef-6e8a4aaab355",
-            "workflow_outputs": []
-        }
-    },
-    "tags": [],
-    "uuid": "ca4cf11f-76c0-40dd-925b-b20284bcc857",
-    "version": 3
-}
\ No newline at end of file
diff --git a/workflows/Jbrowse.ga b/workflows/Jbrowse.ga
index 5291ff0..5c4ac95 100644
--- a/workflows/Jbrowse.ga
+++ b/workflows/Jbrowse.ga
@@ -1 +1,162 @@
-{"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
+{
+    "a_galaxy_workflow": "true",
+    "annotation": "",
+    "format-version": "0.1",
+    "name": "Jbrowse",
+    "steps": {
+        "0": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 0,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 200
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "751caac1-d015-4d77-8a68-2c3debae0caf",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "6015fbdd-dc71-4fb8-916d-2241f37693c4"
+                }
+            ]
+        },
+        "1": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 1,
+            "input_connections": {},
+            "inputs": [],
+            "label": null,
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "left": 200,
+                "top": 290
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "5cb81c38-64fe-4bdc-9043-bd862bdefc6d",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "c0667455-6271-4d1f-9388-75ec65762bb4"
+                }
+            ]
+        },
+        "2": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.10+galaxy0",
+            "errors": null,
+            "id": 2,
+            "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": {
+                "left": 486,
+                "top": 200
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.10+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "8774b28235bb",
+                "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\": {\"__class__\": \"RuntimeValue\"}, \"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.10+galaxy0",
+            "type": "tool",
+            "uuid": "ba7d15fd-8ffd-407d-9a45-47cd4be68bd2",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "519355d7-82cc-47f0-a96c-3ee0e39aa7df"
+                }
+            ]
+        },
+        "3": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1",
+            "errors": null,
+            "id": 3,
+            "input_connections": {
+                "organisms_0|jbrowse": {
+                    "id": 2,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [],
+            "label": null,
+            "name": "Add organisms to JBrowse container",
+            "outputs": [
+                {
+                    "name": "output",
+                    "type": "html"
+                }
+            ],
+            "position": {
+                "left": 772,
+                "top": 200
+            },
+            "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\": {\"__class__\": \"RuntimeValue\"}, \"advanced\": {\"unique_id\": \"\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "0.5.1",
+            "type": "tool",
+            "uuid": "1cf25ca3-2287-4b82-9e93-b8828eed70a2",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "f78c7496-18a9-4c47-ad7f-a3ac31456749"
+                }
+            ]
+        }
+    },
+    "tags": [],
+    "uuid": "e12dd4c9-0012-4d14-9cd2-8313a99c71cc",
+    "version": 1
+}
\ No newline at end of file
-- 
GitLab