diff --git a/gga_get_data.py b/gga_get_data.py
index d57f0fb51fafcc374c9394834f602ded41d0aafe..20ec80d37f1b1449fd216ae616d8f594976e952a 100755
--- a/gga_get_data.py
+++ b/gga_get_data.py
@@ -122,20 +122,14 @@ class GetData(speciesData.SpeciesData):
         # Where to store blast results?
 
         # search_excluded_datasets = ["interpro_path", "orthofinder_path", "blastp_path", "blastx_path"]  
-        # # These datasets will not be searched if missing in the input file
-
-        dataset_shortname = ""
-        if self.sex is not None or self.sex != "":
-            dataset_shortname = self.genus[0].lower() + "_" + self.species.lower() + "_" + self.sex[0].lower()
-        else:
-            dataset_shortname = self.genus[0].lower() + "_" + self.species.lower()
+        # These datasets will not be searched if missing in the input file
 
         # Copy datasets in the organism src_data dir tree correct folder
         for k, v in datasets_to_get.items():
             if v:  # If dataset is not present in input file, skip copy
                 if k in genome_datasets:
                     logging.info("Copying {0} ({1}) into {2}".format(k, v, organism_genome_dir))
-                    genome_fname = "{0}_v{1}.fasta".format(dataset_shortname, self.genome_version)
+                    genome_fname = "{0}_v{1}.fasta".format(self.dataset_prefix, self.genome_version)
                     try:
                         shutil.copyfile(os.path.abspath(v), os.path.join(organism_genome_dir, genome_fname))
                     except Exception as exc:
@@ -143,19 +137,19 @@ class GetData(speciesData.SpeciesData):
                 elif k in annotation_datasets:
                     dataset_fname = ""
                     if k == "gff_path":
-                        dataset_fname = "{0}_OGS{1}.gff".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}.gff".format(self.dataset_prefix, self.ogs_version)
                     elif k == "transcripts_path":
-                        dataset_fname = "{0}_OGS{1}_transcripts.fasta".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_transcripts.fasta".format(self.dataset_prefix, self.ogs_version)
                     elif k == "proteins_path":
-                        dataset_fname = "{0}_OGS{1}_proteins.fasta".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_proteins.fasta".format(self.dataset_prefix, self.ogs_version)
                     elif k == "orthofinder_path":
-                        dataset_fname = "{0}_OGS{1}_orthofinder.tsv".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_orthofinder.tsv".format(self.dataset_prefix, self.ogs_version)
                     elif k == "interpro_path":
-                        dataset_fname = "{0}_OGS{1}_interproscan.xml".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_interproscan.xml".format(self.dataset_prefix, self.ogs_version)
                     elif k == "blastp_path":
-                        dataset_fname = "{0}_OGS{1}_blastp.xml".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_blastp.xml".format(self.dataset_prefix, self.ogs_version)
                     elif k == "blastx_path":
-                        dataset_fname = "{0}_OGS{1}_blastx.xml".format(dataset_shortname, self.genome_version)
+                        dataset_fname = "{0}_OGS{1}_blastx.xml".format(self.dataset_prefix, self.ogs_version)
                     logging.info("Copying {0} ({1}) into {2}".format(k, v, organism_annotation_dir))
                     try:
                         shutil.copyfile(os.path.abspath(v), os.path.join(organism_annotation_dir, dataset_fname))
diff --git a/gga_init.py b/gga_init.py
index fbefcebd1c2ce145db1270455cb8518ce3dd47a9..bd1beb4e7ebed69a7945fb0e8ed58a4545bf3483 100755
--- a/gga_init.py
+++ b/gga_init.py
@@ -64,8 +64,9 @@ class DeploySpeciesStack(speciesData.SpeciesData):
             if not config["banner_path"] == "" and os.path.isfile(os.path.abspath(config["banner_path"])):
                 banner_dest_path = os.path.abspath("./banner.png")
                 logging.info("Custom banner path: %s" % self.config["banner_path"])
-                if os.path.samefile(os.path.abspath(config["banner_path"]),banner_dest_path):
-                    shutil.copy(os.path.abspath(self.config["banner_path"]), banner_dest_path)
+                # if os.path.samefile(os.path.abspath(config["banner_path"]), banner_dest_path):
+                    # shutil.copy(os.path.abspath(self.config["banner_path"]), banner_dest_path)
+                shutil.copy(os.path.abspath(self.config["banner_path"]), banner_dest_path)
             else:
                 logging.debug("Using default banner for Tripal pages")
                 self.config.pop("banner_path", None)
diff --git a/gga_load_data.py b/gga_load_data.py
index cc73e3e2b6dcc0b24dc46503366a15fde4f0a951..c4ed5594a9d3d173bd11d4ee4918a1152cd6a5ca 100755
--- a/gga_load_data.py
+++ b/gga_load_data.py
@@ -64,13 +64,13 @@ class LoadData(speciesData.SpeciesData):
         try:
             histories = self.instance.histories.get_histories(name=str(self.genus_species))
             self.history_id = histories[0]["id"]
-            logging.debug("History ID set for {0}: {1}".format(self.full_name, self.history_id))
+            logging.debug("History ID set for {0} {1}: {2}".format(self.genus, self.species, self.history_id))
         except IndexError:
-            logging.info("Creating history for %s" % self.full_name)
+            logging.info("Creating history for {0} {1}".format(self.genus, self.species))
             self.instance.histories.create_history(name=str(self.genus_species))
             histories = self.instance.histories.get_histories(name=str(self.genus_species))
             self.history_id = histories[0]["id"]
