Use Nextflow file() and toUriString() for cloud storage compatibility#139
Conversation
|
|
Turning this to draft while I confirm that I can get this fix working on batch |
376edb0 to
6ffc9ca
Compare
|
So I am still running into issues getting this working on Seqera Platform with AWS Batch and the fusion file system. The file TEST1_1.xml exists on S3 in the work dir of the process it was generated in, but the exec block running on the head node can't access it because:
I think the solution is to move this out of exec into a script block as being planned in this comment on #120 #120 (comment) |
|
OK. I have a working solution while we wait on moving this out of exec. We needed to both use the Nextflow file() and us toUriString to preserve the S3 URI to the work directory bring in the XML file. This both passes local tests and gets through this step on Sage's Seqera Platfom with AWS Batch compute. |
|
We are moving away from |
|
@jmuhlich. Agree. I will need to keep the branch alive as without it I cannot test on our Seqera platform. We might choose to merge into dev for now, ahead of the dropping of |
|
OK, happy to merge now to ease your testing. The python rewrite should be done this week. |
Changes xmlPath input from val() to path() so Nextflow stages the file locally before processing.Uses Nextflow's file() function instead of Java's File class, and replace toString() with toUriString() to read XML content. This fixes "No such file or directory" errors when running on cloud platforms (AWS S3, Azure, GCS) via Seqera Platform.
Noted in review for PR #120
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).