I’m going in circles, so I wish to summon the :rub...
# rubber-duck
s
I’m going in circles, so I wish to summon the rubber duck! In methylseq, Bismark generates the reference index from the FASTA file if one is not provided. When
params.fasta
is set via the config (like in
test.config
, pulled from test-datasets)
BISMARK_ALIGN
is able to find the
genome.fa
files, and it works as expected:
Copy code
lrwxrwxrwx 1 gitpod gitpod 112 Oct 3 09:10 genome.fa -> /workspace/methylseq/work/stage-5bb8a185-99f1-4ef1-8483-b3b1b5e9d899/f8/feea95df595ec597193ef59e555b56/genome.fa
However, if
params.fasta
is set via the CLI (downloaded local copy),
BISMARK_ALIGN
complains that it can’t find the
genome.fa
file:
Copy code
lrwxrwxrwx 1 gitpod gitpod  30 Oct 3 09:12 genome.fa -> /workspace/methylseq/genome.fa
I tested Bismark locally with both work directories, and Bismark doesn’t have any issues in that environment. Something about the Nextflow logic is causing Bismark to think the symlinked file is missing. Hey rubber duck, why is that?
m
curent dev?
s
yup
FYI - setting the stageInMode to copy works...then bismark doesn't complain https://nfcore.slack.com/archives/CP3RJSMF0/p1727886175858689?thread_ts=1727784162.662049&cid=CP3RJSMF0
🀯 1
m
do you see the same file if you do a view on the fasta channel?
s
what do you mean by same file ? I have dump tags added that can be seen with
-dump-channels
m
I meant correct file, sorry
s
i did a diff of the file downloaded by nextflow for staging and the one i provide locally....no diff
m
ok
that's a fun bug
confused travolta 1
give me five to finish fixing another one, and I'm on it
babyyoda 1
nextflow run . profile test,docker --outdir
and the same command with fasta from a local path?
s
yup
m
ok so managed to reproduce
this is from a successful run:
Copy code
ls -lh work/3a/beb80c045664c65edded8ec661db9f/BismarkIndex/genome.fa
lrwxrwxrwx 1 max max 121 Oct  3 16:45 work/3a/beb80c045664c65edded8ec661db9f/BismarkIndex/genome.fa -> /home/max/workspace/methylseq/work/stage-cbce4bf6-570f-4892-a970-a0331e256283/ec/96d70fa57743bbf529718869c43adf/genome.fa
I have similar conclusions to you
s
how is nextflow staging a file diff from a local copy ?
m
I assume the file is local, so just making a symlink to it is enough, so no staging
but how come this:
Copy code
ls -lh /home/max/workspace/methylseq/work/59/bda5c1e6b43654736f56c832f647af/BismarkIndex
total 8,0K
drwxr-xr-x 4 max max 4,0K Oct  3 16:45 Bisulfite_Genome
lrwxrwxrwx 1 max max  121 Oct  3 16:45 genome.fa -> /home/max/workspace/methylseq/work/stage-cbce4bf6-570f-4892-a970-a0331e256283/ec/96d70fa57743bbf529718869c43adf/genome.fa
is different than:
Copy code
ls -lh /home/max/workspace/methylseq/work/2c/dc70a2a289d5b3bc5be9ebe427666a/BismarkIndex
total 4,0K
drwxr-xr-x 4 max max 4,0K Oct  3 16:37 Bisulfite_Genome
lrwxrwxrwx 1 max max   39 Oct  3 16:37 genome.fa -> /home/max/workspace/methylseq/genome.fa
s
> I assume the file is local, so just making a symlink to it is enough, so no staging ya so what does staging do to the file that its seen by nextflow and not the symlink to local copy ?
m
I see the same amount of symlink
s
also not sure if this is a bismark issue....as if you see the `.command.log`s the paths are all correct
m
I tried
Copy code
nextflow run . -profile test,docker --outdir results --fasta /home/max/workspace/methylseq/work/stage-cbce4bf6-570f-4892-a970-a0331e256283/ec/96d70fa57743bbf529718869c43adf/genome
.fa
can you try a similar command?
just want to see I'm not going crazy either
s
with absolute path u mean ?
this 1
yup doesn't work either
m
and absolute path from a fasta that was staged
s
trying
staged copy works
Copy code
nextflow run . -profile test,docker --outdir results --fasta /workspace/methylseq/work/stage-21f21e94-fe28-4b3d-bfe6-71a31d2ff9cb/3c/1f065fedf8bcce6cdb6f92f0b13148/genome.fa