-            logging.debug("History ID set for {0}: {1}".format(self.full_name, self.history_id))
+            logging.debug("History ID set for {0} {1}: {2}".format(self.genus, self.species, self.history_id))
 
         return self.history_id
 
@@ -391,9 +391,9 @@ if __name__ == "__main__":
             load_data_for_current_species.connect_to_instance()
 
             # Load the datasets into a galaxy library
-            logging.info("Setting up library for %s" % load_data_for_current_species.full_name)
+            logging.info("Setting up library for {0} {1}".format(load_data_for_current_species.genus, load_data_for_current_species.species))
             load_data_for_current_species.setup_library()
-            logging.info("Successfully set up library in galaxy for %s" % load_data_for_current_species.full_name)
+            logging.info("Successfully set up library in galaxy for {0} {1}".format(load_data_for_current_species.genus, load_data_for_current_species.species))
 
             # Set or get the history for the current organism
             load_data_for_current_species.set_get_history()
@@ -407,8 +407,8 @@ if __name__ == "__main__":
 
             # load_data_for_current_species.purge_histories()  # Testing purposes
 
-            logging.info("Data successfully loaded and imported for %s" % load_data_for_current_species.full_name)
+            logging.info("Data successfully loaded and imported for {0} {1}".format(load_data_for_current_species.genus, load_data_for_current_species.species))
 
         else:
-            logging.critical("The galaxy container for %s is not ready yet!" % load_data_for_current_species.full_name)
+            logging.critical("The galaxy container for {0} {1} is not ready yet".format(load_data_for_current_species.genus, load_data_for_current_species.species))
             sys.exit()
diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py
index 7f273a6b50094bdcd79a9fbd0c8deec8c60b25d6..2c385d476ca128e949e9b9a1353c0679ed5d6958 100755
--- a/run_workflow_phaeoexplorer.py
+++ b/run_workflow_phaeoexplorer.py
@@ -252,7 +252,6 @@ class RunWorkflow(speciesData.SpeciesData):
 
         tool_version = "2.3.4+galaxy0"
 
