I've got spacedust working like so:
# preparing input with prodigal from DNA files
find ./input -type f -name "*.fna" | xargs -I {} realpath {} >$fnapathlist
parallel prodigal -i {} -p meta -o {.}.gff -f gff -a {.}.faa :::: $fnapathlist
# making a faa filepathlist, which is just a list of absolute filepaths to each prodigal created faa file
# WARNING: the .tsv suffix is essential
faapathlist="./input/faapathlist.tsv"
find ./input -type f -name "*.faa" | xargs -I {} realpath {} >$faapathlist
# making spacedust DB
spacedust createsetdb \
$faapathlist \
./DB/dname \
./tmp \
--threads 1
This will work fine for me when the number of faa files is less than ~18,000, but anything more than that and I get this error:
Failed to execute ./spacedust/tmp/1662693671576203181/createsetdb.sh with error 7.
This is surprising, since I would have thought passing in a list of filepaths would avoid the ARG_MAX limit, unlike how using ./input/*.faa would.
Is there a way to circumvent this issue? Is this perhaps a bug within the createsetdb.cpp code?
Thanks
I've got spacedust working like so:
This will work fine for me when the number of faa files is less than ~18,000, but anything more than that and I get this error:
This is surprising, since I would have thought passing in a list of filepaths would avoid the ARG_MAX limit, unlike how using
./input/*.faawould.Is there a way to circumvent this issue? Is this perhaps a bug within the
createsetdb.cppcode?Thanks