Completed at: 03-Oct-2024 15:23:53
Duration    : 1m 33s
CPU hours   : (a few seconds)
Succeeded   : 13
Ignored     : 1
Failed      : 1
fails with absolute path
Copy code
nextflow run . -profile test,docker --outdir results --fasta /workspace/methylseq/genome.fa

  Now reading in and storing sequence information of the genome specified in: /workspace/methylseq/work/4d/83eee480c8e29bebdf8ed613549761/BismarkIndex/
  
  Failed to read from sequence file genome.fa No such file or directory
confusing
m
sorry if I managed to add confusion
I guess you were expecting for either less confusion or at least the confusion to keep the same level, not for it to rise
s
no it makes sense
πŸŽ‰ 1
im thinking something abt permissions with staging....but i tried
chmod 644 genome.fa
too....didn't work
m
I don't see any weird stuff in the .command.run
Copy code
328   β”‚ nxf_stage() {
 329   β”‚     true
 330   β”‚     # stage input files
 331   β”‚     rm -f BismarkIndex/genome.fa
 332   β”‚     mkdir -p BismarkIndex && ln -s /home/max/workspace/methylseq/genome.fa BismarkIndex/genome.fa
 333   β”‚ }
Copy code
328   β”‚ nxf_stage() {
 329   β”‚     true
 330   β”‚     # stage input files
 331   β”‚     rm -f BismarkIndex/genome.fa
 332   β”‚     mkdir -p BismarkIndex && ln -s /home/max/workspace/methylseq/work/stage-cbce4bf6-570f-4892-a970-a0331e256283/ec/96d70fa57743bbf529718869c43adf/genome.fa BismarkIndex/genome.fa
 333   β”‚ }
s
any suggestions on how to resolve this @Maxime Garcia @Phil Ewels
m
I don't understand why the full path to a stage fasta is working, but the full path to a local fasta is not.
I did even try to copy the staged fasta where my local fasta was, and it fails, nothing weird was done on the file
I'm puzzled by this one
nod 1
s
m thinking should I ask in nextflow slack probably Ben or Rob ?
m
Yeah, that sounds like a good idea
πŸ‘ 1
s
hi @Rob Syme @Ben Sherman sorry to have added you to this channel without notice but, welcome to the nf core rubber duck channel We were wondering if you could help shed some light on some puzzling nextflow behavior...its this thread but I will summarize: β€’ When
params.fasta
is set via the config (as in
test.config
, pulled from test-datasets),
BISMARK_ALIGN
is able to locate the
genome.fa
file, and it works as expected:
Copy code
lrwxrwxrwx 1 gitpod gitpod 112 Oct 3 09:10 genome.fa -> /workspace/methylseq/work/stage-5bb8a185-99f1-4ef1-8483-b3b1b5e9d899/f8/feea95df595ec597193ef59e555b56/genome.fa
β€’ However, if
params.fasta
is set via the CLI (using a downloaded local copy),
BISMARK_ALIGN
throws an error, stating it can’t find the
genome.fa
file:
Copy code
lrwxrwxrwx 1 gitpod gitpod 30 Oct 3 09:12 genome.fa -> /workspace/methylseq/genome.fa
β€’ Setting process.stageInMode to copy works. β€’ Using the staged version of the file also works. So, essentially, we would like to know:
is there something specific that Nextflow does during staging that allows it to work, as opposed to simply downloading and using a local copy of the file?
b
when the input file is remote, it is staged into the work directory as shown a above. if it's local then it should just be symlinked into the task directory so if it says it can't find the file but the symlink is there, could be a gitpod issue
m
I have the same issue locally (not on gitpod)
b
does the symlink work if you use it manually?
like try to cat the
genome.fa
symlink
r
Maybe it's a container mounting issue?
this 1
The run's
workDir
is included in the list of container mounts by default. Any remote files get copied into
$workDir/stage-foo-bar-baz/lo/nghashdigest/genome.fa
which is a subdir of
workDir
so it will be available without issue. If you symlink in a local
/workspace/methylseq/genome.fa
from , you may need to
process.containerOptions = '--volume /workspace/methylseq'
πŸ‘ 1
m
Oh I see
p
This would be the case for any pipeline using any local reference files though, right? Why is this not breaking all over the place?
this 1
m
bismark is weird
r
Hmm. You're right. Nextflow is being more intelligent than I thought. Given a dummy workflow
Copy code
params.input = "data/foo.txt"

