From 575ddd21e00d2d152ca947bfe2fe2e9723793f70 Mon Sep 17 00:00:00 2001 From: Loraine Gueguen <loraine.gueguen@sb-roscoff.fr> Date: Tue, 11 May 2021 20:42:14 +0200 Subject: [PATCH] fix filepath for upload_from_galaxy_fs(). Factorize get_species_dir() --- gga_load_data.py | 10 +++++++--- speciesData.py | 12 ++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gga_load_data.py b/gga_load_data.py index 655f78a..22fbd35 100755 --- a/gga_load_data.py +++ b/gga_load_data.py @@ -28,6 +28,8 @@ Do not call this script before the galaxy container is ready GET_ORGANISMS_TOOL = "toolshed.g2.bx.psu.edu/repos/gga/chado_organism_get_organisms/organism_get_organisms/2.3.4+galaxy0" DELETE_ORGANISMS_TOOL = "toolshed.g2.bx.psu.edu/repos/gga/chado_organism_delete_organisms/organism_delete_organisms/2.3.4+galaxy0" +HOST_DATA_DIR='src_data' +CONTAINER_DATA_DIR_ROOT='/project_data' class LoadData(speciesData.SpeciesData): """ @@ -101,7 +103,7 @@ class LoadData(speciesData.SpeciesData): return histories - def setup_library(self, data_dir_root='./src_data'): + def setup_library(self): """ Create a "Project Data" library in galaxy, mirroring the "src_data" folder of the current organism directory tree @@ -109,7 +111,7 @@ class LoadData(speciesData.SpeciesData): :return: """ - self.goto_species_dir() + data_dir_root=os.path.join(self.get_species_dir(), HOST_DATA_DIR) instance = GalaxyInstance(url=self.instance_url, email=self.config["galaxy_default_admin_email"], @@ -181,9 +183,11 @@ class LoadData(speciesData.SpeciesData): logging.info("Skipping useless file '%s'" % single_file) continue + single_file_path=os.path.join(CONTAINER_DATA_DIR_ROOT,single_file) + logging.info("Adding file '%s' with type '%s' and name '%s'" % (single_file, ftype, clean_name)) datasets = prj_lib.upload_from_galaxy_fs( - single_file, + single_file_path, folder=folder, link_data_only='link_to_files', file_type=ftype, diff --git a/speciesData.py b/speciesData.py index b6af885..bb13d11 100755 --- a/speciesData.py +++ b/speciesData.py @@ -16,6 +16,15 @@ class SpeciesData: """ + def get_species_dir(self): + + species_dir = None + if os.path.isdir(self.main_dir) and not self.genus_species is None: + species_dir = os.path.join(self.main_dir, self.genus_species) + else: + logging.error("Cannot set species dir with '{0}/{1}'".format(self.main_dir,self.genus_species)) + return species_dir + def goto_species_dir(self): """ Go to the species directory (starting from the main dir) @@ -23,8 +32,7 @@ class SpeciesData: :return: """ - os.chdir(self.main_dir) - species_dir = os.path.join(self.main_dir, self.genus_species) + "/" + species_dir = self.get_species_dir() try: os.chdir(species_dir) except OSError: -- GitLab