Hey everyone! I'm dealing with a really annoying ...
# meta-omics
j
Hey everyone! I'm dealing with a really annoying problem within #C062H82UCRG , due to a incompatibility between the Kraken2 database structure vs Nextflow vs Containers. So - even though I recognise #C062H82UCRG is very new and maybe doesn't have many users (if any at the moment 😅), but I want to get the hive mind's opinion: Question How important would it be for a taxonomic classifier database building pipeline to make 'tar' archives of said databases for use in downstream applications, on a scale of 1-5 (5 being really important, 1 being would never use it). More background to the question in a thread if you're interested 👇
3️⃣ 1
5️⃣ 1
1️⃣ 2
4️⃣ 1
2️⃣ 2
Basically there is an issue with containers not being able to loading file symlinks within directory symlinks. And of course, this is how Nextflow passess objects between pipeline processes... While I've found some partial work arounds, I am now completely stuck when it gets to the part of #C062H82UCRG where I optionally generate
tar.gz
files. I'm getting increasingly down a horrible rabbit hole of hacks and workaround that I'm deeply unsatisfied with (very brittle/flaky etc), where I'm having to make a 'custom' tar module and a lot of nasty channel manipulation which basically isn't working very well. The original idea behind the functionality was to make it easier to upload the databases to remote locations that can be downloaded on the fly - but I'm coming to the realisation that I think that most people wouldn't actually do this and even if people are - these would normally be people stuff running in the cloud and thus would use S3 anyway, and in this case you wouldn't use a tar archive as the s3 protocol supports directories... So I'm now wondering if I should remove the tar.gz generation functioanltiy entirely.
j
Have you tried setting the stage in mode to “copy”? https://www.nextflow.io/docs/latest/reference/process.html#stageinmode
j
I could but I don't want to redundently copy potentially 100s of GB directory simply for tarring...
j
Just delete them at the end 🫢 they’re not required for resume afaik
j
Yeah I dunno.... It's like you have the original version, the copied version into the process and then the tarred archive. Let's say you build core nt, Ben langmead's is 315GB.... If you're building kraken/bracken only in a run that's almost 1TB HDD, and if you're building for other classifiers in a run that's insane
j
That’s true