workflow {
    Channel.fromPath(params.input) | Example
}

process Example {
    debug true
    input: path(input)
    script: "head $input"
}
Using the default
input
parameter, the
.command.run
docker run command mounts the grandparent directory of
foo.txt
Copy code
-v /Users/robsyme/dev/scratch/20241004_symlink_local_files_in_container:/Users/robsyme/dev/scratch/20241004_symlink_local_files_in_container
If I change to
--input /Users/robsyme/tmpdata/data/foo.txt
, Nextflow mounts the great-grandparent directory of
foo.txt
Copy code
-v /Users/robsyme:/Users/robsyme
Either way, Nextflow doesn't need any extra
containerOptions
to do the right thing. Sateesh or Maxime - are your local
genome.fa
references on the same filesytem? I know that symlinks don't work across heterogenous filesystems.
s
i downloaded my
genome.fa
to gitpod so, yes same fs
r
πŸ˜•
Does the
.command.run
file include the mounts you expect?
s
to reproduce: open methylseq dev in gitpod remote-file:
Copy code
nextflow run . -profile test,docker --outdir results
local-file:
Copy code
wget <https://github.com/nf-core/test-datasets/raw/methylseq/reference/genome.fa>
nextflow run . -profile test,docker --outdir results --fasta genome.fa
checking mounts now
m
yeah, just a normal thinkpad laptop with ubuntu mint
r
Testing it myself in Gitpod...
Aaah
I see
I have to go to a meeting in 2 mins, but it's because the input to the task is a directory, and that directory contains a symlink to the local file. Nextflow doesn't about the nested symlink, so it doesn't know to add its parent to the list of mounts.
m
ooh, I see
which is why it's working when you use the file that is already staged
nice one
r
The task workdir looks like:
Copy code
BismarkIndex
β”œβ”€β”€ Bisulfite_Genome
β”‚   β”œβ”€β”€ CT_conversion
β”‚   β”‚   β”œβ”€β”€ BS_CT.1.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.2.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.3.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.4.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.rev.1.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.rev.2.bt2
β”‚   β”‚   └── genome_mfa.CT_conversion.fa
β”‚   └── GA_conversion
β”‚       β”œβ”€β”€ BS_GA.1.bt2
β”‚       β”œβ”€β”€ BS_GA.2.bt2
β”‚       β”œβ”€β”€ BS_GA.3.bt2
β”‚       β”œβ”€β”€ BS_GA.4.bt2
β”‚       β”œβ”€β”€ BS_GA.rev.1.bt2
β”‚       β”œβ”€β”€ BS_GA.rev.2.bt2
β”‚       └── genome_mfa.GA_conversion.fa
└── genome.fa -> /workspace/methylseq/genome.fa
Great question, @Sateesh_Peri! I haven't seen this one before.
s
aaaah i thought abt this earlier but, brushed it aside facepalm
makes sense
m
So I guess we need to patch the bismarkindex process so that it include only the index, and pass in the fasta to the bismarkalign process
r
Maybe we should avoid "carrying forward" task inputs like this.
this 1
s
agree...will try providing fasta separately
πŸ™ 1
will update back if it fixes
r
It is very convenient, though... I'll need to think about it a bit. thinker
b
I tend to discourage directory inputs/outputs because they have edge cases like this. although I recognize that it is more convenient when starting out I've been thinking we could represent these directories quite nicely as a record type:
Copy code
record BismarkIndex {
  Path genome
  // ...
}
and you could have nested record types within that. then you pass the record type into a process and it can see from the record type all of the relevant files and handle them properly
πŸ‘Œ 3
☝️ 1
bcoz many nf-core pipeline processes use directory I/O 🫣
this 1
b
maybe you guys can help me concretize this idea. how would you model this bismark directory with record types? here is my naive sketch based on the filenames:
Copy code
record BismarkIndex {
  BisulfiteGenome genome
  Path fa
}

