diff --git a/README.md b/README.md index 445527f4d..4f41f3a15 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ The project is distributed under the [GNU General Public License](https://www.gn In order to use our docker container, it is required to have docker installed. The user also needs permission to create and run docker containers (p.r.n., ask your system administrator). Additionally, a Python 3 installation and the command-line tool `curl` are necessary. To make all tools in this repository available in your current terminal session, please first source our installer script. This step needs to be done each time a new terminal session is started. It will only create some lightweight aliases, the actual download will take place only if you actually use one of the tools. ```bash # install all tools in this repository for the current terminal session +if command -v shopt > /dev/null 2>&1 ; then shopt -s expand_aliases; fi needl_install_sh="$(curl -s https://raw.githubusercontent.com/biomedbigdata/NeEDL/main/run/bash_install.sh)" && eval "$needl_install_sh" ``` diff --git a/run/NeEDL.py b/run/NeEDL.py index ef20a66cb..ec9ef19ce 100755 --- a/run/NeEDL.py +++ b/run/NeEDL.py @@ -128,19 +128,19 @@ if use_singularity: volume_string = ' '.join([f'-B "{file}:/mnt/in_{i}:rw"' for i, file in enumerate(input_paths)]) - external_command = f"{singularity_cmd} exec {volume_string}" + external_command = f"{singularity_cmd} exec {volume_string} " if output_directory is not None: - external_command += f' -B "{output_directory}:/mnt/out:rw" ' + external_command += f'-B "{output_directory}:/mnt/out:rw" ' external_command += "docker://" else: volume_string = ' '.join([f'-v "{file}:/mnt/in_{i}:rw{docker_selinux_flag}"' for i, file in enumerate(input_paths)]) - external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string}" + external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string} " if output_directory is not None: - external_command += f' -v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' + external_command += f'-v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' argument_string = ' '.join(map(lambda a: f'"{a}"', map(lambda b: b.replace('"', '\\"'), arguments))) diff --git a/run/calculate_scores.py b/run/calculate_scores.py index 9ae5e6487..0eed87e84 100755 --- a/run/calculate_scores.py +++ b/run/calculate_scores.py @@ -113,19 +113,19 @@ if use_singularity: volume_string = ' '.join([f'-B "{file}:/mnt/in_{i}:rw"' for i, file in enumerate(input_paths)]) - external_command = f"{singularity_cmd} exec {volume_string}" + external_command = f"{singularity_cmd} exec {volume_string} " if output_directory is not None: - external_command += f' -B "{output_directory}:/mnt/out:rw" ' + external_command += f'-B "{output_directory}:/mnt/out:rw" ' external_command += "docker://" else: volume_string = ' '.join([f'-v "{file}:/mnt/in_{i}:rw{docker_selinux_flag}"' for i, file in enumerate(input_paths)]) - external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string}" + external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string} " if output_directory is not None: - external_command += f' -v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' + external_command += f'-v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' argument_string = ' '.join(map(lambda a: f'"{a}"', map(lambda b: b.replace('"', '\\"'), arguments))) diff --git a/run/convert_to_binary.py b/run/convert_to_binary.py index 665fe55b3..91e98d4ea 100755 --- a/run/convert_to_binary.py +++ b/run/convert_to_binary.py @@ -92,19 +92,19 @@ if use_singularity: volume_string = ' '.join([f'-B "{file}:/mnt/in_{i}:rw"' for i, file in enumerate(input_paths)]) - external_command = f"{singularity_cmd} exec {volume_string}" + external_command = f"{singularity_cmd} exec {volume_string} " if output_directory is not None: - external_command += f' -B "{output_directory}:/mnt/out:rw" ' + external_command += f'-B "{output_directory}:/mnt/out:rw" ' external_command += "docker://" else: volume_string = ' '.join([f'-v "{file}:/mnt/in_{i}:rw{docker_selinux_flag}"' for i, file in enumerate(input_paths)]) - external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string}" + external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string} " if output_directory is not None: - external_command += f' -v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' + external_command += f'-v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' argument_string = ' '.join(map(lambda a: f'"{a}"', map(lambda b: b.replace('"', '\\"'), arguments))) diff --git a/run/epiJSON.py b/run/epiJSON.py index 047e567a3..7898f4623 100755 --- a/run/epiJSON.py +++ b/run/epiJSON.py @@ -105,19 +105,19 @@ if use_singularity: volume_string = ' '.join([f'-B "{file}:/mnt/in_{i}:rw"' for i, file in enumerate(input_paths)]) - external_command = f"{singularity_cmd} exec {volume_string}" + external_command = f"{singularity_cmd} exec {volume_string} " if output_directory is not None: - external_command += f' -B "{output_directory}:/mnt/out:rw" ' + external_command += f'-B "{output_directory}:/mnt/out:rw" ' external_command += "docker://" else: volume_string = ' '.join([f'-v "{file}:/mnt/in_{i}:rw{docker_selinux_flag}"' for i, file in enumerate(input_paths)]) - external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string}" + external_command = f"docker run --user='{os.getuid()}':'{os.getgid()}' {volume_string} " if output_directory is not None: - external_command += f' -v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' + external_command += f'-v "{output_directory}:/mnt/out:rw{docker_selinux_flag}" ' argument_string = ' '.join(map(lambda a: f'"{a}"', map(lambda b: b.replace('"', '\\"'), arguments)))