-
         get_organism_tool = self.instance.tools.show_tool("toolshed.g2.bx.psu.edu/repos/gga/chado_organism_get_organisms/organism_get_organisms/2.3.4+galaxy0")
 
         get_organisms = self.instance.tools.run_tool(
@@ -564,32 +563,24 @@ class RunWorkflow(speciesData.SpeciesData):
                                 self.datasets["blast_diamond_file"] = e["ldda_id"]
                                 self.datasets_name["blast_diamond_file"] = e["name"]
 
-        dataset_shortname = ""
-        if self.sex is not None or self.sex != "":
-            dataset_shortname = self.genus[0].lower() + "_" + self.species.lower() + "_" + self.sex[0].lower()
-        else:
-            dataset_shortname = self.genus[0].lower() + "_" + self.species.lower()
 
         history_datasets_li = self.instance.datasets.get_datasets()
         genome_hda_id, gff_hda_id, transcripts_hda_id, proteins_hda_id, blast_diamond_hda_id, interproscan_hda_id = None, None, None, None, None, None
 
-        # Finding datasets in history (matches datasets name)
-        # TODO: match version as well
-        # TODO: match whoole dataset name (not just prefix and affix)
+        # Finding datasets in history (matching datasets names)
         for dataset in history_datasets_li:
             dataset_name = dataset["name"]
-            if dataset_shortname in dataset_name:
-                dataset_id = dataset["id"]
-                if dataset_name.endswith("%s.fasta" % self.genome_version):
-                    genome_hda_id = dataset_id 
-                if dataset_name.endswith(".gff"):
-                    gff_hda_id = dataset_id
-                if dataset_name.endswith("transcripts.fasta"):
-                    transcripts_hda_id = dataset_id
-                if dataset_name.endswith("proteins.fasta"):
-                    proteins_hda_id = dataset_id
-                if dataset_name.endswith("blasp.xml"):
-                    blast_diamond_hda_id = dataset_id
+            dataset_id = dataset["id"]
+            if dataset_name == "{0}_v{1}.fasta".format(self.dataset_prefix, self.genome_version):
+                genome_hda_id = dataset_id
+            if dataset_name == "{0}_OGS{1}.gff".format(self.dataset_prefix, self.ogs_version):
+                gff_hda_id = dataset_id
+            if dataset_name == "{0}_OGS{1}_transcripts.fasta".format(self.dataset_prefix, self.ogs_version):
+                transcripts_hda_id = dataset_id
+            if dataset_name == "{0}_OGS{1}_proteins.fasta".format(self.dataset_prefix, self.ogs_version):
+                proteins_hda_id = dataset_id
+            if dataset_name == "{0}_OGS{1}_blastx.xml".format(self.dataset_prefix, self.ogs_version):
+                blast_diamond_hda_id = dataset_id
 
                     
         # Import each dataset into history if it is not imported
@@ -620,6 +611,14 @@ class RunWorkflow(speciesData.SpeciesData):
             except Exception as exc:
                 logging.debug("Blastp file not found in library (history: {0})".format(self.history_id))
 
+        logging.debug("History dataset IDs (hda_id) for %s:" % self.full_name)
+        logging.debug({"genome_hda_id": genome_hda_id, 
+                "gff_hda_id": gff_hda_id, 
+                "transcripts_hda_id": transcripts_hda_id, 
+                "proteins_hda_id": proteins_hda_id, 
+                "blast_diamond_hda_id": blast_diamond_hda_id, 
+                "interproscan_hda_id": interproscan_hda_id})
+
         # Return a dict made of the hda ids
         return {"genome_hda_id": genome_hda_id, 
                 "gff_hda_id": gff_hda_id, 
@@ -987,7 +986,7 @@ if __name__ == "__main__":
             logging.info("Input organism %s: 2 species detected in input dictionary" % k)
 
             # Set workflow path (2 organisms)
-            workflow_path = os.path.join(os.path.abspath(script_dir), "workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_2org_v2.ga")
+            workflow_path = os.path.join(os.path.abspath(script_dir), "workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_2org_v4.ga")
 
             # Instance object required variables
             instance_url, email, password = None, None, None
@@ -1038,6 +1037,7 @@ if __name__ == "__main__":
                 "org1_org_id": org1_org_id,
                 "org1_genome_analysis_id": org1_genome_analysis_id,
                 "org1_ogs_analysis_id": org1_ogs_analysis_id,
+                "org1_genome_hda_id": org1_genome_hda_id,
                 "org1_transcripts_hda_id": org1_transcripts_hda_id,
                 "org1_proteins_hda_id": org1_proteins_hda_id,
                 "org1_gff_hda_id": org1_gff_hda_id,
@@ -1046,7 +1046,7 @@ if __name__ == "__main__":
             # Look for empty parameters values, throw a critical error if a parameter value is invalid
             for param_name, param_value in org1_parameters_dict.items():
                 if param_value is None or param_value == "":
-                    logging.critical("Empty parameter found for organism {0} (parameter: {1}, parameter value: {2})".format(org1_full_name, param_name, param_value))
+                    logging.critical("Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(org1_full_name, param_name, param_value))
                     sys.exit()
             
             # Organism 2 attributes
@@ -1077,6 +1077,7 @@ if __name__ == "__main__":
                 "org2_org_id": org2_org_id,
                 "org2_genome_analysis_id": org2_genome_analysis_id,
                 "org2_ogs_analysis_id": org2_ogs_analysis_id,
+                "org2_genome_hda_id": org2_genome_hda_id,
                 "org2_transcripts_hda_id": org2_transcripts_hda_id,
                 "org2_proteins_hda_id": org2_proteins_hda_id,
                 "org2_gff_hda_id": org2_gff_hda_id,
@@ -1085,12 +1086,24 @@ if __name__ == "__main__":
             # Look for empty parameters values, throw a critical error if a parameter value is invalid
             for param_name, param_value in org2_parameters_dict.items():
                 if param_value is None or param_value == "":
-                    logging.critical("Empty parameter found for organism {0} (parameter: {1}, parameter value: {2})".format(org2_full_name, param_name, param_value))
+                    logging.critical("Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(org2_full_name, param_name, param_value))
                     sys.exit()
 
+
+            jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}")
+            jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+            if "menu_url" not in config.keys():
+                jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}")
+                jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+            else:
+                jbrowse_menu_url_org1 = config["menu_url"]
+                jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+
+
             # Source files association (ordered by their IDs in the workflow)
-            GENOME_FASTA_FILE_ORG1 = "0"
-            GFF_FILE_ORG1 = "1"
+            # WARNING: Be very careful about how the workflow is "organized" (i.e the order of the steps/datasets, check the .ga if there is any error)
+            GFF_FILE_ORG1 = "0"
+            GENOME_FASTA_FILE_ORG1 = "1" 
             PROTEINS_FASTA_FILE_ORG1 = "2"
 
             GENOME_FASTA_FILE_ORG2 = "3"
@@ -1127,17 +1140,19 @@ if __name__ == "__main__":
             workflow_parameters[LOAD_FASTA_ORG1] = {"organism": org1_org_id,
                                                     "analysis_id": org1_genome_analysis_id,
                                                     "do_update": "true"}
-            workflow_parameters[JBROWSE_ORG1] = {}
+            # workflow_parameters[JBROWSE_ORG1] = {"menu_url": jbrowse_menu_url_org1}
+            workflow_parameters[JBROWSE_ORG1] = {}  
             workflow_parameters[LOAD_GFF_ORG1] = {"organism": org1_org_id, "analysis_id": org1_ogs_analysis_id}
             workflow_parameters[SYNC_FEATURES_ORG1] = {"organism_id":  org1_org_id}
+            # workflow_parameters[JBROWSE_CONTAINER] = {"organisms": [{"name": org1_full_name, "unique_id": org1_species_folder_name, }, {"name": org2_full_name, "unique_id": org2_species_folder_name}]}
             workflow_parameters[JBROWSE_CONTAINER] = {}
 
-
             # Organism 2
             workflow_parameters[LOAD_FASTA_ORG2] = {"organism": org2_org_id,
                                                     "analysis_id": org2_genome_analysis_id,
                                                     "do_update": "true"}
             workflow_parameters[LOAD_GFF_ORG2] = {"organism": org2_org_id, "analysis_id": org2_ogs_analysis_id}
+            # workflow_parameters[JRBOWSE_ORG2] = {"menu_url": jbrowse_menu_url_org2}
             workflow_parameters[JRBOWSE_ORG2] = {}
             workflow_parameters[SYNC_FEATURES_ORG2] = {"organism_id":  org2_org_id}
 
@@ -1166,26 +1181,33 @@ if __name__ == "__main__":
                 workflow_dict = json.load(ga_in_file)
                 workflow_name = workflow_dict["name"]
 
+
                 # For the Jbrowse tool, we unfortunately have to manually edit the parameters instead of setting them
                 # as runtime values, using runtime parameters makes the tool throw an internal critical error ("replace not found" error)
                 # Scratchgmod test: need "http" (or "https"), the hostname (+ port)
-                jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}")
-                jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+                jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="{id}")
+                jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="{id}")
                 if "menu_url" not in config.keys():