record BisulfiteGenome {
  ConversionThingy ct_conversion
  ConversionThingy ga_conversion
}

record ConversionThingy {
  List<Path> bt2
  Path fa
}
I have no idea what any of these parts mean, but I think I've captured the basic structure. Maybe one of you can come up with something more specific and meaningful
s
for a task workdir like:
Copy code
BismarkIndex
β”œβ”€β”€ Bisulfite_Genome
β”‚   β”œβ”€β”€ CT_conversion
β”‚   β”‚   β”œβ”€β”€ BS_CT.1.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.2.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.3.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.4.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.rev.1.bt2
β”‚   β”‚   β”œβ”€β”€ BS_CT.rev.2.bt2
β”‚   β”‚   └── genome_mfa.CT_conversion.fa
β”‚   └── GA_conversion
β”‚       β”œβ”€β”€ BS_GA.1.bt2
β”‚       β”œβ”€β”€ BS_GA.2.bt2
β”‚       β”œβ”€β”€ BS_GA.3.bt2
β”‚       β”œβ”€β”€ BS_GA.4.bt2
β”‚       β”œβ”€β”€ BS_GA.rev.1.bt2
β”‚       β”œβ”€β”€ BS_GA.rev.2.bt2
β”‚       └── genome_mfa.GA_conversion.fa
└── genome.fa -> /workspace/methylseq/genome.fa
something like this
Copy code
record BismarkIndex {
    Path genome
    BisulfiteGenome bisulfite_genome
}

record BisulfiteGenome {
    CTConversion ct_conversion
    GAConversion ga_conversion
}

record CTConversion {
    Path bt2_1
    Path bt2_2
    Path bt2_3
    Path bt2_4
    Path bt2_rev_1
    Path bt2_rev_2
    Path genome_mfa_ct_conversion_fa
}

record GAConversion {
    Path bt2_1
    Path bt2_2
    Path bt2_3
    Path bt2_4
    Path bt2_rev_1
    Path bt2_rev_2
    Path genome_mfa_ga_conversion_fa
}
r
One potential challenge is that not all task outputs will have a known number of files. Ben, do you anticipate we'd be able to handle collections?
Copy code
record GAConversion {
    Path[] btfiles
    Path genome_mfa_ga_conversion_fa
}
πŸ€” 1
b
indeed, that is why I did
List<Path> bt2
because I didn't know if there are always four files + 2 rev files or if it's variable. but you can do either one, enumerate them as individual fields or have a collection
πŸ‘ 2
@Sateesh_Peri do you need the different records for the ct/ga conversions? they have the same structure. either way is valid, just curious what your rationale was
s
ya ur right they have the same structure and its not variable so a single record will do
Copy code
record BismarkIndex {
    Path genome
    BisulfiteGenome bisulfite_genome
}

record BisulfiteGenome {
    Conversion ct_conversion
    Conversion ga_conversion
}

record Conversion {
    List<Path> bt2
    Path genome_mfa_conversion_fa
}
j
Just FYI I've come across the exact same problem with a module for kraken2-build, it requires a directory input because it needs to take a directory output from an upstream command/module
kraken2-add
. I've not had a chance to test the stageAs: copy workaround, but reading the discussion it sounds almost like the exact behaviour as @Sateesh_Peri has. I'm not familiar with the record types yet so I can't say if that would help, but I do know the kraken2 database directory is a) quite complicated and very variable in the number of files it may have in there (and iirc with naming), so if this solution requires prior definition/specification of every object in the directory coming through a channel, this might be very difficult
b
I would love to see an example to test out my theory. With enums / records / collections you should be able to model just about any directory structure, but it might be overkill in some cases
πŸ‘ 1
j
But also a bit surprised this is coming up now, metagenomics tools use directories all over the place πŸ˜…
I can try and make a minimal example tomorrow or next week with the K2 module, or actually the existing subworkflow I think I made for it will work if you just change one of the files from a url to an 'external' path
b
I only need a directory listing, but feel free to make it... maximal... to test the limits of the record syntax
πŸ‘ 1
j
$ tree
Copy code
.
β”œβ”€β”€ accmap_file.tmp
β”œβ”€β”€ library
β”‚   └── added
β”‚       β”œβ”€β”€ dfArnMPK6W.fna
β”‚       β”œβ”€β”€ dfArnMPK6W.fna.masked
β”‚       β”œβ”€β”€ prelim_map_LPFBAbnMNN.txt
β”‚       └── prelim_map.txt
β”œβ”€β”€ seqid2taxid_acc.tmp
β”œβ”€β”€ seqid2taxid.map.tmp
└── taxonomy
    β”œβ”€β”€ names.dmp -> /home/james/git/nf-core/createtaxdb/tutorial/names_reduced.dmp
    β”œβ”€β”€ nodes.dmp -> /home/james/git/nf-core/createtaxdb/tutorial/nodes_reduced.dmp
    β”œβ”€β”€ nucl_gb.accession2taxid -> /home/james/git/nf-core/createtaxdb/tutorial/nucl_gb.accession2taxid
    └── prelim_map.txt
