A new request to upload a dataset to nf-core AWS S...
# request-core
t
A new request to upload a dataset to nf-core AWS S3 bucket has been made! • Requested by: @Niklas Schandry • Pipeline name: genomeassembler • Why is this needed?: This is HiC test data for genomeassembler • Size of the dataset: 5,749.57 MB for _1 and 6,069.85 MB for _2 • URL: GSA browers: https://ngdc.cncb.ac.cn/gsa/browse/CRA004538/CRR302669 Direct file (https) https://download.cncb.ac.cn/gsa/CRA004538/CRR302669/CRR302669_f1.fastq.gz https://download.cncb.ac.cn/gsa/CRA004538/CRR302669/CRR302669_r2.fastq.gz • Related files: Core team will add this dataset to the nf-core bucket. Please react to the message with ✅ when this is done. [This process is not automated]
✅ 1
p
Hi @Niklas Schandry - is this needed, or can the tests pull directly from those locations?
I think this is perhaps not super clear in the docs etc, but we prefer not to host test data if we can avoid it (the egress fees cost us AWS credits)
So if it works with direct pulls from those locations in the Nextflow config file, that's ideal
Then we only host on our s3 as a last resort if flaky tests etc. become too problematic
n
This is what i tried
I could try via ftp, if that is somehow more reliable, I have 0 experience with this read archive
p
yeah, ftp might be better
n
I will give it a try
p
merged
🙌 1
n
I guess in case this comes up again, it seems that ftp for cncb.ac.cn is more reliable
Addendum: It appears like foreign files that are staged are not cached, so AWS tests that stage foreign files as inputs do not resume properly
p
I don't think that can be right. That would mean that basically no nf-core pipelines ever resume
n
The tasks where the inputs were already on s3 are fine, the task that has a foreign input does not resume
FASTP_HIC
is receiving the foreign input and pulls it again,
FASTP
and
FASTPLONG
have s3 inputs and cache
p
I have a new feature for Platform in development at the moment which would be perfect for this: it takes a task hash components and gives you a diff against any other task (eg. one you expected it to resume from)
(but it's not live yet)
n
To me the giveaway is `Staging foreign file: ftp://download.big.ac.cn/gsa/CRA004538/CRR302669/CRR302669_f1.fastq.gz`in the resumed run log
p
Sure, but that'll happen if the task is not cached. It doesn't necessarily mean that the task was not cached because of the file staging.
🤔 1
I think Seqera AI found it
issue and PR incoming (in a meeting now)
🙌 1
haha, fail facepalm
💰 1
and includes a suggested fix
lmk if you want me to spin up a PR
n
I see, that makes sense. So files that are not inputs are not staged, is there a way around that?
p
is there a reason not to stage them?
n
I am not even sure if I would see that in local tests, since in our hpc, all nodes see scratch, where work is, and can probably resolve the path fine
p
That's generally best practice, to treat the work dir as a little encapsulated bubble. Everything going in and out is then tracked.
n
Mainly that I kind of like what I am doing now and patching the module is annoying 😉
p
I suspect that what you're doing now works fine on HPC and local, but will break on any and every cloud / object storage
Which is kind of why we have these aws tests 🙂
n
I need to have a think if declaring those as inputs fundamentally breaks my general approach for that
probably not though
p
Without having really looked much, I assume that they are similar to reference genome inputs used in other pipelines?
So should be plenty of precedent
n
Yeah should be ok
p
uff, it's the quast module?
n
Yup
its the same change many times to configs, and basically making quast take the two things that i passed via configs as inputs
p
That module is in several other pipelines, are they not affected in the same way?
n
Only if they do the same weird thing I did 😄
Maybe other pipelines let quast handle the alignments, idk, I prepare them since I run quast several times, so I can reuse the ref-alignment
p
Fair enough 👍🏻 Ideal situation is to have it in the module as an optional input in this case I think
n
I think for tools like Quast, which offer a ton of optional inputs (14 optional paths?), providing a minimal set of inputs and patching at the pipeline level as required is more pragmatic.
p
Fair enough 👍🏻