diff --git a/gga_init.py b/gga_init.py index be5f3c3967accd1c5df1931145fcc4af4b14aaaf..6691f306eb0b562fc5e2cb0961f0d866ac8f6b20 100755 --- a/gga_init.py +++ b/gga_init.py @@ -127,12 +127,13 @@ class DeploySpeciesStack(speciesData.SpeciesData): gspecies_compose_file.write(gspecies_compose_output) - galaxy_nginx_conf_template = env.get_template("galaxy_nginx.conf.j2") - galaxy_nginx_conf_output = galaxy_nginx_conf_template.render(render_vars) - with open(os.path.join(self.main_dir, "galaxy_nginx.conf"), "w") as galaxy_nginx_conf_file: - logging.debug("Writing the galaxy_nginx.conf file for %s" % self.genus_species) - galaxy_nginx_conf_file.truncate(0) - galaxy_nginx_conf_file.write(galaxy_nginx_conf_output) + if not os.path.isfile(os.path.join(self.main_dir, "galaxy_nginx.conf")): + galaxy_nginx_conf_template = env.get_template("galaxy_nginx.conf.j2") + galaxy_nginx_conf_output = galaxy_nginx_conf_template.render(render_vars) + with open(os.path.join(self.main_dir, "galaxy_nginx.conf"), "w") as galaxy_nginx_conf_file: + logging.debug("Writing the galaxy_nginx.conf file for %s" % self.genus_species) + galaxy_nginx_conf_file.truncate(0) + galaxy_nginx_conf_file.write(galaxy_nginx_conf_output) # Create the volumes (directory) of the species docker-compose file create_mounts(working_dir=".", main_dir=self.main_dir) diff --git a/gga_load_data.py b/gga_load_data.py index e349e78cd685a66b34f20a3073afc7f50dd27859..cf506c107dc01c46e63064e4f0d8fc80317df6f3 100755 --- a/gga_load_data.py +++ b/gga_load_data.py @@ -81,43 +81,46 @@ class LoadData(speciesData.SpeciesData): """ - get_organism_tool = self.instance.tools.show_tool("toolshed.g2.bx.psu.edu/repos/gga/chado_organism_get_organisms/organism_get_organisms/2.3.3") + 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") delete_organism_tool = self.instance.tools.show_tool("toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/2.3.4+galaxy0") - if delete_organism_tool["version"] != "2.3.4+galaxy0": - toolshed_dict = delete_organism_tool["tool_shed_repository"] - logging.warning("Changeset for %s is not installed" % toolshed_dict["name"]) - changeset_revision = "b1aa4f9d82fe" - name = toolshed_dict["name"] - owner = toolshed_dict["owner"] - toolshed = "https://" + toolshed_dict["tool_shed"] - logging.warning("Installing changeset for %s" % toolshed_dict["name"]) - - self.instance.toolshed.install_repository_revision(tool_shed_url=toolshed, name=name, owner=owner, - changeset_revision=changeset_revision, - install_tool_dependencies=True, - install_repository_dependencies=False, - install_resolver_dependencies=True) - - - if get_organism_tool["version"] != "2.3.3": - toolshed_dict = get_organism_tool["tool_shed_repository"] - logging.warning("Changeset for %s is not installed" % toolshed_dict["name"]) - changeset_revision = "b07279b5f3bf" - name = toolshed_dict["name"] - owner = toolshed_dict["owner"] - toolshed = "https://" + toolshed_dict["tool_shed"] - logging.warning("Installing changeset for %s" % toolshed_dict["name"]) - - self.instance.toolshed.install_repository_revision(tool_shed_url=toolshed, name=name, owner=owner, - changeset_revision=changeset_revision, - install_tool_dependencies=True, - install_repository_dependencies=False, - install_resolver_dependencies=True) + get_organism_tool_version = get_organism_tool["version"] + delete_organism_tool_version = delete_organism_tool["version"] + + # if delete_organism_tool["version"] != "2.3.4+galaxy0": + # toolshed_dict = delete_organism_tool["tool_shed_repository"] + # logging.warning("Changeset for %s is not installed" % toolshed_dict["name"]) + # changeset_revision = "b1aa4f9d82fe" + # name = toolshed_dict["name"] + # owner = toolshed_dict["owner"] + # toolshed = "https://" + toolshed_dict["tool_shed"] + # logging.warning("Installing changeset for %s" % toolshed_dict["name"]) + + # self.instance.toolshed.install_repository_revision(tool_shed_url=toolshed, name=name, owner=owner, + # changeset_revision=changeset_revision, + # install_tool_dependencies=True, + # install_repository_dependencies=False, + # install_resolver_dependencies=True) + + + # if get_organism_tool["version"] != "2.3.4+galaxy0": + # toolshed_dict = get_organism_tool["tool_shed_repository"] + # logging.warning("Changeset for %s is not installed" % toolshed_dict["name"]) + # changeset_revision = "831229e6cda2" + # name = toolshed_dict["name"] + # owner = toolshed_dict["owner"] + # toolshed = "https://" + toolshed_dict["tool_shed"] + # logging.warning("Installing changeset for %s" % toolshed_dict["name"]) + + # self.instance.toolshed.install_repository_revision(tool_shed_url=toolshed, name=name, owner=owner, + # changeset_revision=changeset_revision, + # install_tool_dependencies=True, + # install_repository_dependencies=False, + # install_resolver_dependencies=True) logging.debug("Getting 'Homo sapiens' ID in instance's chado database") get_sapiens_id_job = self.instance.tools.run_tool( - tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_get_organisms/organism_get_organisms/2.3.4+galaxy0", + tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_get_organisms/organism_get_organisms/%s" % get_organism_tool_version, history_id=self.history_id, tool_inputs={"genus": "Homo", "species": "sapiens"}) get_sapiens_id_job_output = get_sapiens_id_job["outputs"][0]["id"] @@ -128,7 +131,7 @@ class LoadData(speciesData.SpeciesData): sapiens_id = str( get_sapiens_id_final_output["organism_id"]) # needs to be str to be recognized by the chado tool self.instance.tools.run_tool( - tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/2.3.4+galaxy0", + tool_id="toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/%s" % delete_organism_tool_version, history_id=self.history_id, tool_inputs={"organism": str(sapiens_id)}) except bioblend.ConnectionError: diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py index 36c4de91504112d083c97a7a88545fc4b79f5ebc..62389d44aa488831b906229ea84880c20749d083 100755 --- a/run_workflow_phaeoexplorer.py +++ b/run_workflow_phaeoexplorer.py @@ -640,25 +640,26 @@ class RunWorkflow(speciesData.SpeciesData): if dataset_dict["history_id"] == self.history_id: if dataset_dict["name"] == self.datasets_name["genome_file"] and dataset_dict["id"] not in imported_datasets_ids: genome_dataset_hda_id = dataset_dict["id"] - logging.debug("Genome dataset hda id: %s" % genome_dataset_hda_id) elif dataset_dict["name"] == self.datasets_name["proteins_file"] and dataset_dict["id"] not in imported_datasets_ids: proteins_datasets_hda_id = dataset_dict["id"] - logging.debug("Proteins dataset hda ID: %s" % proteins_datasets_hda_id) elif dataset_dict["name"] == self.datasets_name["transcripts_file"] and dataset_dict["id"] not in imported_datasets_ids: transcripts_dataset_hda_id = dataset_dict["id"] - logging.debug("Transcripts dataset hda ID: %s" % transcripts_dataset_hda_id) elif dataset_dict["name"] == self.datasets_name["gff_file"] and dataset_dict["id"] not in imported_datasets_ids: gff_dataset_hda_id = dataset_dict["id"] - logging.debug("GFF dataset hda ID: %s" % gff_dataset_hda_id) - if "interproscan_file" in self.datasets_name.keys(): if dataset_dict["name"] == self.datasets_name["interproscan_file"] and dataset_dict["id"] not in imported_datasets_ids: interproscan_dataset_hda_id = dataset_dict["id"] - logging.debug("InterproScan dataset hda ID: %s" % gff_dataset_hda_id) + if "blast_diamond_file" in self.datasets_name.keys(): if dataset_dict["name"] == self.datasets_name["blast_diamond_file"] and dataset_dict["id"] not in imported_datasets_ids: blast_diamond_dataset_hda_id = dataset_dict["id"] - logging.debug("Blast Diamond dataset hda ID: %s" % gff_dataset_hda_id) + + logging.debug("Genome dataset hda id: %s" % genome_dataset_hda_id) + logging.debug("Proteins dataset hda ID: %s" % proteins_datasets_hda_id) + logging.debug("Transcripts dataset hda ID: %s" % transcripts_dataset_hda_id) + logging.debug("GFF dataset hda ID: %s" % gff_dataset_hda_id) + logging.debug("InterproScan dataset hda ID: %s" % gff_dataset_hda_id) + logging.debug("Blast Diamond dataset hda ID: %s" % gff_dataset_hda_id) # Add datasets IDs to already imported IDs (so we don't assign all the wrong IDs to the next organism if there is one) imported_datasets_ids.append(genome_dataset_hda_id) @@ -1200,6 +1201,8 @@ if __name__ == "__main__": 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) + print(workflow_dict) + # 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 2dbd9527a0120195c0f774cd302482cb52b34569..77f6752544ba96fc901b13b0f6c762a55de2fbd6 100755 --- a/speciesData.py +++ b/speciesData.py @@ -87,7 +87,9 @@ class SpeciesData: self.datasets = dict() self.config = None # Custom config used to set environment variables inside containers self.species_folder_name = "_".join(utilities.filter_empty_not_empty_items([self.genus_lowercase.lower(), self.species.lower(), self.strain.lower(), self.sex.lower()])["not_empty"]) - self.species_folder_name = self.species_folder_name .replace("-", "_").replace('__', '_') + self.species_folder_name = self.species_folder_name .replace("-", "_").replace('__', '_').replace("(", "_").replace(")", "_") + if self.species_folder_name.endswith("_"): + self.species_folder_name = self.species_folder_name[0:-2] self.existing_folders_cache = {} self.bam_metadata_cache = {}