This is a very simply example, but basically the
<randomhash.fna>
corresponds to different input genomes into building the database, the more genomes there are (normally hundreds of thousands), the more random hash files
The files that the docker/singulariy image couldn't access was the names.dmp, nodes.dmp, and nucl_gb.accession2taxid
(for reference)
s
Copy code
record Root {
    Path accmap_file_tmp
    Library library
    Path seqid2taxid_acc_tmp
    Path seqid2taxid_map_tmp
    Taxonomy taxonomy
}

record Library {
    Added added
}

record Added {
    Path dfArnMPK6W_fna
    Path dfArnMPK6W_fna_masked
    Path prelim_map_LPFBAbnMNN_txt
    Path prelim_map_txt
}

record Taxonomy {
    Path names_dmp
    Path nodes_dmp
    Path nucl_gb_accession2taxid
    Path prelim_map_txt
}
correct Ben ?
j
But do I have define everything in
Added
?
Because the issue is they are random hashes
s
i don't think u need to define
πŸ€” 1
actually what do you mean by define here ?
j
(and would this work already? Again: I basically know 0 how to use records or exactly what they are, just half listened to the podcast making them sound very useful... but this issue is big problem for me so if it's a solution I could implement next week that would be great 😬 )
I thoguht records was like typing...?
s
I will let @Ben Sherman answer this 😬
basically each record is a directory
m
So I'm going in this #C073GFZ68PR again as well
cc @Adam Talbot
j
Why is this coming up now though?!
s
bcoz methylseq decided it was time πŸ˜›
b
The files that the docker/singulariy image couldn't access was the names.dmp, nodes.dmp, and nucl_gb.accession2taxid
I'm guessing it's because they are symlinks into directories that are not mounted into the container. And no I don't know why it only started breaking recently 🀷
😒 1
For the
added
directory I assume you wouldn't hard-code the hashes in the record type. It depends on the "arity" of a file: (1) is it required or optional? (2) is there only one or can there be many? same for the
added
directory itself, is it always present or can there be other directories? and so on it's not supported yet but I'm in the process of designing the syntax. eventually I would write some best practices on how to model directory structures with records and collections
πŸ‘ 2
it will very likely be introduced as part of static types
πŸ‘ 2
a
I literally brought up a record type in my meeting with @Maxime Garcia earlier. I'm glad I'm on the right wavelength!
nextflow pet 1
m
anyhow, I have an improvment on bismark/genomepreparation: https://github.com/nf-core/modules/pull/6807
For bismark align, I'm just trying to put my 2 inputs in the same stageAs/name folder at the same level. My fasta in
BismarkIndex/
, and my index which is already
BismarkIndex/
And I know this is exactly what @Sateesh_Peri struggle with already for a while. So any smart idea @Ben Sherman here?
b
I think you will have to declare each input file that is a symlink so that it is mounted correctly
m
So in BismarckIndex, I have two folders that contains multiple files...
And the fasta needs to sit in this BismarckIndex folder
🫠
j
I really want to understand why this is an issue now 😭. I wonder if there is an option in docker/singularity to 'follow symlinks' to follow those too or something
s
and I would like to know why cloud/fusion is having issues with the
mv
fasta workaround I have for this, like why is using
mv
a bad idea ?
a
So little Neo, I’m going to tell you a secret. There is no
mv
.
🀣 3
In general, moving a file is just renaming the pointer to the storage. On cloud storage (and some local storage) you’re just copying the file then deleting the old one. Never hit the filesystem unless you have to.
βœ… 3
s
there is no spoon
a
On a fuse based system like Fusion or gcsfuse this can cause problems as stuff gets out of sync.
βœ… 1
s
folks this is becoming a blocker for me to release methylseq. I would appreciate all the help to find a fix for this problem asap
p
@Sateesh_Peri - just re-read the thread. Record types seem good going forward, but I'd like to identify if there has been a breaking change in Nextflow's behaviour.
If you're able to, could you create a minimal example (like @Rob Syme 's above maybe?) and run it across a range of Nextflow versions?
πŸ‘€ 1
Check if it did indeed use to work, as most of us seem to think is the case.
And if so, we can narrow down which version of Nextflow changed that and then hopefully figure out what the change was
Hopefully that'll help us to understand the issue and plot the most direct path to a fix / workaround so that we can get #CP3RJSMF0 released.
Once that's done we can revisit a longer term solution.
j
(FYI I just tried to see if I could do that with createtaxdb but because no release yet, don't have older working versions that e.g. still have checkmax etc - previous commits have different bugsπŸ˜… )
s
ya im trying to run an older commit of methylseq dev and getting
ERROR ~ Failed to load the meta schema
. lemme see if I can find another reproducible example
I found a reproducible commit for the issue and tried with
NXF_VER=23.10.0
and the issue persists. now trying with an even older version but,
Copy code
Failed requirement - Plugin nf-schema@2.1.1 requires Nextflow version >=23.10.0 (current 21.10.6)
any tips on how I can bypass this ?
a
Make a 2 step pipeline without nf-schema
rabbit hole 1
this 1
s
ok I couldn't think of a way to reproduce the setup of bismark index folder in time so, thought of modules which atleast reproduces the issue for me to test with diff NXF versions but, looks like i'm not able to go beyond 22.04.4 To reproduce: β€’ Open @Maxime Garcia’s PR trying to fix bismark in gitpod β€’
wget <https://raw.githubusercontent.com/nf-core/test-datasets/methylseq/reference/genome.fa>
β€’ first run the test with current NXF_VER=
24.04.4
Copy code
nf-test test /workspace/nf-core_modules/modules/nf-core/bismark/genomepreparation/tests/main.nf.test --profile docker --verbose
β€’ Then in the
main.nf.test
change the output to local file:
Copy code
file('$baseDir/genome.fasta', checkIfExists: true)
β€’ Run, the test and observe failure to find
genome.fa
Copy code
N E X T F L O W  ~  version 24.04.4
  Launching `/workspace/nf-core_modules/.nf-test-6a5e80b0f824a0ed737bdfd9876957b1.nf` [festering_engelbart] DSL2 - revision: f33aedfc4e
  ERROR ~ No such file or directory: /workspace/nf-core_modules/genome.fasta
Next, change NXF_VER
Copy code
export NXF_VER=23.04.4
same failure:
Copy code
N E X T F L O W  ~  version 23.04.4
  Launching `/workspace/nf-core_modules/.nf-test-6a5e80b0f824a0ed737bdfd9876957b1.nf` [friendly_hoover] DSL2 - revision: f33aedfc4e
  ERROR ~ No such file or directory: /workspace/nf-core_modules/genome.fasta
22.04.0
Copy code
N E X T F L O W  ~  version 22.04.4
  Launching `/workspace/nf-core_modules/.nf-test-6a5e80b0f824a0ed737bdfd9876957b1.nf` [desperate_bartik] DSL2 - revision: f33aedfc4e
  Nextflow stderr:
NXF_VER=20.04.1
Copy code
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
        at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)
        at org.codehaus.groovy.reflection.GroovyClassValueFactory.<clinit>(GroovyClassValueFactory.java:35)
m
😱
b
what's the rest of the error for 22.04?
s
nothing...thats was it
m
@Ben Sherman is that an acceptable solution for now: https://github.com/nf-core/modules/pull/6807
s
b
does it work?
s
yes
well we still yet to have see if there are issues running on cloud with fusion where we actually saw an issue with previous
mv
command
m
I'd say it's fairly similar to what we've been doing in FASTQC: https://github.com/nf-core/modules/blob/master/modules/nf-core/fastqc/main.nf#L37-L39