-                    jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="\{id\}")
-                    jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+                    jbrowse_menu_url_org1 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="{id}")
+                    jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="{id}")
                 else:
-                    jbrowse_menu_url_org1 = config["menu_url"]
-                    jbrowse_menu_url_org2 = "https://{hostname}/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(hostname=config["hostname"], genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="\{id\}")
+                    jbrowse_menu_url_org1 = config["menu_url"] + "/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(genus_sp=org1_genus_species, Genus=org1_genus[0].upper() + org1_genus[1:], species=org1_species, id="{id}")
+                    jbrowse_menu_url_org2 = config["menu_url"] + "/sp/{genus_sp}/feature/{Genus}/{species}/mRNA/{id}".format(genus_sp=org2_genus_species, Genus=org2_genus[0].upper() + org2_genus[1:], species=org2_species, id="{id}")
 
+                # show_tool_add_organism = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_add_organism/organism_add_organism/2.3.4+galaxy0", io_details=True)
+                # print(show_tool_add_organism)
+                # show_jbrowse_tool = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0", io_details=True)
+                # print(show_jbrowse_tool)
+                # show_jbrowse_container_tool = instance.tools.show_tool(tool_id="toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1", io_details=True)
+                # print(show_jbrowse_container_tool)
 
                 # Replace values in the workflow dictionary
                 workflow_dict["steps"]["7"]["tool_state"] = workflow_dict["steps"]["7"]["tool_state"].replace("__MENU_URL_ORG1__", jbrowse_menu_url_org1)
                 workflow_dict["steps"]["8"]["tool_state"] = workflow_dict["steps"]["8"]["tool_state"].replace("__MENU_URL_ORG2__", jbrowse_menu_url_org2)
                 # The UNIQUE_ID is specific to a combination genus_species_strain_sex so every combination should have its unique workflow
                 # in galaxy --> define a naming method for these workflows
-                workflow_dict["steps"]["10"]["tool_state"] = workflow_dict["steps"]["10"]["tool_state"].replace("__FULL_NAME_ORG1__", org1_full_name).replace("__UNIQUE_ID_ORG1__", org1_species_folder_name)
-                workflow_dict["steps"]["10"]["tool_state"] = workflow_dict["steps"]["10"]["tool_state"].replace("__FULL_NAME_ORG2__", org2_full_name).replace("__UNIQUE_ID_ORG2__", org2_species_folder_name)
+                workflow_dict["steps"]["10"]["tool_state"] = workflow_dict["steps"]["10"]["tool_state"].replace("__DISPLAY_NAME_ORG1__", org1_full_name).replace("__UNIQUE_ID_ORG1__", org1_species_folder_name)
+                workflow_dict["steps"]["10"]["tool_state"] = workflow_dict["steps"]["10"]["tool_state"].replace("__DISPLAY_NAME_ORG2__", org2_full_name).replace("__UNIQUE_ID_ORG2__", org2_species_folder_name)
 
                 # Import the workflow in galaxy as a dict
                 instance.workflows.import_workflow_dict(workflow_dict=workflow_dict)
diff --git a/speciesData.py b/speciesData.py
index de246d7eb798f7ca1d36b90ba6b159fae7fe8765..a8637b01484de65a257f12eec6e5afacc406d014 100755
--- a/speciesData.py
+++ b/speciesData.py
@@ -67,6 +67,11 @@ class SpeciesData:
         self.abbreviation = "_".join(utilities.filter_empty_not_empty_items([self.genus_lowercase[0], self.species, self.strain, self.sex])["not_empty"])
         
         self.genus_species = "{0}_{1}".format(self.genus.lower(), self.species.lower())
+        self.dataset_prefix = None
+        if self.sex is not None or self.sex != "":
+            self.dataset_prefix = self.genus[0].lower() + "_" + self.species.lower() + "_" + self.sex[0].lower()
+        else:
+            self.dataset_prefix = self.genus[0].lower() + "_" + self.species.lower()
 
         # Bioblend/Chado IDs for an organism analyses/organisms/datasets/history/library
         self.org_id = None
