I'm trying to use PacBio's IPA assembler with my HiFi data, but it has stuck at something that looks like very snakemake-related (the assembler is based on snakemake).
So, I start running it like this:
ipa local --nthreads 8 --njobs 2 -i hifi_reads.bam.fastq.gz
and it dies after just a few seconds saying this:
ValueError in file /home/extioann/Programs/miniconda3/envs/ipa-env/etc/ipa.snakefile, line 57:
Invalid format specifier ' 02d ' for object of type 'int'
File "/home/extioann/Programs/miniconda3/envs/ipa-env/etc/ipa.snakefile", line 59, in <module>
I checked line 57 from the ipa.snakefile
but since I'm not really familiar with Snakemake I can't understand what's wrong (line 57 is the return
statement at the very end):
RULE_COUNT = 0
def prenum():
global RULE_COUNT
RULE_COUNT += 1
assert RULE_COUNT < 100
return f'{RULE_COUNT:02d}-'
I suspect that this is an error that has to do with the specific version of snakemake that I'm running. However, I already downgraded the snakemake version in the conda environment (from 9.X.X to 7.32.0) because IPA was running snakefiles with a parameter that was deprecated in the 9.X.X versions.
Has anyone come across this error? Has anyone used IPA? Because I searched Biostars and there's only one post on IPA and it is from quite some time ago. Moreover, creating issues is apparently not possible at the project's github (there's no issues
tab on top)...
Is there a reason you'd like to use IPA over, for instance, hifiasm? I'd recommend starting with hifiasm.
For pbipa, try downgrading to snakemake 5.19.3 with python 3.7.7.
Thanks! I will try further downgrading snakemake (and python)..
Actually, I have already tried
hifiasm
which worked perfectly (as always!). I just wanted to compare it with IPA (among other assemblers).Completely understand. I hope this helps then!
Just so others know (in case they try) downgrading snakemake/python didn't work for me. In fact, I tried a number of different combinations of versions for snakemake and python, but none of them worked :(