From 88a29e015bd6f701a76b38341fa6ace4bff4166b Mon Sep 17 00:00:00 2001 From: Linda Xiang Date: Fri, 19 Aug 2022 13:34:04 -0400 Subject: [PATCH] update download-aspera version --- ega-download-wf/main.nf | 2 +- ega-download-wf/pkg.json | 2 +- ega-download-wf/tests/input/aspera.tsv | 1 + ega-download-wf/tests/input/pyega3.tsv | 2 +- ega-download-wf/tests/input/test_rg_3.bam | Bin 14911 -> 0 bytes .../tests/local-test-job-aspera.json | 9 +- .../tests/local-test-job-pyega.json | 7 +- .../download-aspera@0.1.2/.dockerignore | 5 + .../download-aspera@0.1.2/Dockerfile | 34 +++++++ .../download-aspera@0.1.2/README.md | 54 ++++++++++ .../download-aspera@0.1.2/main.nf | 92 ++++++++++++++++++ .../download-aspera@0.1.2/main.py | 92 ++++++++++++++++++ .../download-aspera@0.1.2/nextflow.config | 4 + .../download-aspera@0.1.2/pkg.json | 37 +++++++ .../download-aspera@0.1.2/wfpr_modules | 1 + 15 files changed, 327 insertions(+), 15 deletions(-) create mode 100644 ega-download-wf/tests/input/aspera.tsv delete mode 100644 ega-download-wf/tests/input/test_rg_3.bam create mode 100644 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/.dockerignore create mode 100644 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/Dockerfile create mode 100644 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/README.md create mode 100755 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.nf create mode 100755 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.py create mode 100644 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/nextflow.config create mode 100644 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/pkg.json create mode 120000 wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/wfpr_modules diff --git a/ega-download-wf/main.nf b/ega-download-wf/main.nf index 777b76e..0a8a8bc 100755 --- a/ega-download-wf/main.nf +++ b/ega-download-wf/main.nf @@ -49,7 +49,7 @@ params.pyega3_ega_user="" params.pyega3_ega_pass="" include { downloadPyega3 } from './wfpr_modules/github.com/icgc-argo/argo-data-submission/download-pyega3@0.1.3/main.nf' params([*:params, 'cleanup': false]) -include { downloadAspera } from './wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.1/main.nf' params([*:params, 'cleanup': false]) +include { downloadAspera } from './wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.nf' params([*:params, 'cleanup': false]) include { decryptAspera } from './wfpr_modules/github.com/icgc-argo/argo-data-submission/decrypt-aspera@0.1.1/main.nf' params([*:params, 'cleanup': false]) // please update workflow code as needed diff --git a/ega-download-wf/pkg.json b/ega-download-wf/pkg.json index 227085c..fd9d63a 100644 --- a/ega-download-wf/pkg.json +++ b/ega-download-wf/pkg.json @@ -12,7 +12,7 @@ "url": "https://github.com/icgc-argo/argo-data-submission.git" }, "dependencies": [ - "github.com/icgc-argo/argo-data-submission/download-aspera@0.1.1", + "github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2", "github.com/icgc-argo/argo-data-submission/download-pyega3@0.1.3", "github.com/icgc-argo/argo-data-submission/decrypt-aspera@0.1.1" ], diff --git a/ega-download-wf/tests/input/aspera.tsv b/ega-download-wf/tests/input/aspera.tsv new file mode 100644 index 0000000..961f35a --- /dev/null +++ b/ega-download-wf/tests/input/aspera.tsv @@ -0,0 +1 @@ +ega_file_id path \ No newline at end of file diff --git a/ega-download-wf/tests/input/pyega3.tsv b/ega-download-wf/tests/input/pyega3.tsv index 861925a..e4c889e 100644 --- a/ega-download-wf/tests/input/pyega3.tsv +++ b/ega-download-wf/tests/input/pyega3.tsv @@ -1,2 +1,2 @@ ega_file_id path -EGAF00001770106 EGAF00001770106.bam +EGAF00001770106 diff --git a/ega-download-wf/tests/input/test_rg_3.bam b/ega-download-wf/tests/input/test_rg_3.bam deleted file mode 100644 index ab8a214efe7215bf2a7425b627f79576a74457d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14911 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 xbk3Qv;> /etc/environment +USER ubuntu + +RUN cd /tmp &&\ + curl -sSL -o ibm-aspera-connect_4.1.3.93_linux.tar.gz --retry 10 https://d3gcli72yxqn2z.cloudfront.net/connect_latest/v4/bin/ibm-aspera-connect_4.1.3.93_linux.tar.gz &&\ + tar -zxvf ibm-aspera-connect_4.1.3.93_linux.tar.gz && \ + chmod 775 ibm-aspera-connect_4.1.3.93_linux.sh && \ + ./ibm-aspera-connect_4.1.3.93_linux.sh + +ENTRYPOINT ["/usr/bin/env"] + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/README.md b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/README.md new file mode 100644 index 0000000..6259821 --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/README.md @@ -0,0 +1,54 @@ +# Package download-aspera + +Wrapper for Aspera to download files + + +## Inputs + +See contents of `param-file` + + +## Outputs + +Supplied file to be downloaded + + +## Usage + +#### Contents of Param-file +``` +{ + "target_file" : "/aspera-test-dir-large/100MB", ### File to be download + "EGAF" : "EGAF000001", ### Associated EGAF id + "ASCP_SCP_HOST" : "demo.asperasoft.com", ### Host server address + "ASCP_SCP_USER" : "aspera", ### Host provided username + "ASPERA_SCP_PASS" : "demoaspera" ### Host provided password +} +``` + +#### Test run +`nextflow run checker.nf -params-file test-job-aspera.json` + +#### IRL run +``` +nextflow run ../main.nf -params-file test-job-aspera.json +``` + +### Run the package directly + +With inputs prepared, you should be able to run the package directly using the following command. +Please replace the params file with a real one (with all required parameters and input files). Example +params file(s) can be found in the `tests` folder. + +``` +nextflow run icgc-argo/argo-data-submission/download-aspera/main.nf -r download-aspera.v0.1.0 -params-file +``` + +### Import the package as a dependency + +To import this package into another package as a dependency, please follow these steps at the +importing package side: + +1. add this package's URI `github.com/icgc-argo/argo-data-submission/download-aspera@0.1.0` in the `dependencies` list of the `pkg.json` file +2. run `wfpm install` to install the dependency +3. add the `include` statement in the main Nextflow script to import the dependent package from this path: `./wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.0/main.nf` diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.nf b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.nf new file mode 100755 index 0000000..a3c39be --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.nf @@ -0,0 +1,92 @@ +#!/usr/bin/env nextflow + +/* + Copyright (C) 2022, icgc-argo + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + Authors: + Edmund Su + Linda Xiang +*/ + +/********************************************************************/ +/* this block is auto-generated based on info from pkg.json where */ +/* changes can be made if needed, do NOT modify this block manually */ +nextflow.enable.dsl = 2 +version = '0.1.2' + +container = [ + 'ghcr.io': 'ghcr.io/icgc-argo/argo-data-submission.download-aspera' +] +default_container_registry = 'ghcr.io' +/********************************************************************/ + + +// universal params go here +params.container_registry = "" +params.container_version = "" +params.container = "" + +params.cpus = 1 +params.mem = 1 // GB +params.publish_dir = "" // set to empty string will disable publishDir + + +// tool specific parmas go here, add / change as needed +params.target_file='' +params.ega_file_id='' +params.ascp_scp_host='' +params.ascp_scp_user='' +params.aspera_scp_pass='' + +process downloadAspera { + container "${params.container ?: container[params.container_registry ?: default_container_registry]}:${params.container_version ?: version}" + publishDir "${params.publish_dir}/${task.process.replaceAll(':', '_')}", mode: "copy", enabled: params.publish_dir ? true : false + errorStrategy 'terminate' + cpus params.cpus + memory "${params.mem} GB" + + input: // input, make update as needed + val target_file + val ega_file_id + val dependency + + output: // output, make update as needed + path "${ega_file_id}/${regexed_file_name}", emit: output_file + + script: + // add and initialize variables here as needed + regexed_file_name=target_file.replaceAll(/^.*\//,'') + """ + mkdir ${ega_file_id} + export ASCP_SCP_HOST=${params.ascp_scp_host} + export ASCP_SCP_USER=${params.ascp_scp_user} + export ASPERA_SCP_PASS=${params.aspera_scp_pass} + python3.6 /tools/main.py \\ + -f ${target_file} \\ + -o ${ega_file_id} \\ + > download.log 2>&1 + """ +} + +// this provides an entry point for this main script, so it can be run directly without clone the repo +// using this command: nextflow run ///.nf -r .v --params-file xxx +workflow { + downloadAspera( + params.target_file, + params.ega_file_id, + true + ) +} \ No newline at end of file diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.py b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.py new file mode 100755 index 0000000..96b9438 --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/main.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" + Copyright (C) 2022, icgc-argo + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + Authors: + Edmund Su +""" + +import os +import sys +import argparse +import subprocess +import errno +import shutil +import random +import string + + +def main(): + """ + Python implementation of tool: download-aspera + + This is auto-generated Python code, please update as needed! + """ + + parser = argparse.ArgumentParser(description='Download files from EGA aspera server') + parser.add_argument('-f', '--file_name', dest="file_name", help="EGA file name", required=True) + parser.add_argument('-o', '--output', dest='output', help="Output file folder", required=True) + results = parser.parse_args() + + file_list = randomword(60)+".txt" + + try: + try: + # Check if ASCP_EGA_HOST environment variable exists: ega host + os.environ['ASCP_SCP_HOST'] + + # Check if ASCP_EGA_USER environment variable exists: ega username + os.environ['ASCP_SCP_USER'] + + # Check if ASPERA_SCP_PASS environment variable exists: ascpera password + os.environ['ASPERA_SCP_PASS'] + except KeyError: + raise KeyError("Global Variable: ASCP_SCP_HOST, ASCP_SCP_USER and ASPERA_SCP_PASS must exist in the environment.") + + # Raise an error if the output file exists + if os.path.isfile(results.output+"/"+results.file_name): + raise ValueError("Output file already exists") + + # Write the file to be downloaded to the temporary file + with open(file_list, 'w') as f: + f.write(results.file_name) + f.write('\n') + + # Download process + result=subprocess.run(['/home/ubuntu/.aspera/connect/bin/ascp','-k','1','-QTl','100m','--file-list='+file_list,'--partial-file-suffix=PART','--ignore-host-key','--mode=recv','--host='+os.environ['ASCP_SCP_HOST'],'--user='+os.environ['ASCP_SCP_USER'],results.output]) + + if result.returncode==0: + subprocess.run("touch "+results.output+"/DOWNLOAD.SUCCESS",shell=True) + else: + subprocess.run("touch "+results.output+"/DOWNLOAD.FAILURE",shell=True) + + # Deletion of temporary elements + os.remove(file_list) + except Exception as err: + print(str(err)) + if os.path.isfile(file_list): + os.remove(file_list) + exit(1) + + + +def randomword(length): + return(''.join(random.choice(string.ascii_lowercase) for i in range(length))) + +if __name__ == "__main__": + main() diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/nextflow.config b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/nextflow.config new file mode 100644 index 0000000..f2cd1e3 --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/nextflow.config @@ -0,0 +1,4 @@ +docker { + enabled = true + runOptions = '-u \$(id -u):\$(id -g)' +} diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/pkg.json b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/pkg.json new file mode 100644 index 0000000..8074466 --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/pkg.json @@ -0,0 +1,37 @@ +{ + "name": "download-aspera", + "version": "0.1.2", + "description": "Wrapper to utilize Aspera for EGA downloads", + "main": "main.nf", + "deprecated": false, + "keywords": [ + "bioinformatics", + "seq", + "qc metrics" + ], + "repository": { + "type": "git", + "url": "https://github.com/icgc-argo/argo-data-submission.git" + }, + "container": { + "registries": [ + { + "registry": "ghcr.io", + "type": "docker", + "org": "icgc-argo", + "default": true + } + ] + }, + "dependencies": [], + "devDependencies": [], + "contributors": [ + { + "name": "Edmund Su", + "email": "edmund.su@oicr.on.ca" + } + ], + "license": "GNU Affero General Public License v3", + "bugReport": "https://github.com/icgc-argo/argo-data-submission/issues", + "homepage": "https://github.com/icgc-argo/argo-data-submission#readme" +} \ No newline at end of file diff --git a/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/wfpr_modules b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/wfpr_modules new file mode 120000 index 0000000..1cc74ba --- /dev/null +++ b/wfpr_modules/github.com/icgc-argo/argo-data-submission/download-aspera@0.1.2/wfpr_modules @@ -0,0 +1 @@ +../../../../../wfpr_modules \ No newline at end of file