diff --git a/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_2org_v4.ga b/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_2org_v4.ga
new file mode 100644
index 0000000000000000000000000000000000000000..045e442219face7eed174cafcec206dd9de0ffa0
--- /dev/null
+++ b/workflows_phaeoexplorer/Galaxy-Workflow-chado_load_tripal_synchronize_jbrowse_2org_v4.ga
@@ -0,0 +1,881 @@
+{
+    "a_galaxy_workflow": "true",
+    "annotation": "",
+    "format-version": "0.1",
+    "name": "chado_load_tripal_synchronize_jbrowse_2org_v4",
+    "steps": {
+        "0": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 0,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "annotations org1"
+                }
+            ],
+            "label": "annotations org1",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": 64.80000305175781,
+                "height": 61.80000305175781,
+                "left": 233,
+                "right": 433,
+                "top": 3,
+                "width": 200,
+                "x": 233,
+                "y": 3
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "c82b756f-2ef5-41d5-9e14-eb9a7ef942c7",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "cd6ee602-9669-4542-820c-c4655bc573b0"
+                }
+            ]
+        },
+        "1": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 1,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "genome org1"
+                }
+            ],
+            "label": "genome org1",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": -25.199996948242188,
+                "height": 61.80000305175781,
+                "left": 234,
+                "right": 434,
+                "top": -87,
+                "width": 200,
+                "x": 234,
+                "y": -87
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "59f823c8-fd7c-441c-84b6-21c367ba12f6",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "6b57ff4d-58c7-4a22-a2c7-66acca4ebe33"
+                }
+            ]
+        },
+        "2": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 2,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "proteins org1"
+                }
+            ],
+            "label": "proteins org1",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": 159.8000030517578,
+                "height": 61.80000305175781,
+                "left": 234,
+                "right": 434,
+                "top": 98,
+                "width": 200,
+                "x": 234,
+                "y": 98
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "0a0ac416-68b8-4c48-980e-04c6230c721e",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "64cd0c64-5d21-400f-a3c8-3a035978be06"
+                }
+            ]
+        },
+        "3": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 3,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "genome org2"
+                }
+            ],
+            "label": "genome org2",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": 249.8000030517578,
+                "height": 61.80000305175781,
+                "left": 233,
+                "right": 433,
+                "top": 188,
+                "width": 200,
+                "x": 233,
+                "y": 188
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "ddd5f0f8-9e14-42f0-a866-2971d02e5435",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "bcf5bb6d-9796-4e37-bcf8-ac3d90efd7bf"
+                }
+            ]
+        },
+        "4": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 4,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "annotations org2"
+                }
+            ],
+            "label": "annotations org2",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": 343.8000030517578,
+                "height": 61.80000305175781,
+                "left": 235,
+                "right": 435,
+                "top": 282,
+                "width": 200,
+                "x": 235,
+                "y": 282
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "c7f3b553-5cd2-46e6-a792-e864ab0d2459",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "2de7390d-d075-4122-80ee-63217adf4f24"
+                }
+            ]
+        },
+        "5": {
+            "annotation": "",
+            "content_id": null,
+            "errors": null,
+            "id": 5,
+            "input_connections": {},
+            "inputs": [
+                {
+                    "description": "",
+                    "name": "proteins org2"
+                }
+            ],
+            "label": "proteins org2",
+            "name": "Input dataset",
+            "outputs": [],
+            "position": {
+                "bottom": 433.8000030517578,
+                "height": 61.80000305175781,
+                "left": 236,
+                "right": 436,
+                "top": 372,
+                "width": 200,
+                "x": 236,
+                "y": 372
+            },
+            "tool_id": null,
+            "tool_state": "{\"optional\": false}",
+            "tool_version": null,
+            "type": "data_input",
+            "uuid": "b5b82a8a-f73c-4183-bc0a-6956e5ad9d0a",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "84bb8de5-0039-40bc-98b0-2524a8958443"
+                }
+            ]
+        },
+        "6": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "errors": null,
+            "id": 6,
+            "input_connections": {
+                "fasta": {
+                    "id": 1,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "analysis_id"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "organism"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "wait_for"
+                }
+            ],
+            "label": "Chado load fasta org",
+            "name": "Chado load fasta",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "json"
+                }
+            ],
+            "position": {
+                "bottom": 77.39999389648438,
+                "height": 164.39999389648438,
+                "left": 519,
+                "right": 719,
+                "top": -87,
+                "width": 200,
+                "x": 519,
+                "y": -87
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "ba4d07fbaf47",
+                "name": "chado_feature_load_fasta",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"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__\": \"RuntimeValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "2.3.4+galaxy0",
+            "type": "tool",
+            "uuid": "d706dd73-5dc7-4c06-8c56-825aa81394a1",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "b058f83f-8d18-4ef4-b3a6-bae86dc0f9f6"
+                }
+            ]
+        },
+        "7": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0",
+            "errors": null,
+            "id": 7,
+            "input_connections": {
+                "reference_genome|genome": {
+                    "id": 1,
+                    "output_name": "output"
+                },
+                "track_groups_0|data_tracks_0|data_format|annotation": {
+                    "id": 0,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool JBrowse",
+                    "name": "reference_genome"
+                }
+            ],
+            "label": "JBrowse org1",
+            "name": "JBrowse",
+            "outputs": [
+                {
+                    "name": "output",
+                    "type": "html"
+                }
+            ],
+            "position": {
+                "bottom": 638.1999969482422,
+                "height": 205.1999969482422,
+                "left": 532,
+                "right": 732,
+                "top": 433,
+                "width": 200,
+                "x": 532,
+                "y": 433
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "4542035c1075",
+                "name": "jbrowse",
+                "owner": "iuc",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"action\": {\"action_select\": \"create\", \"__current_case__\": 0}, \"gencode\": \"1\", \"jbgen\": {\"defaultLocation\": \"\", \"trackPadding\": \"20\", \"shareLink\": \"true\", \"aboutDescription\": \"\", \"show_tracklist\": \"true\", \"show_nav\": \"true\", \"show_overview\": \"true\", \"show_menu\": \"true\", \"hideGenomeOptions\": \"false\"}, \"plugins\": {\"BlastView\": \"true\", \"ComboTrackSelector\": \"false\", \"GCContent\": \"false\"}, \"reference_genome\": {\"genome_type_select\": \"history\", \"__current_case__\": 1, \"genome\": {\"__class__\": \"RuntimeValue\"}}, \"standalone\": \"complete\", \"track_groups\": [{\"__index__\": 0, \"category\": \"Annotation\", \"data_tracks\": [{\"__index__\": 0, \"data_format\": {\"data_format_select\": \"gene_calls\", \"__current_case__\": 2, \"annotation\": {\"__class__\": \"RuntimeValue\"}, \"match_part\": {\"match_part_select\": \"false\", \"__current_case__\": 1}, \"index\": \"false\", \"track_config\": {\"track_class\": \"NeatHTMLFeatures/View/Track/NeatFeatures\", \"__current_case__\": 3, \"html_options\": {\"topLevelFeatures\": \"\"}}, \"jbstyle\": {\"style_classname\": \"transcript\", \"style_label\": \"product,name,id\", \"style_description\": \"note,description\", \"style_height\": \"10px\", \"max_height\": \"600\"}, \"jbcolor_scale\": {\"color_score\": {\"color_score_select\": \"none\", \"__current_case__\": 0, \"color\": {\"color_select\": \"automatic\", \"__current_case__\": 0}}}, \"jb_custom_config\": {\"option\": []}, \"jbmenu\": {\"track_menu\": [{\"__index__\": 0, \"menu_action\": \"iframeDialog\", \"menu_label\": \"View transcript report\", \"menu_title\": \"Transcript {id}\", \"menu_url\": \"__MENU_URL_ORG1__\", \"menu_icon\": \"dijitIconBookmark\"}]}, \"track_visibility\": \"default_off\", \"override_apollo_plugins\": \"False\", \"override_apollo_drag\": \"False\"}}]}], \"uglyTestingHack\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "1.16.11+galaxy0",
+            "type": "tool",
+            "uuid": "ab159045-e72e-46cc-9e9f-d7ad2b50687e",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "e93e82c7-7a3b-4219-a2f6-09afbe60b1e0"
+                }
+            ]
+        },
+        "8": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0",
+            "errors": null,
+            "id": 8,
+            "input_connections": {
+                "reference_genome|genome": {
+                    "id": 3,
+                    "output_name": "output"
+                },
+                "track_groups_0|data_tracks_0|data_format|annotation": {
+                    "id": 4,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool JBrowse",
+                    "name": "reference_genome"
+                }
+            ],
+            "label": "JBrowse org2",
+            "name": "JBrowse",
+            "outputs": [
+                {
+                    "name": "output",
+                    "type": "html"
+                }
+            ],
+            "position": {
+                "bottom": 854.1999969482422,
+                "height": 205.1999969482422,
+                "left": 537,
+                "right": 737,
+                "top": 649,
+                "width": 200,
+                "x": 537,
+                "y": 649
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "4542035c1075",
+                "name": "jbrowse",
+                "owner": "iuc",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"action\": {\"action_select\": \"create\", \"__current_case__\": 0}, \"gencode\": \"1\", \"jbgen\": {\"defaultLocation\": \"\", \"trackPadding\": \"20\", \"shareLink\": \"true\", \"aboutDescription\": \"\", \"show_tracklist\": \"true\", \"show_nav\": \"true\", \"show_overview\": \"true\", \"show_menu\": \"true\", \"hideGenomeOptions\": \"false\"}, \"plugins\": {\"BlastView\": \"true\", \"ComboTrackSelector\": \"false\", \"GCContent\": \"false\"}, \"reference_genome\": {\"genome_type_select\": \"history\", \"__current_case__\": 1, \"genome\": {\"__class__\": \"RuntimeValue\"}}, \"standalone\": \"complete\", \"track_groups\": [{\"__index__\": 0, \"category\": \"Annotation\", \"data_tracks\": [{\"__index__\": 0, \"data_format\": {\"data_format_select\": \"gene_calls\", \"__current_case__\": 2, \"annotation\": {\"__class__\": \"RuntimeValue\"}, \"match_part\": {\"match_part_select\": \"false\", \"__current_case__\": 1}, \"index\": \"false\", \"track_config\": {\"track_class\": \"NeatHTMLFeatures/View/Track/NeatFeatures\", \"__current_case__\": 3, \"html_options\": {\"topLevelFeatures\": \"\"}}, \"jbstyle\": {\"style_classname\": \"transcript\", \"style_label\": \"product,name,id\", \"style_description\": \"note,description\", \"style_height\": \"10px\", \"max_height\": \"600\"}, \"jbcolor_scale\": {\"color_score\": {\"color_score_select\": \"none\", \"__current_case__\": 0, \"color\": {\"color_select\": \"automatic\", \"__current_case__\": 0}}}, \"jb_custom_config\": {\"option\": []}, \"jbmenu\": {\"track_menu\": [{\"__index__\": 0, \"menu_action\": \"iframeDialog\", \"menu_label\": \"View transcript report\", \"menu_title\": \"Transcript {id}\", \"menu_url\": \"__MENU_URL_ORG2__\", \"menu_icon\": \"dijitIconBookmark\"}]}, \"track_visibility\": \"default_off\", \"override_apollo_plugins\": \"False\", \"override_apollo_drag\": \"False\"}}]}], \"uglyTestingHack\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "1.16.11+galaxy0",
+            "type": "tool",
+            "uuid": "a06b4426-5546-4393-aa6a-23a0c490eb8f",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "a44c76ce-c7f4-4f24-bc96-be90aafc9efb"
+                }
+            ]
+        },
+        "9": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "errors": null,
+            "id": 9,
+            "input_connections": {
+                "fasta": {
+                    "id": 2,
+                    "output_name": "output"
+                },
+                "gff": {
+                    "id": 0,
+                    "output_name": "output"
+                },
+                "wait_for": {
+                    "id": 6,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load gff",
+                    "name": "analysis_id"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load gff",
+                    "name": "organism"
+                }
+            ],
+            "label": "Chado load gff ",
+            "name": "Chado load gff",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 87.39999389648438,
+                "height": 174.39999389648438,
+                "left": 806,
+                "right": 1006,
+                "top": -87,
+                "width": 200,
+                "x": 806,
+                "y": -87
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "e9a6d7568817",
+                "name": "chado_feature_load_gff",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"add_only\": \"false\", \"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"fasta\": {\"__class__\": \"ConnectedValue\"}, \"gff\": {\"__class__\": \"ConnectedValue\"}, \"landmark_type\": \"contig\", \"no_seq_compute\": \"false\", \"organism\": {\"__class__\": \"RuntimeValue\"}, \"prot_naming\": {\"method\": \"regex\", \"__current_case__\": 1, \"re_protein_capture\": \"^mRNA(_.+)$\", \"re_protein\": \"prot\\\\1\"}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "2.3.4+galaxy0",
+            "type": "tool",
+            "uuid": "f93c9145-6484-4c19-ab15-97f042fa4f1e",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "4b935868-ea0a-4ccf-9fe4-90d8fbe280df"
+                }
+            ]
+        },
+        "10": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1",
+            "errors": null,
+            "id": 10,
+            "input_connections": {
+                "organisms_0|jbrowse": {
+                    "id": 7,
+                    "output_name": "output"
+                },
+                "organisms_1|jbrowse": {
+                    "id": 8,
+                    "output_name": "output"
+                }
+            },
+            "inputs": [],
+            "label": null,
+            "name": "Add organisms to JBrowse container",
+            "outputs": [
+                {
+                    "name": "output",
+                    "type": "html"
+                }
+            ],
+            "position": {
+                "bottom": 765.8000030517578,
+                "height": 184.8000030517578,
+                "left": 902,
+                "right": 1102,
+                "top": 581,
+                "width": 200,
+                "x": 902,
+                "y": 581
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/jbrowse_to_container/jbrowse_to_container/0.5.1",
+            "tool_shed_repository": {
+                "changeset_revision": "11033bdad2ca",
+                "name": "jbrowse_to_container",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"organisms\": [{\"__index__\": 0, \"jbrowse\": {\"__class__\": \"RuntimeValue\"}, \"name\": \"__DISPLAY_NAME_ORG1__\", \"advanced\": {\"unique_id\": \"__UNIQUE_ID_ORG1__\"}}, {\"__index__\": 1, \"jbrowse\": {\"__class__\": \"RuntimeValue\"}, \"name\": \"__DISPLAY_NAME_ORG2__\", \"advanced\": {\"unique_id\": \"__UNIQUE_ID_ORG2__\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "0.5.1",
+            "type": "tool",
+            "uuid": "2c90cac2-d1ef-4d3b-bf43-d01e27059823",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "output",
+                    "uuid": "91511518-e85c-4a29-a929-77334cad6a1c"
+                }
+            ]
+        },
+        "11": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0",
+            "errors": null,
+            "id": 11,
+            "input_connections": {
+                "wait_for": {
+                    "id": 9,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Synchronize features",
+                    "name": "organism_id"
+                }
+            ],
+            "label": "Synchronize features org1",
+            "name": "Synchronize features",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 70.39999389648438,
+                "height": 154.39999389648438,
+                "left": 1088,
+                "right": 1288,
+                "top": -84,
+                "width": 200,
+                "x": 1088,
+                "y": -84
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "64e36c3f0dd6",
+                "name": "tripal_feature_sync",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"organism_id\": {\"__class__\": \"RuntimeValue\"}, \"repeat_ids\": [], \"repeat_types\": [{\"__index__\": 0, \"types\": \"mRNA\"}, {\"__index__\": 1, \"types\": \"polypeptide\"}], \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "7ed6c0a0-f36b-4a57-9fd8-4900af93b39c",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "ef7589b7-bd80-48c5-bd44-f275d49ea324"
+                }
+            ]
+        },
+        "12": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "errors": null,
+            "id": 12,
+            "input_connections": {
+                "fasta": {
+                    "id": 3,
+                    "output_name": "output"
+                },
+                "wait_for": {
+                    "id": 11,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "analysis_id"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load fasta",
+                    "name": "organism"
+                }
+            ],
+            "label": "Chado load fasta org2",
+            "name": "Chado load fasta",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "json"
+                }
+            ],
+            "position": {
+                "bottom": 332.3999938964844,
+                "height": 164.39999389648438,
+                "left": 533,
+                "right": 733,
+                "top": 168,
+                "width": 200,
+                "x": 533,
+                "y": 168
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_fasta/feature_load_fasta/2.3.4+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "ba4d07fbaf47",
+                "name": "chado_feature_load_fasta",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"do_update\": \"false\", \"ext_db\": {\"db\": \"\", \"re_db_accession\": \"\"}, \"fasta\": {\"__class__\": \"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.4+galaxy0",
+            "type": "tool",
+            "uuid": "c860eb94-43cb-468e-ad5e-257a519b66ca",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "a742ac3c-b152-464e-bcfd-5139efd90599"
+                }
+            ]
+        },
+        "13": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "errors": null,
+            "id": 13,
+            "input_connections": {
+                "fasta": {
+                    "id": 5,
+                    "output_name": "output"
+                },
+                "gff": {
+                    "id": 4,
+                    "output_name": "output"
+                },
+                "wait_for": {
+                    "id": 12,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Chado load gff",
+                    "name": "analysis_id"
+                },
+                {
+                    "description": "runtime parameter for tool Chado load gff",
+                    "name": "organism"
+                }
+            ],
+            "label": "Chado load gff org2",
+            "name": "Chado load gff",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 364.8000030517578,
+                "height": 194.8000030517578,
+                "left": 818,
+                "right": 1018,
+                "top": 170,
+                "width": 200,
+                "x": 818,
+                "y": 170
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/chado_feature_load_gff/feature_load_gff/2.3.4+galaxy0",
+            "tool_shed_repository": {
+                "changeset_revision": "e9a6d7568817",
+                "name": "chado_feature_load_gff",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"add_only\": \"false\", \"analysis_id\": {\"__class__\": \"RuntimeValue\"}, \"fasta\": {\"__class__\": \"ConnectedValue\"}, \"gff\": {\"__class__\": \"ConnectedValue\"}, \"landmark_type\": \"contig\", \"no_seq_compute\": \"false\", \"organism\": {\"__class__\": \"RuntimeValue\"}, \"prot_naming\": {\"method\": \"regex\", \"__current_case__\": 1, \"re_protein_capture\": \"^mRNA(_.+)$\", \"re_protein\": \"prot\\\\1\"}, \"psql_target\": {\"method\": \"remote\", \"__current_case__\": 0}, \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "2.3.4+galaxy0",
+            "type": "tool",
+            "uuid": "a4d0333d-bcbc-44bb-88ff-7bba058a50d8",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "0d07b3da-3317-4d92-bb85-c301ee2d0753"
+                }
+            ]
+        },
+        "14": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0",
+            "errors": null,
+            "id": 14,
+            "input_connections": {
+                "wait_for": {
+                    "id": 13,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool Synchronize features",
+                    "name": "organism_id"
+                }
+            ],
+            "label": "Synchronize features org2",
+            "name": "Synchronize features",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 330.3999938964844,
+                "height": 154.39999389648438,
+                "left": 1097,
+                "right": 1297,
+                "top": 176,
+                "width": 200,
+                "x": 1097,
+                "y": 176
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_feature_sync/feature_sync/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "64e36c3f0dd6",
+                "name": "tripal_feature_sync",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"organism_id\": {\"__class__\": \"RuntimeValue\"}, \"repeat_ids\": [], \"repeat_types\": [{\"__index__\": 0, \"types\": \"mRNA\"}, {\"__index__\": 1, \"types\": \"polypeptide\"}], \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "090a12c8-f931-4f3c-8853-9ae581c7c091",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "b896a431-ea9b-42e7-a2e8-99c5c43a6069"
+                }
+            ]
+        },
+        "15": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_populate_mviews/db_populate_mviews/3.2.1.0",
+            "errors": null,
+            "id": 15,
+            "input_connections": {
+                "wait_for": {
+                    "id": 14,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [],
+            "label": null,
+            "name": "Populate materialized views",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 226.39999389648438,
+                "height": 154.39999389648438,
+                "left": 1381,
+                "right": 1581,
+                "top": 72,
+                "width": 200,
+                "x": 1381,
+                "y": 72
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_populate_mviews/db_populate_mviews/3.2.1.0",
+            "tool_shed_repository": {
+                "changeset_revision": "3c08f32a3dc1",
+                "name": "tripal_db_populate_mviews",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"mview\": \"\", \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.0",
+            "type": "tool",
+            "uuid": "0a3bd8c6-240b-45f6-a90d-e88ff3703fa7",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "ba904db6-a017-4090-8d13-e3076f0052c4"
+                }
+            ]
+        },
+        "16": {
+            "annotation": "",
+            "content_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_index/db_index/3.2.1.1",
+            "errors": null,
+            "id": 16,
+            "input_connections": {
+                "wait_for": {
+                    "id": 15,
+                    "output_name": "results"
+                }
+            },
+            "inputs": [],
+            "label": null,
+            "name": "Index Tripal data",
+            "outputs": [
+                {
+                    "name": "results",
+                    "type": "txt"
+                }
+            ],
+            "position": {
+                "bottom": 186.60000610351562,
+                "height": 113.60000610351562,
+                "left": 1657,
+                "right": 1857,
+                "top": 73,
+                "width": 200,
+                "x": 1657,
+                "y": 73
+            },
+            "post_job_actions": {},
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/gga/tripal_db_index/db_index/3.2.1.1",
+            "tool_shed_repository": {
+                "changeset_revision": "d55a39f12dda",
+                "name": "tripal_db_index",
+                "owner": "gga",
+                "tool_shed": "toolshed.g2.bx.psu.edu"
+            },
+            "tool_state": "{\"expose\": {\"do_expose\": \"no\", \"__current_case__\": 0}, \"queues\": \"10\", \"table\": {\"mode\": \"website\", \"__current_case__\": 0}, \"tokenizer\": \"standard\", \"wait_for\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
+            "tool_version": "3.2.1.1",
+            "type": "tool",
+            "uuid": "b01a554e-a43a-494e-876c-ebe134c4c48f",
+            "workflow_outputs": [
+                {
+                    "label": null,
+                    "output_name": "results",
+                    "uuid": "f431f362-7ad4-484f-bce7-b5d290b782d6"
+                }
+            ]
+        }
+    },
+    "tags": [],
+    "uuid": "43552d52-cef0-4601-8a5f-0a9e209c1426",
+    "version": 1
+}
\ No newline at end of file