James Fellows Yates
10/09/2025, 8:45 AMfind command pattern we have for picking up index files (find -L ./ -name "*.rev.1.bt2" | sed "s/\.rev.1.bt2$//"), fails, because apparently find cannot follow symlinks to the CIFS mounted NAS.
The very kindly did some upfront experimentation, and found out if they replace the pattern to use ls, it makes the process happy, in the sense that ls doesn't have an issue picking up the path (I guess as it takes the found file at face value).
INDEX=\$(ls -1 bowtie2/*.rev.1.bt2 2>/dev/null | sed 's/\\.rev\\.1\\.bt2\$//')
So question: does anyone see any drawback to switching the pattern to help support a WSL2/CIFS/NAS user? And if so, should we replace all the pattern across the at least 33 tools using it: https://github.com/search?q=repo%3Anf-core%2Fmodules%20%60find%20-L&type=codeMahesh Binzer-Panchal
10/09/2025, 8:49 AMbowtie2_dir.listFiles() ?James Fellows Yates
10/09/2025, 8:50 AMJim Downie
10/09/2025, 8:51 AMJames Fellows Yates
10/09/2025, 8:51 AMJames Fellows Yates
10/09/2025, 8:51 AMJim Downie
10/09/2025, 8:52 AMJames Fellows Yates
10/09/2025, 8:53 AMJames Fellows Yates
10/09/2025, 8:53 AMls)Mahesh Binzer-Panchal
10/09/2025, 9:04 AMJim Downie
10/09/2025, 9:11 AM[meta, /path/to/index/dir] or [meta, [index1.ext, index1.ext2]] into the module, and both should work because the find command just searches for a file with the correct extension - the module itself doesn't enforce any specific requirements on what you pass in as an index.
While our bwamem2/index outputs a directory containing an index, there's no guarantee a pipeline will follow that schema (maybe there's another module, for example, that outputs a list of files, or they're read in from user input), and the module is currently flexible enough to handle both. So we either need to enforce one input type, or handle both input types with Groovy?Mahesh Binzer-Panchal
10/09/2025, 9:23 AMJames Fellows Yates
10/09/2025, 9:29 AMtask.workDir ? 🤔James Fellows Yates
10/09/2025, 9:30 AMINDEX=${task.workDir.listFiles().findAll{it.name.endsWith(".rev.1.bt2")}.first().toString() - ".rev.1.bt2"} ?James Fellows Yates
10/09/2025, 9:31 AMls -1 method is much more concniseJames Fellows Yates
10/09/2025, 9:32 AMls though here?Jim Downie
10/09/2025, 9:33 AM.listFiles() follow links? Would you not just want to check the index channel in any case?
index_files = reference.isDirectory() ? reference.listFiles() : reference
index_input = index_files.findAll { ... }... blahJim Downie
10/09/2025, 9:33 AMWhat is the donwside of usingRelies on the predictability of UNIX systems working as expected, e.g. that someone doesn't have some strange version of ls installedthough here?ls
James Fellows Yates
10/09/2025, 9:37 AM$ ll
total 84K
drwxrwxr-x 4 james james 4.0K Oct 9 11:35 ./
drwxr-xr-x 18 james james 36K Oct 9 11:33 ../
-rw-rw-r-- 1 james james 0 Oct 9 11:33 one.pdf
-rw-rw-r-- 1 james james 0 Oct 9 11:33 one.rev.1.bt2
lrwxrwxrwx 1 james james 16 Oct 9 11:34 two.rev.2.bt2 -> ../two.rev.2.bt2
If I have thatJames Fellows Yates
10/09/2025, 9:37 AMindex=file("/home/james/Downloads/test")
index.listFiles()James Fellows Yates
10/09/2025, 9:38 AMResult: [/home/james/Downloads/test/.nextflow.pid, /home/james/Downloads/test/.nextflow-console.log, /home/james/Downloads/test/one.pdf, /home/james/Downloads/test/one.rev.1.bt2, /home/james/Downloads/test/.nextflow, /home/james/Downloads/test/two.rev.2.bt2, /home/james/Downloads/test/work]James Fellows Yates
10/09/2025, 9:39 AMindex=file("/home/james/Downloads/test")
index.listFiles().findAll{it.name.endsWith(".rev.1.bt2")}.first().toString() - ".rev.1.bt2"
Result: '/home/james/Downloads/test/one'James Fellows Yates
10/09/2025, 9:39 AMJim Downie
10/09/2025, 9:41 AMfind instead of findAll? Then you just get the first result and can drop the .first() (if there are two results you have other problems)
index.listFiles().find { it.name.endsWith(".rev.1.bt2") }.toString() - ".rev.1.bt2"James Fellows Yates
10/09/2025, 9:41 AMindex.listFiles().find{it.name.endsWith(".rev.2.bt2")}.toString() - ".rev.2.bt2"James Fellows Yates
10/09/2025, 9:42 AMResult: '/home/james/Downloads/test/two'
Ok that works!James Fellows Yates
10/09/2025, 9:43 AMJames Fellows Yates
10/09/2025, 9:45 AMJim Downie
10/09/2025, 9:46 AMJames Fellows Yates
10/09/2025, 9:47 AMindex is assuming you are given a specific directoryJim Downie
10/09/2025, 9:47 AMJames Fellows Yates
10/09/2025, 9:47 AMfind we need to have it execute the searcho n the entire work directoryJames Fellows Yates
10/09/2025, 9:47 AMJames Fellows Yates
10/09/2025, 9:47 AMJim Downie
10/09/2025, 9:47 AMJames Fellows Yates
10/09/2025, 9:47 AMJames Fellows Yates
10/09/2025, 9:47 AMJim Downie
10/09/2025, 9:48 AMindex = index.isDirectory() ? index.listFiles().find{it.name.endsWith(".rev.2.bt2")}.toString() - ".rev.2.bt2" : index.find{it.name.endsWith(".rev.2.bt2")}.toString() - ".rev.2.bt2"James Fellows Yates
10/09/2025, 9:49 AMJames Fellows Yates
10/09/2025, 9:49 AMJames Fellows Yates
10/09/2025, 9:50 AMINDEX=${task.workDir.listFiles().find { it.name.endsWith(".rev.1.bt2") }.toString() - ".rev.1.bt2"}
[ -z "\$INDEX" ] && INDEX=${task.workDir.listFiles().find { it.name.endsWith(".rev.1.bt2l") }.toString() - ".rev.1.bt2l"}
[ -z "\$INDEX" ] && echo "Bowtie2 index files not found" 1>&2 && exit 1James Fellows Yates
10/09/2025, 9:50 AMJames Fellows Yates
10/09/2025, 9:50 AMJim Downie
10/09/2025, 9:50 AMJames Fellows Yates
10/09/2025, 9:51 AMJim Downie
10/09/2025, 9:51 AMJames Fellows Yates
10/09/2025, 9:51 AMJim Downie
10/09/2025, 9:51 AMdef index = findy stuffJames Fellows Yates
10/09/2025, 9:52 AMJames Fellows Yates
10/09/2025, 10:04 AMJames Fellows Yates
10/09/2025, 10:04 AMtask.workDir
And your way gives me:
java.nio.file.ProviderMismatchException -- Check script '/home/james/git/nf-core/modules/modules/nf-core/bowtie2/align/main.nf' at line: 55James Fellows Yates
10/09/2025, 10:04 AMMahesh Binzer-Panchal
10/09/2025, 10:12 AMCould we useIs only set intask.workDir
exec: native processesJames Fellows Yates
10/09/2025, 11:04 AMMahesh Binzer-Panchal
10/09/2025, 11:40 AMtool_index = (index.isDirectory() ? index.listFiles() : index)
.find { it.name.endsWith(".rev.2.bt2") }
.toString() - ".rev.2.bt2"
Or would there be several levels of nesting expected too?
( and left out the null safe because we want to error if nothing is found )Jim Downie
10/09/2025, 11:50 AMJames Fellows Yates
10/09/2025, 11:56 AMJames Fellows Yates
10/09/2025, 11:56 AMMahesh Binzer-Panchal
10/09/2025, 12:09 PMProviderMismatchException, but I'm confused as to why that might be the case here now. Is process.scratch enabled?Mahesh Binzer-Panchal
10/09/2025, 12:41 PMfile(index.toString()) before the rest. Does that help?James Fellows Yates
10/09/2025, 12:55 PMJames Fellows Yates
10/09/2025, 12:55 PMdef index_prefix = (file(index.toString()).isDirectory() ? file(index.toString()).listFiles() : file(index)).find { it.name.endsWith(".rev.2.bt2") }.toString() - ".rev.2.bt2"
Is resulting in null directoryMahesh Binzer-Panchal
10/09/2025, 12:57 PMtoUriString()?James Fellows Yates
10/09/2025, 12:59 PMJames Fellows Yates
10/11/2025, 8:05 AMdef index_prefix = (file(index.toUriString()).isDirectory() ? file(index.toString()).listFiles() : file(index)).find { it.name.endsWith(".rev.2.bt2") }.toString() - ".rev.2.bt2"
gave me
java.lang.NullPointerException: Cannot invoke method getAt() on null objectMahesh Binzer-Panchal
10/13/2025, 7:09 AMMahesh Binzer-Panchal
10/13/2025, 7:12 AMJames Fellows Yates
10/13/2025, 7:15 AMJames Fellows Yates
10/13/2025, 7:25 AMindex in the bowtie2 align module, basically only println(index) works. Anything else I attach to it has different errors: either proderMismatch (listFiles), toString (null), file(index).listFiles() cannot invokle getAt() on null object...)James Fellows Yates
10/13/2025, 7:25 AMMahesh Binzer-Panchal
10/13/2025, 7:33 AMJames Fellows Yates
10/13/2025, 7:34 AM$ ll
total 72K
drwxrwxr-x 2 james james 4.0K Oct 13 09:33 ./
drwxrwxr-x 3 james james 4.0K Oct 13 09:33 ../
lrwxrwxrwx 1 james james 126 Oct 13 09:33 bowtie2 -> /home/james/git/nf-core/modules/.nf-test/tests/6efa8cd7f5a46a16a3241dcd8a20baf0/work/1f/b85cf476a31ba3d95ed1fd635da252/bowtie2/
-rw-rw-r-- 1 james james 0 Oct 13 09:33 .command.begin
-rw-rw-r-- 1 james james 192 Oct 13 09:33 .command.err
-rw-rw-r-- 1 james james 192 Oct 13 09:33 .command.log
-rw-rw-r-- 1 james james 0 Oct 13 09:33 .command.out
-rw-rw-r-- 1 james james 11K Oct 13 09:33 .command.run
-rw-rw-r-- 1 james james 915 Oct 13 09:33 .command.sh
-rw-r--r-- 1 james james 247 Oct 13 09:33 .command.trace
-rw-rw-r-- 1 james james 1 Oct 13 09:33 .exitcode
lrwxrwxrwx 1 james james 174 Oct 13 09:33 genome.fasta -> /home/james/git/nf-core/modules/.nf-test/tests/6efa8cd7f5a46a16a3241dcd8a20baf0/work/stage-3dec7adb-aeb6-4eb5-be19-64cc5ab020cb/ef/c9975362cd189f751b5e040df94213/genome.fasta
lrwxrwxrwx 1 james james 177 Oct 13 09:33 test_1.fastq.gz -> /home/james/git/nf-core/modules/.nf-test/tests/6efa8cd7f5a46a16a3241dcd8a20baf0/work/stage-3dec7adb-aeb6-4eb5-be19-64cc5ab020cb/99/726fdba56636dcf6836dc475e6cc68/test_1.fastq.gz
-rw-r--r-- 1 james james 9.9K Oct 13 09:33 test.bam
-rw-r--r-- 1 james james 192 Oct 13 09:33 test.bowtie2.log
-rw-r--r-- 1 james james 70 Oct 13 09:33 versions.yml
Absolute by the looks of itJames Fellows Yates
10/13/2025, 7:35 AMbowtie is the directory)James Fellows Yates
10/13/2025, 7:35 AMMahesh Binzer-Panchal
10/13/2025, 7:50 AMmfsylinks
sudo mount -t cifs -o vers=3.0,mfsymlinks,username=user,password=pass //nas_server/share_name /mnt/nas_mount_point
so one can use findMahesh Binzer-Panchal
10/13/2025, 7:50 AMcifs-utils is up to date.Samuel G. Huete
10/13/2025, 8:45 AMfind isn't working, it's not because of that. Thanks to everyone for all the effort in "finding" an alternative!James Fellows Yates
10/14/2025, 11:04 AMls -1 instead of find or the groovy method.
The ls -1 is straightforward in that it takes things at 'face value', in that it'll just list what we know is definitely present in the working directory - and it's up to the filesystem/nextflow to follow the link...
I know it's unsatisfying in that we don't know why groovy is not able to read the index channel as input, but I personally don't have time to deep dive into that 😕
What do you think @Jim Downie @Mahesh Binzer-Panchal?
I know @Jim Downie said
Relies on the predictability of UNIX systems working as expected, e.g. that someone doesn't have some strange version of ls installedBut ls should just 'list' whatever is present, it's one of the simplest unix commands (arguably)... and given we are working in containers in (most cases) we should be able to pick it up if it doesn't work in tests... as in, I think a 'strange' version of
ls is very unlikelyJames Fellows Yates
10/14/2025, 11:04 AMJim Downie
10/14/2025, 11:09 AMJim Downie
10/14/2025, 11:09 AMMahesh Binzer-Panchal
10/14/2025, 11:55 AMNot opposed, but we should try and figure out a better way to do this down the lineThis
Jim Downie
10/15/2025, 8:52 AM~/D/test 11.2s ❱ tree files/
files/
├── hello.a
├── hello.b
└── hello.c
process test {
input:
path dir
output:
val var
shell:
var = file(dir).listFiles().find { file(it).extension == "c" }
"""
echo $var
"""
}
workflow {
test(file("./files"))
test.out.view()
}
[de/cf07a0] Submitted process > test
/Users/jd42/Downloads/test/files/hello.c
> cat work/de/cf07a0b2734d52f16b9d15e1612879/.command.out
/Users/jd42/Downloads/test/files/hello.cJames Fellows Yates
10/15/2025, 9:17 AMdef index_prefix = file(index).listFiles().find { it.name.endsWith(".rev.2.bt2") }
"""
INDEX=${index_prefix}
But what you mentioned indeed tracks what I did in the nf-console tooJames Fellows Yates
10/15/2025, 9:17 AMjava.lang.NullPointerException: Cannot invoke method getAt() on null object
Is the errorJames Fellows Yates
10/15/2025, 9:19 AMJames Fellows Yates
10/15/2025, 9:20 AMdef index_prefix = index.listFiles()
println(index_prefix)
Then I get the providerMisMatch error
file(index).listFiles() just results in the Cannot invoke getAt()
So wtf the is index in the module then!?!?Mahesh Binzer-Panchal
10/15/2025, 9:30 AM.getProperties() to print out information on the objectJames Fellows Yates
10/15/2025, 9:35 AMJames Fellows Yates
10/15/2025, 9:35 AM> [target:/home/james/git/nf-core/modules/.nf-test/tests/6efa8cd7f5a46a16a3241dcd8a20baf0/work/57/115e8d49d959446ec7def40c75f1c8/bowtie2, alias:bowtie2, absolute:false, baseName:bowtie2, class:class nextflow.processor.TaskPath, extension:, fileName:bowtie2, fileSystem:sun.nio.fs.LinuxFileSystem@cb796ab, hidden:false, link:true, name:bowtie2, nameCount:1, parent:null, permissions:rwxr-xr-x, root:null, simpleName:bowtie2, uri:file:///home/james/git/nf-core/modules/.nf-test/tests/6efa8cd7f5a46a16a3241dcd8a20baf0/bowtie2]James Fellows Yates
10/15/2025, 9:36 AMJames Fellows Yates
10/15/2025, 9:36 AMMahesh Binzer-Panchal
10/15/2025, 9:37 AMMahesh Binzer-Panchal
10/15/2025, 9:38 AMJames Fellows Yates
10/15/2025, 9:38 AMMahesh Binzer-Panchal
10/15/2025, 9:39 AMJames Fellows Yates
10/15/2025, 9:40 AMpath class cannot be used with listFiles() or something/Mahesh Binzer-Panchal
10/15/2025, 9:42 AMJames Fellows Yates
10/15/2025, 9:48 AMJim Downie
10/15/2025, 9:53 AMSo something like, Nextflow process inputIt works in my example above...class cannot be used withpathor something/listFiles()
James Fellows Yates
10/15/2025, 9:56 AMJim Downie
10/15/2025, 10:02 AM[JLA:java.lang.System$2@7f41bfc, fs:sun.nio.fs.MacOSXFileSystem@268eba5c, path:[47, 85, 115, 101, 114, 115, 47, 106, 100, 52, 50, 47, 68, 111, 119, 110, 108, 111, 97, 100, 115, 47, 116, 101, 115, 116, 47, 98, 119, 97, 109, 101, 109, 50], stringValue:null, hash:0, offsets:[1, 7, 12, 22, 27], absolute:true, class:class sun.nio.fs.UnixPath, fileName:bwamem2, fileSystem:sun.nio.fs.MacOSXFileSystem@268eba5c, nameCount:5, parent:/Users/jd42/Downloads/test, root:/]Jim Downie
10/15/2025, 10:05 AMprocess BWAMEM2_INDEX {
tag "$fasta"
conda "bioconda::bwa-mem2=2.3"
input:
tuple val(meta), path(fasta)
output:
tuple val(meta), path("bwamem2"), emit: index
path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
script:
def prefix = task.ext.prefix ?: "${fasta}"
def args = task.ext.args ?: ''
"""
mkdir bwamem2
bwa-mem2 \\
index \\
$args \\
-p bwamem2/${prefix} \\
$fasta
cat <<-END_VERSIONS > versions.yml
"${task.process}":
bwamem2: \$(echo \$(bwa-mem2 version 2>&1) | sed 's/.* //')
END_VERSIONS
"""
}
process test {
input:
tuple val(meta), path(index)
output:
val var, emit: var
val props, emit: props
script:
var = file(index).listFiles().find { file(it).extension == "amb" }
props = file(index).getProperties()
"""
echo $var
"""
}
workflow {
BWAMEM2_INDEX([[id: "test"], file("./fasta.fasta")])
test(BWAMEM2_INDEX.out.index)
test.out.var.view()
//test.out.props.view()
}pontus
10/15/2025, 10:48 AM-L) isn't part of the problem.James Fellows Yates
10/15/2025, 10:59 AMJames Fellows Yates
10/15/2025, 11:00 AM-L)?Samuel G. Huete
10/16/2025, 9:16 AM-L . But why would the issue on NXF be necessary? It seems to me it is about the behaviour of the bowtie2 module, the rest of the pipeline appears working fine for meJames Fellows Yates
10/16/2025, 9:20 AMfind is working for everyone else in many other computational contexts, and also in other modules (the find pattern is used in bwa, minimap, and a bunch of others).James Fellows Yates
10/16/2025, 9:20 AMJames Fellows Yates
10/16/2025, 9:21 AMMatthieu Muffato
10/16/2025, 9:24 AM-L is necessary for find to look inside the index directory, because the directory is staged as a symbolic linkJames Fellows Yates
10/16/2025, 9:24 AMJames Fellows Yates
10/16/2025, 9:25 AM-lJames Fellows Yates
10/16/2025, 9:25 AMSamuel G. Huete
10/16/2025, 9:27 AMJim Downie
10/16/2025, 9:28 AMfind is in the container (GNU find?) and WSL/CIFS?James Fellows Yates
10/16/2025, 9:30 AMJames Fellows Yates
10/16/2025, 9:30 AMfindJames Fellows Yates
10/16/2025, 9:31 AMpontus
10/16/2025, 9:31 AMJames Fellows Yates
10/16/2025, 9:32 AMfind command doesn't pick up something inside the linked input folder
2. When we tried to switch to a groovy based system of finding the required file inside the input folder, this also didn't workpontus
10/16/2025, 9:32 AMfind without -L and what ls would give, but I agree it seems a bother having to put paths in those commands.)Jim Downie
10/16/2025, 9:33 AMpontus
10/16/2025, 9:33 AMfind doesn't work (where my first guess would be filenames but that might be wrong).James Fellows Yates
10/16/2025, 9:34 AMpontus
10/16/2025, 9:34 AMJames Fellows Yates
10/16/2025, 9:35 AMls -1 based system worked, which was my inital suggestion and then @Mahesh Binzer-Panchal and @Jim Downie sent me down a deep rabbit hole (🐰 shakefist )Samuel G. Huete
10/16/2025, 9:35 AMls-based option is not okay? It worked perfectly fine for meJames Fellows Yates
10/16/2025, 9:36 AMls in a container, we will have the opposite problem 😅Samuel G. Huete
10/16/2025, 9:36 AMJim Downie
10/16/2025, 9:37 AMls option is less flexible. You need to know that the index directory is called bowtie2 (it might not be), or that the index is a directory (it could be a list of files). You could hypothetically recurse and ignore the name of the index dir, but ls -R spits out something harder to parse.Jim Downie
10/16/2025, 9:38 AMJim Downie
10/16/2025, 9:39 AMpontus
10/16/2025, 9:42 AMSamuel G. Huete
10/16/2025, 10:10 AMfind inside the work directory to troubleshoot a bit the problem before submitting the issue. If I run the following commands within my work directory (/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9) I got: user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find -L ./ -name "*.rev.1.bt2" (empty)
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find ./ -name "*.rev.1.bt2" (empty)
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find bowtie2 -name "*.rev.1.bt2" (empty)
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ ls -ld bowtie2
lrwxrwxrwx 1 user user 143 Sep 22 21:00 bowtie2 -> /mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d/bowtie2
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ readlink -f bowtie2
/mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d/bowtie2
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find ./ -follow -name "*.rev.1.bt2" (empty)Samuel G. Huete
10/16/2025, 10:10 AMpontus
10/16/2025, 10:14 AMfind -L . | grep bowtie2?
And the find without -L would need the place to start looking with a final slash to start there rather than just showing the link (so find bowtie2/ or similar).Samuel G. Huete
10/16/2025, 10:17 AMuser@host:/mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d$ find -L . | grep bowtie2
./bowtie2
./bowtie2/hs1.4.bt2
./bowtie2/hs1.1.bt2
./bowtie2/hs1.2.bt2
./bowtie2/hs1.rev.1.bt2
./bowtie2/hs1.rev.2.bt2
./bowtie2/hs1.3.bt2pontus
10/16/2025, 10:17 AMpontus
10/16/2025, 10:18 AMSamuel G. Huete
10/16/2025, 10:19 AMuser@host:/mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d$ find bowtie2/ -name "*.rev.1.bt2"
bowtie2/hs1.rev.1.bt2pontus
10/16/2025, 10:21 AMSamuel G. Huete
10/16/2025, 10:30 AMuser@host:/mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d$ ls -ld bowtie2/
drwxrwxrwx 2 user user 0 Sep 19 13:34 bowtie2/Samuel G. Huete
10/16/2025, 10:30 AMpontus
10/16/2025, 10:35 AM/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9).
For clarity: it's not turtles all the way down, here you seem to have the task directory for whatever process created the bowtie2 directory.Samuel G. Huete
10/16/2025, 10:37 AMSamuel G. Huete
10/16/2025, 10:42 AMuser@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ ll
total 84
drwxrwxrwx 2 user user 0 Sep 22 21:00 ./
drwxrwxrwx 2 user user 0 Sep 28 03:54 ../
-rwxrwxrwx 1 user user 0 Sep 22 21:00 .command.begin*
-rwxrwxrwx 1 user user 30 Sep 22 21:00 .command.err*
-rwxrwxrwx 1 user user 30 Sep 22 21:00 .command.log*
-rwxrwxrwx 1 user user 0 Sep 22 21:00 .command.out*
-rwxrwxrwx 1 user user 11435 Sep 22 21:00 .command.run*
-rwxrwxrwx 1 user user 1400 Sep 22 21:00 .command.sh*
-rwxrwxrwx 1 user user 0 Sep 22 21:00 .command.trace*
-rwxrwxrwx 1 user user 1 Sep 22 21:00 .exitcode*
lrwxrwxrwx 1 user user 193 Sep 22 21:00 TB007_TB007_EKDN250015205-1A_22VGFWLT4_L6.merged.fastq.gz -> /mnt/NAS/work_03092025/e1/1e28bef4a0a90b176fb0ea1fa93a8a/TB007_TB007_EKDN250015205-1A_22VGFWLT4_L6.merged.fastq.gz*
lrwxrwxrwx 1 user user 143 Sep 22 21:00 bowtie2 -> /mnt/NAS/work_03092025/17/b59594abb9ed2812b4da2225acf49d/bowtie2/
lrwxrwxrwx 1 user user 52 Sep 22 21:00 hs1.fa -> /mnt/NAS/bioinfo_resources/T2T-CHM13_v2.0/hs1.fa*
Second & third commands (finds):
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find -L ./ -name "*.rev.1.bt2" (empty)
user@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find -L . | grep bowtie2
./bowtie2Jim Downie
10/16/2025, 10:43 AMfind -L . in that directory?Samuel G. Huete
10/16/2025, 10:44 AMuser@host:/mnt/NAS/work_03092025/cf/266a7cc6486141a9978677e32eaed9$ find -L .
.
./.command.run
./.command.sh
./.command.log
./.command.begin
./hs1.fa
./TB007_TB007_EKDN250015205-1A_22VGFWLT4_L6.merged.fastq.gz
./bowtie2
./.command.err
./.command.out
./.command.trace
./.exitcode